Estou voltando para EE depois de algum tempo, então desculpe minha ignorância. Estou procurando uma maneira de detectar a localização exata ao ar livre para navegar por um robô para um projeto com meus filhos.
Existe uma maneira de baixo custo para triangular ou usar o GPS? Estou procurando a precisão da polegada. Também não me importo se precisar colocar alguns transmissores em locais diferentes para fornecer uma referência ao dispositivo.
Isto é para um cortador de grama robótico. Eu tenho um quintal de 2 acres e minha casa fica perto do meio, com várias árvores como obstáculos.
Dois dos meus três meninos (14 anos, 11 anos, 5 anos) trouxeram a idéia, de modo que o objetivo real deste projeto é passar um tempo com eles e despertar seu interesse em EE & CE.
Com isso, o custo é um fator, mas não me importo se trabalharmos nos próximos dois anos e passarmos um pouco juntos.
Aqui estão meus planos atuais
- Inclua um PC com Windows a bordo para que eu possa codificar contra os sensores.
- Microsoft Connect integrado para ajudar na detecção de obstáculos (motivo para PC com Windows)
- Inclua um GPS USB para localização geral
- Inclua câmera apenas para se divertir
Em 2 anos, se eu tiver algum dinheiro, tudo bem, mas não quero começar com um GPS caro e louco.
Obrigado a todos que me ajudaram !!!!
Respostas:
Você deve inverter o sistema. Não é necessário que o próprio robô determine a localização. Ele só precisa saber o que fazer. Isso pode ser comunicado a partir de um PC fixo através de um link WiFi. Com esse link, não importa se o robô descobre o local ou se é feito na instalação fixa e o resultado transmitido ao robô. Se o robô perder a conexão Wi-Fi, ele poderá simplesmente parar. Isso evita que fique fora do alcance e, portanto, não obtenha as informações que deve ser revertida, enquanto destrói todos os jardins de flores da vizinhança. Eu acho que também é uma boa idéia manter o robô o mais simples possível e colocar o máximo de carga na instalação fixa, onde é mais fácil monitorar, consertar e trabalhar.
Na verdade, eu não fiz isso, mas aqui está uma coisa que eu pensei sobre o seu problema. Tenha um emissor de IR rotativo no robô. Isso pode girar uma vez por segundo aproximadamente. Dispara uma fenda vertical bastante estreita de IR modulado. Em seguida, você coloca sensores IR fixos em todo o local, principalmente na periferia. Eles indicam quando detectam o feixe do robô, que será apenas uma pequena fração do intervalo de repetição. Comparando o tempo dos sinais dos vários sensores e conhecendo suas localizações, você deve poder calcular a posição do robô. O deslocamento de tempo de dois sensores divididos pelo período do sinalizador indica os ângulos relativos desses dois sensores, como vistos no robô. Com sensores suficientes e um monte de matemática (facilmente executada em qualquer PC moderno em uma pequena fração de segundo), você pode resolver a posição absoluta do robô. O PC envia os comandos apropriados ao robô através de uma conexão TCP através do link WiFi.
Na verdade, o robô não precisa das informações de posição. Todo o "pensamento" é feito no PC fixo. Tudo o que o robô precisa é de um pequeno sistema incorporado com um módulo WiFI e uma pilha TCP / IP. Você pode enviar comandos básicos para o robô, como direção relativa, velocidade, etc.
Os dados de dois sensores colocam o robô em um arco que também inclui os dois sensores. O arco exato depende do deslocamento angular dos dois sensores. Em teoria, tudo o que você precisa é de três arcos, o que significa três sensores. Eu usaria vários outros para que sensores individuais possam cair temporariamente por vários motivos. Isso sobrecarregará o problema, mas com o algoritmo certo, você poderá usar todos esses dados e encontrar a localização mais provável do robô.
Como eu disse, não tentei isso, mas acho que você deve conseguir uma precisão boa o suficiente para controlar um cortador de grama. Pelo menos, esse esquema não depende de algo particularmente caro, difícil de obter ou de algo que estimule o que você pode medir razoavelmente em seu próprio quintal (sem tempo de nanossegundos, por exemplo).
fonte
As respostas anteriores abordam o problema do ponto de vista de como o cortador de grama pode detectar sua posição. No entanto, os sensores podem ser externos, ou seja, dentro de casa. Coloque as câmeras para que possam ver o cortador de grama em qualquer lugar do seu quintal. Coloque um símbolo ou uma bandeira ou algo colorido no cortador de grama e em alguns pontos de referência (ou use refletores ou leds infravermelhos, desta forma, você pode instalar lentes de filtro de entalhe nas câmeras e apenas deixá-las entrar, trivializando o código de rastreamento). Como as câmeras são fixas, a localização dos pontos de referência e o cortador de grama nos quadros de vídeo devem fornecer dados de localização inequívocos. A precisão dependerá da resolução da câmera. Dessa forma, você não precisa gastar muito com os eletrônicos embarcados, e seu código de processamento de imagem pode ser executado em casa.
fonte
Posso pensar em algumas maneiras de conseguir isso, dependendo do alcance em que você deseja mover o robô (metros ou 100s de metros?)
No entanto, o GPS definitivamente não fornecerá o nível de precisão em polegadas com hardware facilmente disponível. Para alcançar essa precisão, você precisará executar a correção diferencial de fase da portadora. Embora isso não seja muito complicado, não é tão simples quanto conectar um módulo. Você pode olhar para este projeto para ver uma implementação dele.
Uma abordagem mais fácil pode ser usar faróis de infravermelho ou ultrassônicos e usar sensores no robô para determinar o alcance relativo entre ele e os vários faróis. Um receptor montado em servo pode isolar o ângulo do transmissor e a força relativa do sinal. Infelizmente, é improvável que você obtenha o nível de precisão em polegadas dessa maneira.
fonte
Outra opção é usar uma webcam e algumas formas / cores conhecidas e executar um simples reconhecimento de imagem. Use triangulação (talvez girando a web cam com um motor de passo) para descobrir onde você está. Isso é possível se você tiver um desempenho significativo da CPU a bordo (por exemplo, um BeagleBone ou netbook), em vez de algo pequeno como um Arduino.
fonte
Eu procuraria uma rota diferente de todas essas outras respostas. Enterre um fio no seu quintal ao redor do perímetro. Dirija com um pequeno circuito que emite um sinal de 100kHz (ou algo assim). Isso seria muito fácil de detectar com uma plataforma móvel. É exatamente a mesma técnica usada pelos sistemas sem cercas usados para manter os cães no quintal. Inferno, você provavelmente poderia pegar uma das unidades para usar como sensor.
Isso daria a você o controle do perímetro. Se você sentir o sinal de 100kHz, estará no limite. É claro que teste isso sem um cortador de grama primeiro (talvez seu primeiro projeto deva ser um carro de R / C modificado para fazer isso. Eu também abandonaria o PC com Windows e pegaria um sistema Arduino. Eles são baratos e para um investimento inicial de um algumas centenas de dólares e um carro R / C, você tem seu protótipo.
Como pai, tenho certeza que você deseja tornar isso o mais seguro possível. Isso significaria NÃO amarrar um monte de eletrônicos em seus confiáveis dois tempos. Veja se consegue encontrar uma cópia antiga da revista Radio-Electronics dos anos 80. Eles tinham um projeto de cortador de grama robótico chamado Lawn Ranger. É claro que você não recriaria o design original, mas eles tinham várias inovações, incluindo um sensor fácil de construir para detectar grama cortada (prevenção de obstáculos, detecção de perímetro e navegação) e, mais importante, eles tinham um design exclusivo para o lâminas de corte que eram significativamente mais seguras que uma libra de aço afiado e endurecido sendo giradas em volta. Seu sistema de corte era essencialmente um par de discos oscilantes com lâminas x-acto presas a eles. Os discos girariam, o que significava que se uma pedra (ou pé!) Entrasse no caminho que daria, resultando em uma lesão menos desastrosa. Eu recomendo verificar essa série de artigos e aplicar alguns dos princípios ao seu design moderno. Você pode obtê-los da sua biblioteca pública; Eu sei que os meus tinham.
Boa sorte, isso soa como um ótimo projeto que manterá os jovens interessados e pensando.
fonte
Gostaria de saber se seria possível usar o GPS com giroscópios para rastreamento de posição estável. Poder-se-ia aplicar métodos de aprendizado de lógica fuzzy se soubesse como e tivesse sinais de erro de posição estável (PES) de ambas as fontes. GPS para detecção de posição em larga escala +/- 10m e giroscópios ou outros meios para rastreamento de posição de curto alcance +/- 0,1m
Plano 1) Meça os dados de rastreamento do caminho GPS de cada criança que corta a grama usando um rádio Zigbee ou um sistema de coleta de dados a bordo. Mais tarde, analise a estabilidade, o padrão, a velocidade, a eficácia em um programa de análise de trajetos que agrega distância, analisa a oscilação da inclinação, a sobreposição ou o número efetivo de faixas X e Y.
2) Escolha o caminho ideal e memorize-o. (migalha de cookie) para registrar vários caminhos usados por cada criança e avaliar o caminho registrado para desempenho e segurança do caminho.
3) Meça o PES de vários caminhos cortando a grama usando vetores ortogonais, vetores oblíquos, faixas circulares e determine um erro de rastreamento eficaz para cada método de orientação do veículo e comente as variações estéticas do gramado produzido.
Basta usar os sinais de posição gravados acumulados para análise e depois tentar o rastreamento robótico com o sistema servo controlado de 4 canais. (Gás, direção, freio e outros.)
A maior lição é aprender a se comunicar (com crianças, clientes e engenheiros). Aprender a escrever uma especificação antes de projetá-la é a maior lição. Quais entradas, processos e saídas, entradas ambientais e parâmetros testáveis / mensuráveis com critérios de aceitação e rejeição. Também deve haver recompensas adequadas para cada marco e consequências para o fracasso.
Esta é uma miniatura do Plano do projeto, Especificações do projeto e do plano de TVP. (Teste de validação do projeto)
Seu sucesso depende disso. Boa sorte e divirta-se.
fonte
Embora este seja apenas um ponto de partida, eu recomendo que você consulte este PDF que explica a teoria por trás do localizador de áudio de John Swindle . Pelo que me lembro, explica diferentes métodos de localização e explica o método de John, que é preciso em até meia polegada! (A configuração não é trivial e o código não é fornecido, mas é usado com bom efeito para o evento RoboColumbus do DPRG (Dallas Personal Robotics Group)).
fonte
/electronics//a/23506/5439
Veja minha resposta para outra pergunta sobre o LPS. A resposta curta é que esse é um problema bastante difícil e os sistemas existentes são muito caros (a partir de vários milhares de dólares). A sugestão do uso de sensores ultrassônicos é boa, se você pesquisar no Google, poderá encontrar técnicas anteriores sobre o uso de ultrassom e até som audível para isso.
fonte
Atualmente, a udacity está oferecendo um curso on-line gratuito, programando um carro robótico que ensina como o Google faz isso para carros autônomos. Basicamente, eles usam o GPS para posicionamento bruto, juntamente com mapas armazenados e sensor de visão para localização com alto grau de precisão. O software usa filtros de partículas.
Você poderia fazê-lo apenas com GPS se usasse o equipamento diferencial diferencial muito caro usado pelos pesquisadores, mas isso dificilmente seria rentável. Como você sugere, se você usar um par de transceptores de baixo custo (Xbee, talvez?), Poderá medir facilmente a distância com um grau extremamente alto de precisão transmitindo um pulso e medindo o tempo necessário para viajar do transmissor no robô até o repetidor remoto e volta. É como o RADAR, exceto que, em vez de refletir o sinal em uma superfície passiva, ele está sendo enviado de volta pelos seus transponders estacionários.
EDIT: Desde que fui chamado por Kevin neste caso, talvez eu explique ;-) (Todos se divertem, tenho o maior respeito por Kevin e ele está certo de que não forneci detalhes suficientes para mostrar como implementar isso).
Para medir com precisão o atraso de propagação entre dois pontos, são necessárias principalmente duas coisas: 1) Um caminho de sinal de linha reta, pois os reflexos criarão distorções. 2) Alguns componentes eletrônicos nas duas extremidades usam relógios sincronizados e a capacidade de medir intervalos de tempo com a precisão necessária.
Os relógios sincronizados são relativamente fáceis, pois a estação receptora pode derivar seu relógio do sinal transmitido pela outra estação. Esta é a transmissão de dados síncrona padrão com recuperação do relógio.
Aqui está um artigo: Medindo o atraso de propagação em um link de dados bidirecional de 1,25 Gbps, onde eles obtêm facilmente esse tipo de precisão em uma fibra óptica de 10 km de comprimento. Eles afirmam: "Ele deve ser capaz de sincronizar ~ 1000 nós com precisão de subnanosegundos em comprimentos de até 10 km".
Além disso
EQUIPAMENTO USADO:
Agora, claramente, essa configuração em particular é um exagero para a maioria dos projetos de robótica de hobby, mas pode ser facilmente reproduzida em casa, pois utiliza placas de desenvolvimento prontas para uso e não requer talentos especiais para trabalhar. No caso do robô, o link seria rádio, e não um cabo de fibra óptica. Talvez possa até ser um link de infravermelho, como um controle remoto de TV, embora eu suspeite que isso lá fora sob o sol forte possa ser problemático. À noite, poderia funcionar muito bem!
fonte
Como outros já disseram, a localização é um problema difícil e a resolução de uma polegada a um custo razoável é muito difícil. Talvez você esteja interessado em saber que existe uma competição de nível universitário envolvendo cortadores de grama robóticos: a competição ION Robotic Lawn Mower . Eu fazia parte de uma equipe se preparando para o ION; no final, não competimos, mas certamente passamos muito tempo pensando no problema, o que é definitivamente mais difícil do que parece. Observe que maioria dos concorrentesna última competição de ÍON cortou menos de 50% do campo no tempo previsto, com plataformas custando dezenas de milhares de dólares! Você tem uma vantagem, porém, porque o ION proíbe auxílios de navegação externos, como beacons, que facilitam muito a solução do problema. (E você não tem limite de tempo.) Examinar os relatórios do projeto das equipes seria uma boa fonte de idéias.
Se eu estivesse embarcando em um projeto robótico de cortador de grama como o seu, provavelmente usaria uma combinação de GPS barato (para localização aproximada), balizas IR / ultrassônica / multicolorida (localização fina (r)), codificadores (estimativa de posição) e visão computacional (vários). Eu não recomendaria gastar milhares de dólares em sistemas sofisticados de GPS e IMU. O Kinect é uma boa ideia e certamente é muito mais barato que o Lidar; você definitivamente terá muito o que analisar entre o mapa de profundidade e a câmera.
Também recomendo o curso Udacity sobre programação de carros autônomos para uma introdução aos conceitos envolvidos.
fonte
Agora que você modificou a pergunta para remover o requisito de uma polegada de resolução e nos disse que terá um PC com Windows e um Microsoft Connect a bordo, acho que você poderia fazer uma localização muito boa com apenas esse hardware no robô.
Você já viu alguns dos escopos de golfe baratos que as pessoas usam para encontrar a distância para o tee?
A maneira como eles trabalham é medir a altura percebida da bandeira no verde (que é uma altura fixa) e mostrar a distância até o tee. Este é um triângulo retângulo simples, onde se você conhece o ângulo e a altura do outro lado, pode calcular o comprimento da base. Esse é exatamente o tipo de coisa que seus filhos aprenderão em geometria e, mais tarde, em trigonometria.
Como sua casa parece ser visível de todas as partes do lote, talvez seja fácil ver dois cantos e calcular a distância?
fonte
Use a energia sonora do próprio cortador. É o seu próprio pinger. Ou talvez seu ruído possa ser usado para mascarar principalmente um toque de piar de áudio adicionado ao cortador, talvez sincronizado com o eixo de manivela ou a lâmina. Coloque um microfone no cortador e em alguns locais ao redor do quintal. Obtenha uma estimativa aproximada da localização com base no volume. Os microfones mais próximos não terão tantos problemas de caminhos múltiplos. Em seguida, correlacione o áudio dos microfones mais próximos para estimar o atraso do som no tempo de voo. Filtro Médio ou Kalman para se livrar do ruído nas estimativas de atraso e aplicar trig. Se você puder ocultar (de humanos) e detectar (por correlação cruzada) uma vibração de piar ou de motor no cortador de grama, poderá obter centímetros de precisão.
fonte
Confira http://porcupineelectronics.com/uploads/LR3_Data_Sheet.pdf Este pequeno adaptador LR3 (obsoleto, mas melhor está a caminho) permite que você conecte um PC ou um SBC a um medidor de distância Fluke 411D, com precisão de +/- 3 mm a 30 M, pelo que me lembro. A nova unidade que sai (LR4) funciona com medidores Fluke mais recentes. Combinado com uma câmera em uma plataforma de panorâmica / inclinação, para que você possa apontar para alvos conhecidos e um codificador de alta resolução no servo panorâmico para medições de ângulo de alta precisão, você poderá triangular a posição do seu robô em relação a um mapa do seu quintal com o precisão que você precisa. Você precisará de alguma trigonometria no código (acima da matemática do ensino médio). Encontrei a equação necessária na internet (Wikipedia). Eu o incluiria aqui, mas estou longe da minha máquina doméstica, onde as informações são armazenadas. O sistema também pode facilitar a geração do mapa. Você pode precisar de uma plataforma estabilizada com giroscópio com isolamento passivo de vibração (os cortadores de grama têm muita vibração). Para medições em tempo real, você pode precisar de um software de rastreamento para manter o laser no alvo também. Odometeria precisa fornecerá mais tempo entre "correções" se o seu poder computacional for modesto.
fonte