skip to main | skip to sidebar

Web Master

Pages

  • Início

quarta-feira, 13 de abril de 2011

ROBÓTICA para iniciantes nº03

Nos exemplos mostrados anteriormente já foi possível ter uma ideia da várias possibilidades para construção de robôs e que dependendo da sua funcionalidade podem ser empregados os mais diversos tipos de materiais. Na aulas seguintes você irá projetar e construir robôs. Para desenvolver os robôs estará disponível uma interface eletrônica que irá se comunicar com o computador para controlar os servomotores e sensores. Portanto o trabalho nos projetos será a construção e programação das ações do robô.
Uma forma criativa para o desenvolvimento de robôs é a utilização materiais alternativos e reciclados. É possível construir robôs bastante sofisticados e interessantes utilizando materiais como embalagens de isopor, plástico, brinquedos e outros objetos fora de uso, madeira, garrafas plásticas, parafusos, cola, caixas de papelão, entre outros. A figura abaixo mostra alguns desses materiais.

Materiais com aplicação na construção de robôs

Exemplos de robôs

As fotos a seguir exibem alguns robôs criados com os materiais citados anteriormente.

Ferramentas para a construção de robôs

Para a construção dos robôs é preciso dispor de algumas ferramentas e acessórios básicos como alicate, tesoura, chaves de fenda, aplicador de cola quente, fita adesiva, entre outros.

Reconhecer e criar movimentos

A grande maioria dos robôs utiliza motores para executar os movimentos. Como já foi visto anteriormente, os motores dispõem de um eixo que pode girar em um sentido ou outro. Quando o motor gira o eixo para a direita é comum dizer que ele está girando no sentido horário, pois este é o sentido dos ponteiros do relógio; se o motor girar o eixo para a esquerda, diz-se que o movimento foi no sentido anti-horário.
Ao associar o movimento de giro a algumas estruturas mecânicas é possível criar uma infinidade de movimentos que podem ser aplicados aos robôs. Para criarmos as estruturas mecânicas, é importante conhecer um pouco o conceito de máquinas simples.
A palavra máquina desperta a imediata lembrança de um mecanismo complicado, pois nos leva a pensar em algo como um guindaste, um motor de automóvel, a máquina de costura, de escrever, de lavar roupa, ou um robô. Toda máquina, porém, por mais complexa que pareça, não passa de combinações inteligentes de umas poucas peças isoladas, as quais são denominadas por máquinas simples. Do ponto de vista histórico pode ser citada a existência de quatro: alavanca, polia, plano inclinado e roda/eixo.

Toda máquina simples é um dispositivo capaz de alterar uma força (seja em intensidade e/ou direção e/ou sentido) com o intuito realizar uma determinada tarefa. Nesse sentido as máquinas simples encontram aplicação na maioria dos projetos de robótica.
Não é preciso ser engenheiro para construir um dispositivo mecânico, mas a compreensão e a habilidade de lidar com engrenagens, rodas, alavancas irá facilitar o desenvolvimento dos dispositivos robóticos.
Nos exemplos do próximo tópico será demonstrada a montagem de algumas máquinas simples que utilizam materiais comuns. Estas montagens ou associações delas ampliarão as possibilidades de construção de robôs.

Atividade
Como foi visto até o momento, os robôs são constituídos pela integração de componentes como motores, sensores, placas eletrônicas, cabos elétricos e a estrutura mecânica. Nas aulas seguintes, quando forem apresentados os demais elementos do sistema de robóticas, as estruturas mecânicas baseadas em máquinas simples poderão ser integradas aos demais componentes que constituem o robô.
Utilizando os materiais para robótica e o conceito de máquinas simples crie um robô simples. Use suas mãos para gerar os movimentos do seu robô.

O que é um comando

