Índice:

Navegar no robô com sensores de sapato, sem GPS, sem mapa: 13 etapas (com fotos)
Navegar no robô com sensores de sapato, sem GPS, sem mapa: 13 etapas (com fotos)

Vídeo: Navegar no robô com sensores de sapato, sem GPS, sem mapa: 13 etapas (com fotos)

Vídeo: Navegar no robô com sensores de sapato, sem GPS, sem mapa: 13 etapas (com fotos)
Vídeo: Expectativa x realidade. E você lindona, Opção 1 ou 2? 2024, Julho
Anonim

Por obluobluFollow Sobre: oblu é um sensor de navegação interno Mais sobre oblu »

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.

Etapa 1: UMA BREVE INTRODUÇÃO

UMA BREVE INTRODUÇÃO
UMA BREVE INTRODUÇÃO

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.

Etapa 2: A HISTÓRIA DE FUNDO INTERESSANTE

A HISTÓRIA DE FUNDO INTERESSANTE
A HISTÓRIA DE FUNDO INTERESSANTE

A agenda principal da nossa equipe é desenvolver sensores de navegação para pedestres montados em sapatos. No entanto, fomos abordados por um grupo de pesquisa acadêmica com a necessidade de navegarmos em ambientes fechados do robô e monitorarmos simultaneamente sua posição em tempo real. Eles queriam usar esse sistema para mapear a radiação em uma câmara fechada ou detectar vazamento de gás em uma instalação industrial. Esses lugares são perigosos para os seres humanos. procurando uma solução robusta para navegação interna de nosso robô baseado em Arduino.

Nossa escolha óbvia para qualquer módulo de sensor de movimento (IMU) foi "oblu" (imagem acima). Mas a parte complicada aqui era que o firmware existente do oblu era adequado para Pedestrian Dead Reckoning (PDR) ou Pedestrian Navigation, em palavras simples. O desempenho do PDR da oblu em ambientes internos como uma IMU montada no pé é bastante impressionante. A disponibilidade do aplicativo Android (Xoblu) para rastreamento em tempo real do oblu como sensor de calçados aumenta a vantagem. No entanto, o desafio era fazer uso do algoritmo existente, baseado no modelo de caminhada humana, para navegar e monitorar o robô.

Etapa 3: UMA BREVE INTRODUÇÃO AO "oblu"

Image
Image
DESCRIÇÃO DO SISTEMA
DESCRIÇÃO DO SISTEMA

"oblu" é uma plataforma de desenvolvimento miniaturizada, de baixo custo e código-fonte voltada para aplicações de detecção de movimento vestíveis. É operável por bateria recarregável de íon de lítio e permite o carregamento da bateria USB integrada. Possui um módulo Bluetooth (BLE 4.1) integrado para comunicação sem fio. "oblu" hospeda um microcontrolador de ponto flutuante de 32 bits (AT32UC3C da Atmel) que permite resolver equações de navegação complexas a bordo. Portanto, executa-se todo o processamento do movimento no próprio oblu e transmite apenas o resultado final. Isso torna a integração do oblu com o sistema associado extremamente simples. "oblu" também hospeda a matriz multi-IMU (MIMU), que permite a fusão do sensor e aprimora o desempenho do sensor de movimento. A abordagem MIMU aumenta a singularidade do "oblu".

os cálculos internos do oblu são baseados no andar humano. oblu fornece deslocamento entre duas etapas sucessivas e mudança de direção. Como - quando o pé entra em contato com o solo, a velocidade da sola é zero, ou seja, a sola está parada. Desta forma, o 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. O que aconteceria se nosso robô também andasse da mesma maneira - mova, pare, mova, pare … De fato, oblu poderia ser usado para qualquer objeto cujo movimento tenha momentos regulares zero e diferentes de zero. Assim avançamos com oblu e em nenhum momento pudemos montar nosso robô e o sistema de rastreamento.

Etapa 4: QUAL A ÚTILIDADE DO "oblu"?

Passamos quase 70% do nosso tempo dentro de casa. Portanto, existem muitas aplicações que requerem navegação interna de humanos e máquinas. A solução de posicionamento mais comumente usada é o GPS / GNSS baseado em satélite, que é bom para navegação externa. Ele falha em ambiente interno ou em ambiente urbano que não são acessíveis ao céu claro. Essas aplicações são geo-levantamento de favelas ou áreas sob copas de árvores densas, navegação interna de robôs, posicionamento de agentes de resgate para combate a incêndios, acidentes de mineração, guerra urbana, etc.

