Portfolio MEEC 1 Aula 3 Programação. LEGO NXT-G Objectivo Introdução à programação do LEGO NXT-2, que será usado no lab.
Portfolio MEEC 2 O que é um programa de computador? Conjunto de instruções que visam atingir um objectivo Linguagens de programação (PASCAL, C, VISUAL BASIC, PYTHON, FORTRAN, MATLAB...) Interfaces gráficas para a descrição de um programa o No LEGO NXT-G cada instrução corresponde a um bloco. o Estas instruções podem ser dadas por palavras. Ex: o Coloque os motores a funcionar a 75% da potência o Espere até que o sensor de distância seja actuado.
Portfolio MEEC 3 Fluxogramas Podemos representar um programa por um Fluxograma: Início Accionar os motores Sensor actuado? Não Sim Fim (o motor pára no fim do programa)
Portfolio MEEC 4 Ciclos: As instruções dentro do ciclo são repetidas Início Accionar os motores Sequência de instruções Ciclo Sensor actuado? Sim Não Decisão (switch) Parar os motores
Portfolio MEEC 5 Decisão lógica associada ao estado do sensor (actuado / não actuado) Início Sim Sensor detectou objecto? Não Pára motor Arranca motor
Portfolio MEEC 6 Seguimento de uma fita preta em fundo branco com o NXT C B Muito branco, acelera esquerdo Muito preto, acelera direito
Portfolio MEEC 7 Fluxograma Seguimento da fita Sim Sbranco ==1? Não C=75 C=10 C=10 C=75
Portfolio MEEC 8 Programa para seguir uma fita com o NXT
Portfolio MEEC 9 Modificação para parar frente a um obstáculo Sim Sbranco ==1? Não C=75 C=10 C=10 C=75 Sobstaculo ==1? Não Sim C=0, B=0
Portfolio MEEC 10 Resultado final http://www.youtube.com/watch?v=wzhzre4vlii&feature=em-upload_owner Este video mostra o resultado de um projecto de seguimento de uma fita com o NXT que será desenvolvido no laboratório. Problemas com o programa? Podemos melhorá-lo?
Portfolio MEEC 11 Estruturas de programação Sequências de instruções o Uma instrução é executada após a outra. Decisões o Dependendo de uma condição (por exemplo o resultado da leitura de um sensor), é executada uma ou outra instrução Ciclos o Há um conjunto de instruções que é executado repetidamente.
Portfolio MEEC 12 Programas Definição dos objectivos (especificações) o Qual o objectivo do programa (ex. Um programa que faça o robot andar até encontrar um obstáculo). Descrição do programa o Quais os blocos de instruções que constituem o programa por forma a atingir os objectivos. Usado em conjunto com o fluxograma. Desenvolvimento do programa Verificação do programa o Conjunto de ensaios que são feitos com o programa para mostrar que as especificações são atingidas.
Portfolio MEEC 13 Exemplo: KIVA systems http://raffaello.name/dynamic-works/kiva-systems KIVA systems fundada nos USA por 3 professores universitários. Motivação: Desenvolver rapidamente armazéns automáticos Em 2009: 163 empregados. Em Agosto de 2015: adquirida pela Amazon por 775 M$; Passou a chamar-se Amazon Robotics.
Portfolio MEEC 14 Exercício da aula 3 Programa em GULOGANDIO Desenhar o fluxograma e escrever um programa para ir de A a B. Supor que em B há uma parede Instruções permitidas: Enquanto <condição> entao <acção> Condições: S==1, S==0 F: Põe o motor em movimento enquanto o programa está em execução. D: Vira 90º direita e pára E: Vira esquerda 90º e pára Stop: Pára motor Supõe-se que o robot avança alinhado com as paredes laterais. x A x B Números de aluno ímpares