Quando criamos um robô, ele pode ser constituído de motores, sensores e uma estrutura mecânica, contudo ele não realizará nenhuma ação até que enviemos instruções ou comandos indicando o que ele deve fazer. É importante, na fase de projeto, planejar as funcionalidades desejadas para o robô, assim será facilitado o processo de transcrever esses comandos no momento de programá-lo no computador. Por exemplo, se desejamos montar um carro robotizado, devemos planejar as funcionalidades que ele terá e os comandos necessários. Uma sugestão é elaborar um desenho como o da figura abaixo, no qual pode ser visto o esboço do carro robotizado e os comandos necessários para movimentá-lo.
Um outro exemplo, se quisermos projetar um sistema de cancela, semelhante aos encontrados em entradas de shopping centers ou praça de pedágios, com a funcionalidade de abrir e fechar quando o usuário pressiona um botão. Uma solução pode ser como a mostrada nas figuras abaixo.

Usando o computador para enviar comandos

Normalmente, os comandos para o robô devem estar ordenados em um seqüência e transmitidos para os elementos que compõem o robô. Atualmente a forma mais comum de enviar os comandos para o robô é por meio de um computador. Esse computador não precisa ser necessariamente o computador PC que estamos acostumados a ver e utilizar para jogar, escrever textos e acessar a internet. Existem tecnologias como a dos microcontroladores que em apenas um pequeno chip disponibilizam alguns dos recursos de um computador, podendo desse modo ser utilizados para enviar seqüências de comandos para o robô e responder em função dos dados recebidos dos sensores.

Para controlar um robô

Existem várias formas de se controlar um robô utilizando um computador. A mais simples pode ser por meio de um programa como o mostrado na figura abaixo no qual o controle de um manipulador robótico ocorre ao se clicar nos botões.

Controle de robô por meio de um programa com interface gráfica
Essa forma de controle é bastante simples, porém limitada, pois depende de um operador que fique repetindo os comandos de controle. Se imaginarmos uma situação comum na indústria, na qual um manipulador executa milhares de ações, rapidamente pode-se constatar que é necessária uma forma mais eficiente de controlar um robô.
Uma ferramenta da informática particularmente adequada para robótica são as linguagens de programação, ao permitirem a criação de seqüências com comandos que podem ser executados indefinidamente até que um operador interrompa.
As linguagens de programação para robótica variam muito, mas podemos dividi-las em dois grupos: as de programação textual e as icônicas (programação onde o programador não precisa digitar linhas de código, ele facilmente clica e arrasta blocos pré-programados).
Nas de programação textual, como o SuperLogo, que será utilizada nas atividades prática de robótica, os comandos devem ser digitados e em seguida executados. Os comandos do SuperLogo são em português e portanto não apresentam dificuldades no aprendizado.

Outra forma de programação é na qual os comandos são representados por blocos gráficos que são ligados e depois executados. Um exemplo de linguagem de programação com propósito educacional baseada em ícones é a Crocodile Clips.
ATIVIDADES
Elabore para o robô criado na atividade anterior uma seqüência de comandos em português (ex.: ande para frente) a fim de que esse robô execute alguma tarefa. Em seguida, apresente para seus colegas.



O que é a Linguagem Logo

A linguagem Logo é uma linguagem de programação para uso educacional. Ela é utilizada em escolas que vão do ensino fundamental até a universidade em atividades que incluem o aprendizado de programação, matemática, línguas, robótica entre outras.

O criador do Logo, Seymour Papert

O Logo foi desenvolvido em meados da década de 70 por Seymour Papert (external link) e sua equipe no MIT (Massassuchets Institute of Technology) (external link). O propósito dele era criar uma linguagem por meio do qual as crianças pudessem usar o computador para aprender. Como naquela época os computadores eram grandes e limitados, sequer tinham monitores de vídeo como conhecemos hoje, a forma de interação com as crianças era por meio de um teclado e um robô conectado a esse computador que respondia aos comandos enviados pelos alunos executando movimentos. Esse robô era muito parecido com uma tartaruga e até hoje o Logo mantém como símbolo uma tartaruga sendo chamado por muitas pessoas como a linguagem da tartaruga. Com a evolução dos computadores e a chegada dos monitores com alta resolução, foram desenvolvidas versões do Logo em que a tartaruga era representada por um gráfico e os comandos enviados a ela eram representados por deslocamentos na tela do computador.


Tartaruga na tela gráfica do Logo
O Logo, por meio de um conjunto de palavras ou comandos, permite criar seqüências que, ao serem executadas, realizam alguma tarefa como desenhar uma figura, controlar um robô ou tocar uma música. A essa seqüência de comandos chamamos de programas.
Hoje existem várias versões de Logo, como o Micromundos, SuperLogo e o NetLogo (uma versão que funciona na Internet).

