Robótica Móvel - Robotino 28.12.2009 1
Robótica Móvel - Robotino Portas USB, Serial Ethernet Entradas e Saídas Digitais e Analógicas Cartão de Memória 28.12.2009 2
Robótica Móvel - Robotino Motor com encoder Sensor anti-colisão Sensores ópticos analógicos detecção de 4 a 30cm 28.12.2009 3
Robótica Móvel - Robotino Display LCD Led indicador Scroll para cima Liga/Desliga Enter Retorna ao menu anterior Scroll para baixo 28.12.2009 4
Primeiro contato com o Robotino Ligue o controlador; Verifique o endereço de IP no display; Selecione a linguagem em inglês; Utilize as setas para rolar o Menu e Enter para selecionar a opção desejada; Vá até a opção Demo e selecione a opção Circle. Verifique se todas as rodas estão em funcionamento. Caso contrário reinicie o controlador; Teste os programas Demo, selecionando alguns deles e verifique o comportamento do Robotino em cada caso O programa demonstração Line follow utiliza a câmera e necessita um piso claro onde exista uma linha desenhada; 28.12.2009 5
Robótica Móvel - Robotino Retire a parte superior de comando do Robotino; Verifique a parte mecânica e elétrica; Desmonte a parte elétrica e mecânica; Faça todas as anotações necessárias para poder remontar posteriormente; Observe atentamente as conexões elétricas dos motores; Identifique e relacione as peças para sua informação; 28.12.2009 6
Robótica Móvel - Robotino Motor DC (GR 42x25) Voltagem nominal 24 VDC Velocidade nominal 3600 RPM Torque nominal 3,8 Ncm 3.8 Corrente nominal 0,9 A Starting torque Ncm 20 Velocidade sem carga 4200 RPM 1 Motor DC 2 Encoder 3 Rodas Omnidirecional 4 Caixa de engrenagem 5 Correia dentada 28.12.2009 7
Robótica Móvel - Robotino 28.12.2009 8
Primeiro contato com o Robotino Ligue o controlador; Verifique o endereço de IP no display; Selecione a linguagem em inglês; Utilize as setas para rolar o Menu e Enter para selecionar a opção desejada; Vá até a opção Demo e selecione a opção Circle. Verifique se todas as rodas estão em funcionamento. Caso contrário reinicie o controlador; Teste os programas Demo, selecionando alguns deles e verifique o comportamento do Robotino em cada caso O programa demonstração Line follow utiliza a câmera e necessita um piso claro onde exista uma linha desenhada; 28.12.2009 9
Controle Remoto com o Software Robotino View. Instale the software Robotino View; Siga os passos da instalção até o final Você deve fazer a instalação num computador com placa Ethernet WiFi Inicie o controlador do Robotino. Será criada uma rede WLAN network chamada Robotino x.x Faça os ajustes de configuração da rede Wireless no computador selecione a opção de configuração automática da rede selecione endereçamento automático de IP Busque as redes WLAN disponíveis. Selecione a rede Robotino x.x Conecte nessa rede Inicialize o Robotino Abra o software Robotino View e selecione no menu File -> New -> Function block program Ajuste o endereço de IP Address correto e click no ícone connection para se conectar com o controlador 28.12.2009 10
Robotino View 1 Barra do Windows; 2 Barra de Ferramentas para criar e salvar novos programas, para iniciar, pausar e parar a execução de programas. Um duplo clique no botão Stop, provoca a parada de todos os programas ativos; 3 Inserção do endereço IP do robô a ser controlado; 4 Botão para estabelecer ou cortar a comunicação online com o controlador do robô; 28.12.2009 11
Robotino View 5 Biblioteca com todos os blocos de função; 6 Display dos dados de funcionamento durante o acesso remoto; 7 Acesso a parâmetros individuais internos do blocos de função; 8 Clicando no bloco de função, uma nova janela será mostrada com os parâmetros correspondentes de cada bloco; 9 Status t do sistema; 10 Listagem de valores e parâmetros do programa; 11 Área de programação; 12 Barra de navegação dos programas; 28.12.2009 12
Programação Básica Você pode encontrar no item Help uma descrição de funcionamento de todos os blocos utilizados na programação com Robotino View Criar um novo programa Carregar um programa existente t Inserir blocos de função num programa Estabelecer a conexão entre os blocos de função Executar um programa Estabelecer a conexão com o Robotino Selecionar blocos de função a partir da biblioteca Existem diversos programas exemplos armazenados na memória do controlador do Robotino, além de alguns exemplos no item Help 28.12.2009 13
Tarefa 1: Controle do Motor Inicie o Robotino View Abra um novo programa e nomeie Estabeleça a conexão com o Robotino Click e arraste o bloco de função Constant na pasta Generator Click e arraste o bloco de função Motor na pasta Robotino Hardware conecte o bloco Constant à posição Velocidade do bloco do Motor; Altere o valor da constante e verifique o giro da roda Velocidade (nr. pulsos/ ms) Prioridade: default = 1 Reset Freio Velocidade atual Posição relativa (contagem de incrementos) Corrente do motor em ma número de incrementos do encoder/revolução = 2048 28.12.2009 14
Controle de Movimentos Tarefa - Pare o motor após uma revolução completa da roda. Observe que o motor deve ser parado quando o valor de incrementos chegar a 16 x 2048 = 32.768 incrementos (16 por conta da taxa de transmissão) Conecte a segunda saída do bloco Motor com a primeira entrada do bloco Compare. Insira um bloco Constant com o valor total de incrementos. Insira outro bloco Constant, para fazer o Reset. Este reset irá zerar a contagem de incrementos. Verifique os resultados, alterando a velocidade aplicada sobre o motor. 28.12.2009 15
Controle de Movimentos O movimento do Robotino pode ser feito em qualquer direção, a partir do acionamento sincronizados dos motores 28.12.2009 16
Controle de Movimentos Motor 1 Motor 2 Motor 3 Direção do Movimento Positivo Positivo Positivo Movimento no sentido anti-horário, sem deslocamento lateral Positivo Positivo Desligado Movimento no sentido horário com pequeno raio Positivo Positivo Negativo Movimento no sentido horário com grande raio Positivo Desligado Positivo Movimento no sentido horário com pequeno raio Positivo Desligado Desligado Movimento no sentido horário com raio médio Positivo Desligado Negativo Deslocamento a 300 graus Positivo Negativo Positivo Movimento no sentido horário com grande raio Positivo Negativo Desligado Deslocamento a 0 graus Positivo Negativo Negativo Movimento no sentido anti-horário com grande raio 28.12.2009 17
Controle de Movimentos Motor 1 Motor 2 Motor 3 Direção do Movimento Desligado Positivo Positivo Movimento no sentido horário com pequeno raio Desligado Positivo Desligado Movimento no sentido horário com raio médio Desligado Positivo Negativo Deslocamento a 240 graus Desligado Desligado Positivo Movimento no sentido horário com raio médio Desligado Desligado Desligado Parado Desligado Desligado Negativo Movimento no sentido anti-horário com raio médio Desligado Negativo Positivo Deslocamento a 60 graus Desligado Negativo Desligado Movimento no sentido anti-horário com raio médio Desligado Negativo Negativo Movimento no sentido anti-horário com pequeno raio 28.12.2009 18
Controle de Movimentos Motor 1 Motor 2 Motor 3 Direção do Movimento Negativo Positivo Positivo Movimento no sentido horário com grande raio Negativo Positivo Desligado Deslocamento a 180 graus Negativo Positivo Negativo Movimento no sentido anti-horário com grande raio Negativo Desligado Positivo Deslocamento a 120 graus Negativo Desligado Desligado Movimento no sentido anti-horário com raio médio Negativo Desligado Negativo Movimento no sentido anti-horário com pequeno raio Negativo Negativo Positivo Movimento no sentido anti-horário com grande raio Negativo Negativo Desligado Movimento no sentido anti-horário com pequeno raio Negativo Negativo Negativo Movimento no sentido horário, sem deslocamento lateral 28.12.2009 19
Controle de Movimentos Arraste mais dois blocos Motor e dois blocos Constant Conecte os blocos Motor e Constant Configure na janela Motor, os três motores para aturem de forma independente; Insira valores nos blocos Constant e movimente o Robotino em diferentes direções conforme a tabela fornecida. Movimente o Robotino lateralmente utilizando a relação (v, -2v, v) e (-v, 2v, -v) 28.12.2009 20
Controle do Motor - Closed Loop Control O bloco Motor possui controle PID para acionamento dos motores em malha fechada Duplo click Na janela correspondente você tem acesso aos valores de PID kp = Proporcional valor de PID controle kj = Integral valor de PID controle kd = Diferencial valor de PID controle 28.12.2009 21
Bloco de Função - Generator Blocos geradores de função: Onda quadrada, senoidal, triangulo, valor constante e tempo Altera a função de saída Altera o nome clicando em Apply A = Amplitude -> velocidade do motor F = frequência ( = Hz = numero de sinais/seg ) Pw = tempo do sinal ( ms ) 28.12.2009 22
Bloco de Função - Scope Osciloscópio Três canais de visualização, permite o ajuste da escala do canal, do tempo, etc.. 28.12.2009 23
Tarefa 2: Closed-Loop Control Altere os parâmetros de PID para o controle em malha fechada dos motores Monte o circuito para observar o comportamento do Robotino. Altere a amplitude, a frequencia e o tempo do sinal de ( Pw); Altere os parâmetros de PID do controlador do motor e visualize o comportamento do Robotino; 28.12.2009 24
Bloco de Função Omnidrive i Entrada: vx set (mm/seg) vy set (mm/seg) Rot set (graus/seg) ) Entrada: v1 velocidade atual do motor v2 velocidade atual do motor v3 velocidade atual do motor Saída: v1 set (p/ms) v2 set (p/ms) v3 set (p/ms) Saída: vx velocidade atual direção x v2 velocidade atual direção y v3 velocidade rotacional atual 28.12.2009 25
Tarefa 3: Controle de Movimentos com Omnidrive i Monte os circuitos sugeridos para entender o funcionamento do Bloco Omnidrive Movimento na direção X 28.12.2009 26
Tarefa 3: Controle de Movimentos com Omnidrive i Movimento na direção Y 28.12.2009 27
Tarefa 3: Controle de Movimentos com Omnidrive i Movimento no sentido horário ou anti-horário 28.12.2009 28
Painel de Controle e Joystick O Painel de Controle e o Joystick permitem que o Robotino seja movimentado remotamente sem a execução de um programa específico. Para o Joystick deve ser selecionado para cada botão, o respectivo comando de execução de movimento. No painel de Controle a velocidade d é ajustada no slide inferior. O controle é totalmente manual, bastando montar um circuito como mostrado abaixo. Saída: vx = movimento na direção X vy = movimento na direção Y Omega = rotacional 28.12.2009 29
Tarefa Movimentar o Robotino a uma distância fixa Robotino deve se deslocar a uma distância de 1 metro do ponto de partida Ajuste a velocidade para 100 mm/s. Ajuste o tempo para 10 segundos (10000) Inicie o programa e o relógio. Verifique a precisão do movimento e faça eventuais ajustes de parâmetros. 28.12.2009 30
Tarefa Movimentar o Robotino a uma distância fixa 28.12.2009 31
Movimentar o Robotino ao redor de obstáculo Objetivo da tarefa Movimento em várias direções Funcionamento de sensores so es de distância Sensores aplicados para controle Área de trabalho Vamos colocar um objeto cilindrico, diâmetro aproximado de 200mm e altura mínima de 150mm. O Robotino deve mover-se ao redor do objeto, mantendo a câmera voltada para o objeto, mantendo a orientação. 28.12.2009 32
Movimentar o Robotino ao redor de obstáculo 28.12.2009 33
Movimentando ao redor de obstáculo 28.12.2009 34
Tarefa - Seguir uma linha no piso O Robotino deverá seguir uma linha feita com fita não metálica, utilizando o sinal dos sensores ópticos Área de Trabalho Monte os sensores ópticos conforme instruções Marque o caminho no piso, com a fita não metálica Ajuste a sensibilidade dos sensores, de forma a obter o sinal com precisão A estratégia pode ser a seguinte: Robotino movimenta-se para frente; Se o sinal do sensor da direita é alto, mova o Robotino para a esquerda; Se o sinal do sensor da esquerda é alto, mova o Robotino para a direita; Parâmetros: o sinal dos sensores deve ser usado para definir os limites direita/esquerda; o movimento de rotação do Robotino deve estar associado aos limites velocidade de avanço 28.12.2009 35
Conexão do sensor óptico 2 Conexão do sensor óptico 1 28.12.2009 36
28.12.2009 37
Tarefa - Seguir uma linha no piso O Robotino deverá seguir uma linha feita com fita metálica, utilizando o sinal do sensor indutivo Área de Trabalho Monte o sensor indutivo conforme instruções Marque o caminho no piso, com a fita metálica Ajuste a sensibilidade do sensor, de forma a obter o sinal com precisão A estratégia pode ser a seguinte: Robotino movimenta-se para frente; Se o sinal do sensor é alto, mova o Robotino para a direita; Se o sinal do sensor estiver baixo, mova para a esquerda; Parâmetros: o sinal do sensor deve ser usado para definir os limites máximo e mínimo; o movimento de rotação do Robotino deve estar associado aos limites velocidade de avanço 28.12.2009 38
Montagem do Sensor Indutivo Posição de montagem do sensor indutivo 28.12.2009 39
Conexão do sensor indutivo 28.12.2009 40
Tarefa 5: Solução 1 28.12.2009 41
Tarefa 5: Solução 2 28.12.2009 42
Tarefa 5: Solução 3 28.12.2009 43
Tarefa 6 Introdução ao Processamento de Imagem Imagem da câmera em tempo real Seleção de borda do objeto a ser monitorado. A busca pode ser feita na parte inferior da imagem. Pode ser definida id uma área do objeto para utilização na lógica do programa O bloco LineDetector determina a coordenada X da borda da linha 28.12.2009 44
Tarefa 6 Seguir uma linha usando Processamento de Imagem Usando o Processamento de Imagens Conecte o cabo USB da câmera a uma das portas do controlador; Desenhe um caminho no piso, usando uma fita colorida (num piso branco a fita preta dá um excelente contraste); Posicione o Robotino de forma que a câmera possa visualizar a linha no piso; Abra um novo programa e selecione os blocos Camera e Line Detector; Duplo click para visualizar as imagens, acompanhe a cruz vermelha, na parte inferior; Desenvolva o programa, usando como estratégia de controle, manter a linha no centro da imagem; 28.12.2009 45
Tarefa 6 Seguir uma linha usando Processamento de Imagem Rodando a aplicação A estratégia de controle é manter a linha no centro da câmera 28.12.2009 46
Reconhecimento de Objeto por Imagem Seleção de padrão de cores Ajuste a intensidade da cor, para uma definição melhor do objeto selecionado; O Bloco Extractor irá calcular as coordenadas do centro e a área do objeto selecionado; Segmento detectado 28.12.2009 47
Definindo i a Forma Colorida Usando a imagem da câmera selecione na caixa Camera os parâmetros para a área colorida, canal, resolução gráfica e qualidade. Seqüência para definição do segmento de cor a ser definido Click no símbolo da câmera para permitir a definição dos parâmetros; No lado direito da caixa Segment Extractor escolha o padrão circular ou retângulo para marcar o segmento colorido; Use o mouse para definir i um segmento adequado d da imagem da câmera no bloco Extractor; Utilize a seta (->) para gravar o segmento de cor selecionado; É possível adicionar a outros os segmentos e de cor; 28.12.2009 48
Reconhecimento do Objeto Bloco Segment Extractor Saída - Coordenadas x, y do centro do segmento selecionado - Área do segmento visualizado (definido pelo número de pixels) - 0 se o segmento não for detectado e 1 se for detectado 28.12.2009 49
Reconhecimento do Objeto 28.12.2009 50