Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Robô para navegação interna supercool

Componentes e suprimentos

Smart Motor Robot Car Bateria Box Chassis Kit DIY Speed ​​Encoder para Arduino
× 1
oblu - uma IMU de código aberto para navegação interna de pedestres
× 1
Tábua de pão sem solda meio tamanho
× 1
Cabos de jumper masculino / feminino
× 1
Capacitor 1000 µF
× 2
Drivers de motor Dual H-Bridge da Texas Instruments L293D
× 1
Arduino Mega 2560
× 1
AA 2800 Ni-MH recarregável
× 1

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)

Aplicativos e serviços online

Arduino IDE
Xoblu

Sobre este projeto





Nossa história:


O projeto consiste em fazer com que o robô se mova em um caminho pré-definido com precisão, sem fazer uso de GPS ou WiFi ou Bluetooth para posicionamento, nem mesmo mapa ou planta de construção. E desenhe seu caminho real (na escala), em tempo real. O bluetooth pode ser usado como um substituto do fio, para transmitir informações de localização em tempo real.





A história de fundo:


Estávamos procurando uma solução robusta para navegação interna de nosso robô baseado em Arduino. Ao escolher a solução de sensor de movimento certa para esta aplicação, também consideramos Oblu (uma IMU de código aberto). Seu baixo custo e sua natureza de código aberto tornavam-no um provável candidato. A parte complicada aqui é que o programa de código aberto do oblu é adequado para Pedestrian Dead Reckoning (PDR) ou Navegação Pedestre, em palavras simples. O desempenho do PDR de Oblu em ambientes internos como uma IMU montada no pé é bastante impressionante. Um grande ponto positivo foi o aplicativo Android gratuito (Xoblu) para seu rastreamento de posição em tempo real. No entanto, não tínhamos certeza de como usar seu algoritmo de navegação para pedestres existente, que é baseado no modelo de caminhada humana.

Os cálculos internos de Oblu são baseados no andar humano. Oblu fornece deslocamento entre duas etapas sucessivas e mudança de direção. Quando o pé entra em contato com o solo, a velocidade da sola é zero, ou seja, a sola fica parada. Desta forma, Oblu detecta 'etapas' e corrige alguns erros internos. E essa correção frequente de erros resulta em um ótimo desempenho de rastreamento. Então aqui está o problema. E se o nosso robô também andasse da mesma maneira - mova, pare, mova, pare ..

Optamos pelo Oblu e em nenhum momento pudemos montar nosso robô e o sistema de rastreamento. O resto da história está no vídeo a seguir ...





Como funciona:


O robô se move em um caminho pré-programado e transmite (por bluetooth) suas informações de movimento reais para um telefone para rastreamento em tempo real.

O Arduino é pré-programado com o caminho e o oblu é usado para detectar o movimento do robô. oblu transmite informações de movimento para o Arduino em intervalos regulares. Com base nisso, o Arduino controla os movimentos das rodas para permitir que o robô siga o caminho predefinido.

O caminho do robô é programado como um conjunto de segmentos de linha reta. Cada segmento de linha é definido por seu comprimento e orientação em relação ao anterior. O movimento do robô é mantido discreto, ou seja, ele se move em linha reta, mas em segmentos menores (vamos chamar de 'passos largos' para simplificar). No final de cada passada, o oblu transmite o comprimento da passada e a extensão do desvio (mudança na orientação) da linha reta para o Arduino. O Arduino corrige o alinhamento do robô a cada etapa do recebimento dessas informações, caso encontre desvio da linha reta pré-definida.

De acordo com o programa, o robô sempre deve se mover em linha reta. No entanto, ele pode se desviar da linha reta e pode caminhar em um determinado ângulo ou caminho enviesado por causa de não idealidades como superfície irregular, desequilíbrio de massa na montagem do robô, desequilíbrio arquitetônico ou elétrico em motores CC ou a orientação aleatória da roda dianteira livre. Dê um passo ... corrija seu rumo ... siga em frente. O robô também se move para trás se viajar mais do que o comprimento programado daquele segmento de linha específico.