O predecessor do oblu foi introduzido como um sensor de sapato muito compacto (ou um sensor PDR) para o posicionamento de bombeiros, que mais tarde foi atualizado e modificado como uma plataforma de desenvolvimento altamente configurável para os fabricantes que buscam uma solução fácil e precisa. solução de sensoriamento inercial acessível para navegação interna de humanos e também de robôs. Até agora, os usuários do oblu demonstraram suas aplicações no rastreamento de pedestres, segurança industrial e gerenciamento de recursos, policiamento tático, geo-levantamento de área desprovida de GPS, robô de navegação automática, robótica assistiva, jogos, AR / VR, tratamento de distúrbios do movimento, compreensão da física de movimento, etc. oblu é adequado para aplicações com restrições de espaço, por exemplo detecção de movimento vestível. Também pode ser usado como uma IMU sem fio, graças ao Bluetooth integrado. A presença de capacidade de processamento de ponto flutuante on-board, junto com quatro conjuntos de IMUs, torna possível a fusão de sensores e o processamento de movimento dentro do próprio módulo, o que por sua vez resulta em detecção de movimento muito precisa.

Etapa 5: A HISTÓRIA DO PROJETO

Image
Image

A história desse projeto está no vídeo…

Etapa 6: DESCRIÇÃO DO SISTEMA

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 predefinida. Conforme 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 o 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 em particular. O próximo comprimento da passada depende da distância restante a ser percorrida daquele segmento de linha 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). oblu transmite dados para Arduino e telefone (por bluetooth) simultaneamente. Xoblu (o aplicativo Android) executa 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 na segunda imagem).

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.

Para firmware do oblu visite

Para o código Aurduino do robô, visite

Etapa 7: MODELAGEM DE CAMINHO

MODELAGEM DE CAMINHOS
MODELAGEM DE CAMINHOS
MODELAGEM DE CAMINHOS
MODELAGEM DE CAMINHOS

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 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.

Etapa 8: MONTAGEM DO CIRCUITO

MONTAGEM DO CIRCUITO
MONTAGEM DO CIRCUITO

O diagrama de integração do sistema de nível superior. Arduino e oblu fazem parte da montagem do hardware. UART é usado para comunicação entre o Arduino e o oblu. (Observe a conexão Rx / Tx.) A direção do fluxo de dados é apenas para referência. Todo o conjunto de hardware se comunica com o smartphone (Xoblu) usando bluetooth.

Etapa 9: DIAGRAMA DO CIRCUITO

DIAGRAMA DE CIRCUITO
DIAGRAMA DE CIRCUITO

As conexões elétricas detalhadas entre o Arduino, o oblu, o driver do motor e a bateria.

Etapa 10: PROTOCOLO DE COMUNICAÇÃO:

Abaixo está como a comunicação de dados ocorre entre o sensor oblu montado no robô e smartphone, ou seja, Xoblu:

Etapa 1: Xoblu envia comando START para oblu Etapa 2: oblu confirma o recebimento do comando enviando ACK apropriado para Xoblu Etapa 3: oblu envia pacote de dados contendo informações de deslocamento e orientação para cada passo, em cada etapa, para Xoblu. (etapa = sempre que detecta movimento zero ou parada é detectada). Etapa 4: o Xoblu confirma o recebimento do último pacote de DADOS enviando o ACK apropriado para o 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: STOP - (i) Pare o processamento em oblu (ii) Pare todas as saídas em oblu Consulte a Nota de Aplicação do oblu para detalhes de START, ACK, DATA e STOP

Etapa 11: COMO O "oblu" IMU FUNCIONA (opcional):

Apresentando algumas referências na visão geral do oblu e princípio básico 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é.

Etapa 12: Visite "oblu.io" (opcional)

Image
Image

Assista ao vídeo para as possíveis aplicações do "oblu":

---------------- Por favor, compartilhe seus comentários, sugestões e deixe comentários. Melhores desejos!

Etapa 13: COMPONENTES

1 oblu (uma plataforma de desenvolvimento IMU de código aberto)

1 Kit de Chassi Kit de Caixa de Bateria de Carro Robô Inteligente DIY para Arduino

1 tábua de pão sem solda meio tamanho

1 fio de jumper masculino / feminino

2 Capacitor 1000 µF

1 drivers de motor Texas Instruments Dual H-Bridge L293D

1 Arduino Mega 2560 e Genuino Mega 2560

4 Amazon Web Services AA 2800 Ni-MH recarregável

Recomendado: