Complexidade de programação
Os robôs podem ser projetados para executar uma ampla gama de tarefas. Algumas destas tarefas são muito simples, como abrir uma porta automática. Outros podem ser muito mais complexos, como um carro autônomo navegando em um ambiente urbano. Não importa quão complexa seja a tarefa, ela pode ser dividida em tarefas mais simples. Essas tarefas são conhecidas como comportamentos e são os blocos de construção da programação robótica.
Um comportamento é uma maneira como um robô age e pode variar em complexidade dependendo de como o robô é construído ou programado. Um robô móvel simples como o VEX V5 Speedbot possui apenas dois motores, enquanto o Clawbot possui quatro motores, incluindo dois motores adicionais para o braço e a garra. Os comportamentos de ambos os robôs envolverão girar esses motores para atingir os objetivos definidos. Com mais design e programação, você pode começar com esse comportamento simples e executar comportamentos mais complexos.
Abaixo está uma lista de comportamentos do robô que vão de simples a complexos tanto para o Speedbot quanto para o Clawbot. Entre parênteses você pode ver os comportamentos mais simples que compõem cada um.
-
Girar um motor atribuído a uma determinada porta
-
Dirija para frente (gire os motores esquerdo e direito usando o trem de força)
-
Viaje 5 metros (dirija em frente e depois pare)
-
Agarre um objeto distante (viaje 2 metros, gire o motor da garra para agarrá-lo)
-
Recupere um objeto e coloque-o em uma prateleira alta (pegue um objeto distante, vire-se, percorra 2 metros, use os motores do braço e da garra para levantar e soltar o objeto)
Você pode ver como pode desconstruir qualquer um dos comportamentos mais complexos em comportamentos mais simples. Estes se tornam os blocos de construção de qualquer tarefa complexa.
Dicas para professores
-
Instrua os alunos a dividir os comportamentos complexos do robô em etapas menores e simples. Este processo é conhecido como decomposição.
-
Explique aos alunos que decompor (dividir) comportamentos complexos em tarefas mais simples é uma parte importante do planeamento e da programação.
-
Permita que os alunos executem seus projetos autônomos se houver tempo de aula suficiente.
Amplie seu aprendizado
Para conectar esta atividade ao pensamento computacional e à decomposição, peça aos alunos que mapeiem, ou listem, as etapas comportamentais que um robô realizaria para completar as atividades abaixo:
-
Atividade Um: Percorra 1 metro e retorne ao ponto inicial.
-
Atividade Dois: Vire uma caixa localizada 60 cm na frente do robô.
-
Atividade Três: Pegue um objeto, sacuda-o, percorra 30 cm, coloque o objeto no chão e retorne ao ponto inicial.
Motivar a discussão
Os alunos devem compartilhar as etapas comportamentais listadas para as atividades do Amplie seu aprendizado acima. Cada uma das perguntas a seguir pode ser feita após qualquer uma ou todas as atividades.
P: Quais etapas ou comportamentos cada grupo listou para concluir esta atividade com sucesso?
A: Os alunos precisarão considerar o comprimento que o robô deve percorrer e o movimento e velocidade do braço, além de listar os comportamentos simples do robô necessários para completar a atividade ou tarefa (dirigir para frente, em marcha à ré, virar à esquerda ou certo). Os alunos devem criar suas listas de comportamentos para que cada etapa seja representada.
P: Quais foram as semelhanças e diferenças entre as soluções (listas de etapas) para esta atividade?
A: Os alunos farão comparações com base nas suas soluções. Um diagrama de Venn pode ser uma boa maneira de organizar as etapas compartilhadas pelos alunos. Se a maioria dos alunos nomear uma etapa específica, adicione-a ao centro onde os círculos se sobrepõem. Se apenas um ou alguns alunos nomearem uma etapa específica, adicione-a a um círculo ou a outro. Quando concluídas, as etapas no centro devem ser confiáveis e simples e incapazes de serem subdivididas, enquanto as etapas listadas em apenas um dos círculos provavelmente não são tão simples quanto poderiam ser. No entanto, esse padrão pode ser revertido dependendo da experiência da turma em dividir comportamentos complexos em etapas mais simples.
P: Houve semelhanças com as soluções bem-sucedidas? Se sim, quais foram?
A: As soluções mais bem-sucedidas foram aquelas que incluíam mais detalhes e especificidade. O robô é programado em uma linguagem com comportamentos muito específicos que foram divididos em seus menores componentes. Por exemplo, pode ser comum dizer que um robô “viaja 1 metro e retorna ao ponto inicial”, mas essa descrição de alto nível não é facilmente traduzida durante a programação. Você tem que dividir ainda mais: avança 1 metro, gira 180 graus e avança 1 metro. Mas mesmo isso pode não ser preciso o suficiente e você precisa deste nível de detalhe para estar pronto para a programação: defina as velocidades de direção e de giro para 40%, avance 1 metro, espere 3 segundos, vire à esquerda 180 graus, espere 1 segundo e siga em frente por 1 metro. Quanto mais detalhamos comportamentos complexos para torná-los comportamentos de robôs prontos para programação, mais bem preparados estaremos para concluir um projeto.