O ambiente gráfico do SuperLogo

O SuperLogo é uma versão em português do Logo. Essa versão foi traduzida e adaptada para nossa língua pela Unicamp (Universidade Estadual de Campinas) e distribuída gratuitamente, podendo ser baixada pela Internet e usada sem que precise pagar por isso.
Após a instalação, o SuperLogo aparece no menu inicial do Windows como indicado na figura ao lado. Para carregar clique nesse botão.


Ícone do SuperLogo no Menu do Windows
O SuperLogo é executado no sistema operacional Windows mantendo muitas semelhanças com a forma de utilização de outros programas feitos para esse sistema operacional como processadores de textos e alguns jogos.
Veja, na figura abaixo, a interface gráfica do SuperLogo e as principais funcionalidades disponíveis.


Janela gráfica do SuperLogo

Na Janela Gráfica são executados os movimentos da tartaruga, carregadas as imagens e alteradas as cores de fundo e do traço da tartaruga.
A Caixa de entrada permite que os comandos sejam digitados. Após digitar o comando, o mesmo é executado ao se clicar no botão Executar ou pressionar a tecla Enter.
A Janela listagem de comandos acumula todos o comandos digitados na caixa de entrada. Ao clicar em um comando na Janela de listagem, ele é carregado na Caixa de entrada e pode ser executado novamente. Esse recurso evita que seja necessário digitar comandos que já foram digitados.
Além das Janelas a interface gráfica do SuperLogo dispõem de um conjunto de botões cujas funcionalidades são descritas a seguir:

  • Executar – executa o comando digitado na caixa de entrada
  • Pausa – interrompe a execução do programa que está sendo executado, para prosseguir deve ser digitado o comando continue
  • Parar – finaliza o programa em execução
  • Tat – Limpa a tela gráfica colocando a tartaruga na sua posição inicial
  • Estado – Abre uma janela que mostra o estado de vários parâmetros do SuperLogo
  • Restaurar Janela de Comandos – Apaga o conteúdo da janela listagem de comandos
  • Restaurar janela gráfica – Apaga a janela gráfica restaurando todos os parâmetros da tartaruga gráfica

Comandos Básicos


Mensagem de Erro no SuperLogo
A linguagem SuperLogo tem os seus comandos em português. Contudo eles seguem uma sintaxe que deve ser digitada corretamente, devem ser observados os parâmetros e espaços entre comandos. Se um comando for digitado de forma incorreta ocorre uma mensagem de erro.
Tente digitar uma palavra qualquer e verifique a ocorrência do erro.
Com uns poucos comandos na linguagem SuperLogo é possível realizar ações bastante interessantes. A seguir são apresentados os comandos básicos para controle da tartaruga gráfica na tela.

  • Parafrente – movimenta a tartauga gráfica para frente de ser indicado o numero de passos. Por exemplo: o comando Parafrente 30 faz a tartaruga se deslocar 30 passos.
  • Paradireita – rotaciona a tartaruga para a direita. Deve ser informado um número em graus. Exemplo: Paradireita 90
  • Paratrás - movimenta a tartauga gráfica para trás de ser indicado o numero de passos. Exemplo: Paratrás 50
  • Paraesquerda - rotaciona a tartaruga para a esquerda. Deve ser informado um número em graus. Exemplo: Paraesquerda 90
Veja nas figuras a seguir o exemplos para os comandos parafrente e paradireita respectivamente.

Comando PF 100

Comando PD 90


Fechar
tip Dica
A maioria dos comandos do SuperLogo possuem uma abreviatura, desse modo fica mais fácil digitar os comandos. Veja a abreviatura dos comandos apresentados anteriormente.
Parafrente pode ser escrito como Pf; Paradireita, como Pd;Paratrás, Pt e Paraesquerda, Pe
Exemplo: pt 30
Atividades
  1. Usando os comandos apresentados crie uma seqüência que desenhe um quadrado. Anote os comandos abaixo.
  2. Com os mesmos comandos, crie uma seqüência para desenhar algo como uma casa, uma bicicleta, ou algo de seu interesse.


Ensinando palavras à tartaruga

Vários comandos para a tartaruga podem ser escritos na caixa de entrada e serão executados quando for pressionada a tecla Enter ou o botão Executar for clicado. Observe que entre cada comando deve ser digitado um espaço. Veja um exemplo na figura a seguir.

Exemplo de vários comandos na caixa de entrada

Uma característica do SuperLogo é a possibilidade de criarmos novas palavras para o SuperLogo. Essas palavras normalmente são sequências de comandos que executam determinadas ações. Por exemplo, se digitarmos a palavra triângulo na caixa de entrada e pressionarmos a tecla Enter vamos receber a mensagem “Ainda não aprendi triângulo”.
Para ensinar o SuperLogo a reconhecer a palavra devemos criar um procedimento conforme mostrado a seguir.
Localize na barra de menus superior a opção Procedimento, clique nela e a seguir no menu que abrir clique em Novo. Oriente-se pela figura abaixo.


Como criar um procedimento

Após essas ações será aberta uma janela como a mostrada a seguir.


Tela do editor de procedimentos

Como queremos ensinar ao SuperLogo a palavra triângulo, apague o texto novo_procedimento e insira triângulo. Digite a palavra triângulo da maneira correta, ou seja, com o acento circunflexo ^. A seguir insira os comandos da tabela abaixo entre a linha do aprenda e a linha que contém a palavra fim.


Procedimento triângulo

Use a figura abaixo para se orientar na criação do procedimento.


Edição do procedimento triângulo

Após digitar o procedimento temos que gravá-lo. Para gravar selecione no menu superior Área de Trabalho e no menu que abrir clique em Atualizar. Veja a figura abaixo.


Gravar procedimento

Com o procedimento gravado, podemos sair do Editor de Procedimentos. Clique na opção do menu Área de Trabalho e Sair, conforme mostrado na figura abaixo.


Edição do procedimento triângulo

Agora o procedimento criado é reconhecido como uma nova palavra do SuperLogo e pode ser executado sem mensagens de erro ao ser digitado na caixa de entrada. Veja na figura abaixo.


Edição do procedimento triângulo

Para realizar modificações em um procedimento, o SuperLogo conta com a opção de editar o procedimento. Para acessar essa função clique na opção Procedimento do menu superior e no menu que abrir selecione Editar. Será aberta uma janela com a lista de procedimentos existentes. Clique no procedimento que deseja editar. Use as figuras abaixo para se orientar.


Editar procedimento



Edição do procedimento triângulo

Recursão

O conceito de recursão é muito utilizado quando criamos procedimentos com os comandos para robótica. De forma bem objetiva podemos dizer que a recursão ocorre quando um procedimento faz uma chamada a ele mesmo. Tomemos como exemplo o procedimento triângulo criado anteriormente. Se antes da palavra fim acrescentarmos a palavra triângulo o procedimento irá executar ele mesmo até que se clique no botão Pausa ou no botão Parar. Edite o procedimento triângulo de modo que fique como na tabela abaixo. Foi acrescentado o comando espere e tat que será explicado mais adiante. No momento basta saber que o comando espere realiza um atraso na execução e tat limpa a janela gráfica, facilitando a visualização do que está ocorrendo na janela gráfica.

Inserindo comandos no procedimento triângulo

Mais comandos

O SuperLogo é uma linguagem de programação completa ao oferecer um conjunto extenso de comandos que incluem comandos lógicos, matemáticos, entrada e saída de arquivos, multimídia, controle da tartaruga, tratamento de eventos entre outros. A seguir serão apresentados alguns comandos que podem ser úteis na elaboração de sequências de controle para os dispositivos robóticos que serão projetados.
  • Mostre <objeto>
Comando abreviado: Mo
Função: exibir textos na janela de comandos
Exemplo: Mostre “olá
Obs: para exibir mais de uma palavra separada por espaço, coloque as mesmas entre colchetes
Exemplo: Mostre [Olá tartaruga]

  • Rotule <texto>
Função: exibir textos na janela gráfica
Exemplo: Rotule “SuperLogo
Obs: a exibição ocorre na coordenada e ângulo em que a tartaruga se encontra. Pode ser necessário alterar esses parâmetros da tartaruga para exibir o texto de maneira adequada
Exemplo: tat pd 90 rotule “tartaruga

  • Atribua <palavra> <objeto>
Comando abreviado: atr
Função: designa a uma palavra e atribui a ela um valor que pode ser numérico ou texto
Exemplo: atribua “rio “tiete
Obs: para utilizar a variável na exibição ou outra ação a mesma deve estar precedida do caractere:
Exemplo: atribua “rio “tiete mostre :rio

  • Espere <numero>
Função: Provoca uma pausa entre um comando e outro especificado pelo valor de <numero>. Cada unidade corresponde a 1/60 de segundo. Portanto se quisermos a pausa de 1 segundo entre um comando e outro o valor par <numero> deve ser 60.
Exemplo: pd 90 espere 120 pd 90
Obs: este comando tem aplicações em robótica quando for desejável aguardar a execução de um movimento pelo robô antes de executar outro comando.

  • Repita <número> <lista>
Função: executa a lista de comando a quantidade de vezes indicada em <número>
Exemplo: repita 10 [pd 20 espere 60]

  • Se <condição> <lista>
Função: comando que testa se condição é verdadeira e caso seja executa a lista de comandos
Exemplo: atr "meuvalor 1 se :meuvalor=1[ mostre "certo]
Comentário: Neste exemplo é atribuído o valor 1 a variável meuvalor em seguida o comando “Se” testa se a variável meuvalor vale 1, como é verdade é executado o comando entre os colchetes.
Obs: o comando “Se” será muito utilizado ao desenvolver robôs que utilizam sensores. É ele que ira testar o estado dos sensores e executar ações.

  • Soma <numero1> <numero2>
Função: realiza a operação de soma dos números especificados
Exemplo: mostre soma 3 6

  • Apareçatat
Comando abreviado: at
Função: Faz a tartaruga aparecer na tela
Exemplo: at

  • Desapareçatat
Comando abreviado: dt
Função: Faz a tartaruga desaparecer na tela, tornando-a invisível.
Exemplo: dt

  • Mudecl <vetor de cor>
Função: define a cor do traço da tartaruga. Devem ser passados três valores que podem variar de 0 a 255 que representam a intensidade de vermelho, verde e azul respectivamente. A combinação desses valores permite a criação de uma ampla faixa de cores.
Exemplo: mudecl [255 000 000]
mudecl [000 255 000]
mudecl [190 65 32]

  • Mudecp <vetor de cor>
Função: define a cor para preenchimento do fundo da tela gráfica. Devem ser passados três valores que podem variar de 0 a 255 que representam a intensidade de vermelho, verde e azul respectivamente. As cores funcionam de modo semelhante ao comando Mudecl.
Exemplo: mudecp [000 255 000] pinte

  • Uselápis
Comando abreviado: ul
Função: Executa um traço sempre que a tartaruga é movimentada. Esta é a condição padrão do SuperLogo.
Exemplo: ul pf 50

  • Usenada
Comando abreviado: un
Função: A tartaruga não executa um traço quando é movimentada.
Exemplo: un pf 50

  • Circunferência <raio>
Função : Desenha um circulo com o raio indicado em <raio>
Exemplo: circunferência 50

  • Pinte
Função: Pinta uma região da janela de desenho que contém a tartaruga e delimitada por linhas que tinham sido desenhadas anteriormente.
Exemplo: mudecp [000 000 255] circunferência 30 pinte

Comandos para imagens, sons

O SuperLogo dispõem de recursos para trabalhar com arquivos multimídia como sons e imagens. Esse comandos permitem carregar e executar esses arquivos. A seguir são descritos alguns desses comandos.
  • Carreguebitmap <arquivo >
Função: carrega o arquivo bitmap (.bmp) nas posição das coordenadas da tartaruga.
Exemplo: carreguebitmap "c:\\imagens\\robo.bmp

  • Carreguegif <arquivo >
Função: carrega o arquivo gif (.gif) nas posição das coordenadas da tartaruga.
Exemplo: carreguegif "c:\\imagens\\robo.gif

  • Toquewave <arquivo> <sinalizadores>
Função: carrega e reproduz arquivos de som wav (.wav). O sinalizador 0 aguarda a reprodução finalizar para executar o próximo comando, enquanto o sinalizar 1 inicia a reprodução e vai para o próximo comando
Exemplo: Toquewave “c:\\temp\\tada.wav 1

Fechar
tip Dica
O arquivo de ajuda do SuperLogo, acessível a partir do menu superior, contém todos os comandos, a sintaxe dos mesmos e exemplos de utilização. A ajuda é um recurso que pode ser utilizado para tirar dúvidas de comandos conhecidos e para a descoberta de novos comandos que atendam alguma funcionalidade desejada.
Atividade
  1. Crie um programa com o SuperLogo que integre os comandos para reprodução de arquivos de som e a carga de imagens na tela gráfica.


O que é a interface para robótica




O computador envia um comando para a Placa Interface
Como já vimos, para que o robô criado realize algum tipo de ação, ele precisa receber os comandos que irão acionar os motores e obter os dados dos sensores. Contudo, o computador não tem recursos para diretamente acionar motores e sensores. Para que esses acionamentos possam ocorrer é preciso de um dispositivo eletrônico que receba as instruções do computador e converta em sinais elétricos capazes de acionar os mais diversos tipos de motores e receber os dados que indicam o estado dos sensores. São as interfaces eletrônicas que realizam essa função. Por exemplo, quando é enviado um comando para ligar determinado motor no robô, o computador, por meio de um comando, indica qual motor será acionado e um parâmetro indica se o mesmo deverá ser ligado ou desligado. Esse comando é encaminhado para o computador por meio da porta paralela, serial ou USB.

Envio de comando para receber a situação do sensor

Ao receber esse comando a interface faz a decodificação e realiza o acionamento. Para ler o estado de um sensor, o computador envia um comando para leitura do sensor. A interface recebe o comando, efetua a leitura do sensor e envia de volta ao computador para que a informação do estado do sensor possa ser processada.
Existem os mais diversos tipos de interfaces, algumas para aplicações industriais que acionam grandes motores, outras utilizadas por cientistas geralmente muito precisas, e outras utilizadas para entretenimento e aprendizado. Podemos dizer que, ainda que as aplicações e recursos possam variar muito, todas seguem os princípios descritos anteriormente.

Como funciona

Default POP1 POP2A POP2U POP2A-ZigBot
Para desenvolver os projetos de robótica, é necessário o uso de uma Placa de Interface que receba comandos do computador e comande os motores, as luzes, os relés, e retorne o estado de chaves, sensores analógicos e digitais, ou seja, dispositivos que irão compor o equipamento. Clicando em uma das interfaces do menu ao lado, você terá as instruções detalhadas para trabalhar com o SuperLogo e a placa selecionada. Outras linguagens também podem ser utilizadas. [|Veja aqui]


Fechar
tip Dica
O arquivo de ajuda do SuperLogo, acessível a partir do menu superior, contém todos os comandos, a sintaxe dos mesmos e exemplos de utilização. A ajuda é um recurso que pode ser utilizado para tirar dúvidas de comandos conhecidos e para a descoberta de novos comandos que atendam alguma funcionalidade desejada.
Atividade
  1. Crie um programa com o SuperLogo que integre os comandos para reprodução de arquivos de som e a carga de imagens na tela gráfica.
Postado por Web Master às 9:46:00 AM Enviar por e-mail Postar no blog! Compartilhar no X Compartilhar no Facebook

0 comentários:

Postar um comentário

Postagem mais recente Postagem mais antiga Página inicial

Blog Archive

  • ▼  2011 (5)
    • ▼  abril (5)
      • CARRO Nº3 ROV‏ (Veículo Operado Remotamente)
      • CARRO Nº2 Projeto de Robô seguidor de Luz‏
      • ROBÓTICA para iniciantes nº03
      • ROBÓTICA para iniciantes nº02
      • ROBÓTICA para iniciantes nº01

Followers

Web Master. Tecnologia do Blogger.

Avalie o nosso blog

Total de visualizações de página


Pesquisar neste blog

Inscreva-se

Postagens
Atom
Postagens
Comentários
Atom
Comentários
 
Copyright (c) 2010 Web Master. Designed for ganhar dinheiro