O próximo comprimento da passada depende da distância restante a ser percorrida daquele segmento de linha reta em particular. O robô dá passos largos quando a distância a ser percorrida é maior e dá passos menores perto do destino (ou seja, final de cada segmento de linha reta).

IMU Oblu transmite dados para Arduino e telefone (por bluetooth) simultaneamente. Xoblu (o aplicativo Android) realiza alguns cálculos simples para construir o caminho com base nas informações de movimento recebidas do robô, que são usadas para rastreamento em tempo real no telefone. (A construção do caminho usando Xoblu é ilustrada abaixo.)

Em resumo, Oblu detecta movimento e comunica informações de movimento ao Arduino e ao telefone em intervalos regulares. Com base no caminho programado e nas informações de movimento (enviadas pelo oblu), o Arduino controla os movimentos das rodas. O movimento do robô NÃO é controlado remotamente, exceto para comandos de partida / parada.





Modelagem de caminho:


O robô pode ser melhor controlado se andar apenas em segmentos de linha reta. Portanto, o caminho deve ser modelado primeiro como um conjunto de segmentos de linha reta. As imagens abaixo contêm alguns exemplos de caminhos e suas representações em termos de deslocamento e orientação. É assim que o caminho é programado no Arduino.

Da mesma forma, qualquer caminho que seja um conjunto de segmentos de linha reta pode ser definido e programado no Arduino.





Montagem do circuito:


Consulte a seção H / W para conexões elétricas entre Arduino, oblu, driver do motor e pacote de bateria.
  • Protocolo de comunicação:

Etapa 1 :Xoblu envia o comando START para oblu

Etapa 2 :oblu confirma o recebimento do comando, enviando o ACK apropriado para o Xoblu

Etapa 3 :oblu envia pacote de DADOS contendo informações de deslocamento e orientação para cada passada, em cada etapa, para o Xoblu. (etapa =sempre que detecta movimento zero ou parada).

Etapa 4 :Xoblu confirma o recebimento do último pacote de DADOS enviando o ACK apropriado para oblu. (O ciclo das etapas 3 e 4 é repetido até que Xoblu envie STOP. Ao receber o comando STOP, oblu executa a Etapa 5)

Etapa 5 :PARAR - (i) Parar o processamento em oblu (ii) Parar todas as saídas em oblu

Consulte a Nota de Aplicação do oblu para detalhes de INICIAR, ACK, DADOS e PARAR





Como funciona o Oblu IMU (opcional):


Apresentando algumas referências sobre a visão geral de Oblu e princípios básicos de operação de sensores PDR montados no pé:

-> O código-fonte disponível do oblu é direcionado à navegação montada no pé. E é melhor otimizado para esse propósito. O vídeo abaixo cobre seu princípio básico de operação:

-> Aqui estão alguns artigos simples sobre sensores PDR montados no pé:

1. Acompanhe meus passos

2. Continue rastreando meus passos

-> Você pode consultar este documento para obter detalhes sobre o cálculo da morte de pedestres usando sensores de pé.

-> Vídeo a seguir para uma visão geral de Oblu:

----------------

Por favor, compartilhe seus comentários, sugestões e deixe comentários.

Muitas felicidades!

----------------

Código

robô baseado em Arduino
O robô se move em um caminho pré-programado e transmite suas coordenadas atuais para um telefone para rastreamento em tempo real.https://github.com/vijkumsha/oblu_Robot

Esquemas


Processo de manufatura

  1. Robô Raspberry Pi controlado por Bluetooth
  2. Robô Pi Simples
  3. Obstáculos para evitar o robô com servo motor
  4. Joy Robot (Robô Da Alegria)
  5. Robô seguidor de linha
  6. Robô controlado por fala
  7. Robô de piano controlado por Arduino:PiBot
  8. Plataforma de treinamento Arduino
  9. Robô assistente autônomo da casa
  10. Monitoramento de temperatura SMART para escolas