Limites de contagem de mortos usando sensores MEMS


13

Estou tentando rastrear partes do corpo em relação ao torso de uma pessoa. Vejo algumas perguntas sobre o uso de acelerômetros e giroscópios MEMS para acerto de contas, e eles confirmam minhas suspeitas de que vários fatores limitam bastante sua utilidade para esses tipos de aplicativos, mas estou buscando esclarecimentos sobre esses limites:

  • O que exatamente são esses limites?

    Outras respostas abordaram por que esses limites existem. Naturalmente, as especificações das peças no sistema em questão e o que é considerado "erro aceitável" para o sistema alteram os limites exatos, mas há uma única ordem de magnitude no tempo ou distância que posso esperar que o cálculo morto funcione? Estou ciente de que, em longas distâncias (alguns metros mais ou menos), o erro se torna muito grande para fins mais práticos, mas e a poucos metros?

  • O que posso fazer para melhorar esses limites?

    Atualmente, estou olhando para usar um acelerômetro e um giroscópio. Quais outros sensores posso adicionar ao sistema para melhorar a taxa de erros? Sei que em longas distâncias um GPS pode ser usado, mas duvido que qualquer GPS de nível de produtos eletrônicos de consumo tenha resolução suficiente para ajudar no meu caso.

    Além disso, um consenso geral parece que a única maneira de melhorar esses limites além do ponto de sensores aprimorados é fornecer uma referência não sujeita a erro. Alguns sistemas resolvem isso usando câmeras e marcadores. Que tipo de pontos de referência um dispositivo portátil / vestível pode fornecer?

    Vi o uso de ondas de rádio para medir longas distâncias com precisão, mas não sei dizer se esse sistema poderia ser preciso em uma escala tão pequena (em termos de distância medida) usando componentes "prontos para uso".


9
Para a pessoa que sinalizou isso para fechamento, e quaisquer outros desse tipo - essa é uma questão de design eletrônico de primeira ordem. Ele está perguntando como construir uma melhor unidade de navegação inercial usando peças COTS e tudo o mais possível, e quais são os limites atuais e o que pode ser esperado das melhorias sugeridas. A questão não pode ser razoavelmente dividida em perguntas menores para aqueles que não conseguem lidar com o escopo, pois a integração de todos os fatores para obter um resultado aprimorado é a ideia central.
Russell McMahon

Um magnetômetro pode ser adicionado a um chip de giroscópio e acelerômetro de 6 DOF.
Russell McMahon

Na verdade, eu estava considerando o fato de que a pergunta é composta por duas perguntas menores, mas cheguei à conclusão exata que @RussellMcMahon observou.
Selali Adobor

1
Duvido que qualquer GPS de eletrônicos de consumo tenha resolução suficiente para ajudar no meu caso. De fato, existe um GPS de consumidor que fornece precisão em centímetros. Se +/- 1 cm é ou não preciso o suficiente para o seu aplicativo, você não especificou. E, claro, que custa um pouco mais do que seus +/- módulos GPS precisos 3m típicos
krb686

1
Eu não tinha visto nenhum na minha pesquisa. Você tem os números de peça de algum deles?
Selali Adobor 22/10

Respostas:


6
  • O que exatamente eles são?

As fontes de erro incluem deslocamento de zero (viés) e erros de escala (que tendem a variar lentamente) e ruído. Os preços dos sensores MEMS variam de menos de US $ 10 a mais de US $ 1000, e a magnitude dos termos de erro abrange uma ampla variedade, dependendo da qualidade do sensor.

O grande problema é que a integração geralmente é necessária para passar do valor do sensor (aceleração, taxa angular) para o valor desejado (posição, ângulo). Todas as fontes de erro são compostas - crescendo com o tempo - quando integradas. O valor dos dados para o acerto de contas decai com o tempo, com sensores baratos, que fornecem no máximo alguns minutos de dados úteis e sensores avançados, sendo bons por talvez algumas horas.

  • O que posso fazer para melhorar esses limites?

Como você já descobriu, a melhor maneira de se livrar dos crescentes erros integrados é combinar os dados do sensor com outras fontes independentes de dados que não possuem os mesmos tipos de erros. Por exemplo, o GPS pode fornecer um valor de posição absoluto que não deriva a longo prazo, mas possui um componente de "ruído" relativamente grande. Você pode usar esses dados para estimar os erros de polarização e escala dos seus acelerômetros, o que permite corrigi-los em tempo real. Também permite cancelar a "caminhada aleatória" criada pelo ruído do sensor. Um filtro Kalman é um método comum usado para modelar o sistema (incluindo os termos de erro do sensor) e combinar os dados para obter uma estimativa ideal do estado do sistema a qualquer momento.

Outro exemplo é usar o "vetor de gravidade", medido pelos acelerômetros, para cancelar a deriva angular dos giroscópios. O truque aqui é saber exatamente quando você tem um vetor de gravidade válido; ou seja, o sistema não está acelerando em nenhuma direção. Várias heurísticas (por exemplo, "atualização zero") são usadas para fazer isso. Um magnetômetro também pode ser usado para medir erros de giroscópio, mesmo se você não souber a direção absoluta do campo magnético - desde que você possa assumir que é constante.

O sensor óptico é outra maneira de obter uma estimativa de velocidade, ângulo ou posição sem desvio, mas o processamento de imagem necessário pode exigir muitos ciclos de CPU (ou FPGA), e o desenvolvimento desse sistema é bastante complicado.


Essa é uma resposta realmente ótima, mas acho que ela perde a intenção de uma parte da pergunta (talvez eu precise esclarecer isso acima). "O que são" refere-se a quais são esses limites. Entro em detalhes sobre o que quero dizer com isso na pergunta, pois percebo que os valores variarão com base em muitos fatores.
Selali Adobor

Eu não sabia dizer se você estava perguntando sobre a natureza dos erros ou a magnitude dos erros. Tentei abordar os dois na primeira parte da minha resposta.
Dave Tweed

Oh eu vejo, assim que o tempo é provavelmente um fator maior do que a distância neste caso (eu percebo que não é sempre vai ser um ou outro)
Selali Adobor

3

Você perguntou o que mais poderia ser adicionado. Um magnetômetro de 3 eixos deve ser útil. O campo magnético da Terra tende a se mover substancialmente mais devagar do que o usuário médio (felizmente).
Veja a fabulosa MPU6000 / 6050

Uma versão fornece interface SPI e IIC, a outra apenas CII.

Ele contém um giroscópio de 3 eixos + um acelerômetro de 3 eixos, além de entradas para permitir a integração do sinal do magnetômetro externo de 3 eixos.
O IC contém um 'processador de movimento digital' que integra os sinais do conjunto de sensores 3 x 3. Ainda não entendi a funcionalidade precisa fornecida, mas a intenção é processar as três fontes de sinal separadas em um sistema útil de análise de movimento

Folha de dados aqui

O IC custa cerca de US $ 10/1 da Digikey e uma placa de avaliação custa cerca de US $ 50 + do fabricante. Ou você pode comprar uma placa completa da China - eles vendem aqui por cerca de US $ 6 no varejo em 1's - IC e PCB montados.
Ainda não descobri como isso acontece ou se são reais ou .... Recebi um ontem, mas não poderei jogar com ele por um tempo. ('Whiles' variam grandemente em magnitude, de muito pequeno a grande demais, às vezes). Existem vários artigos na web sobre como usá-los com, por exemplo, Arduinos.

Qual a precisão ?:

Provavelmente há muita discussão sobre isso na web.
Se eu li a folha de dados corretamente (e não é um tipo de dispositivo com o qual estou muito familiarizado), a
Tabela 6.1 na página 12 sugere que o giroscópio possui um desvio de +/- 20 graus / segundo no máximo a 25 ° C e mais uma vez - Faixa de temperatura de 40 a + 85C. Supondo que uma taxa real de 20 graus / segundo seja uma volta completa em 18 segundos. No entanto, o magnetômetro e o acelerômetro fornecem acesso a vetores de referência externos (gravidade e campo magnético da Terra) e os sinais destes podem ser usados ​​para derivar a taxa de desvio de giroscópio a curto e longo prazo e compensar. Isso pode fazer parte do que o seu "processador de movimento" faz.

O erro do acelerômetro parece estar abaixo de +/- 5%.
Eu esperaria (e pode estar muito errado), que o uso do acelerômetro e magnetômetro para reduzir os erros de desvio do giroscópio para essencialmente zero a longo prazo permita que você use os sinais do giroscópio para navegação em segundos ou minutos. O GPS também fornece sinais de velocidade e a combinação de posição e velocidade dos GPs com a unidade 9DOF parece altamente útil.

Wooly: O texto acima parece mais confuso do que eu gostaria. Espero saber mais sobre isso nas próximas semanas. Eu ficaria interessado em saber o que você descobriu e, se eu aprender, coisas úteis tentarão reportar.

.


Dependendo da sua aplicação, você poderá depositar temporariamente um receptor e GPS de referência em um local conveniente. Isso pode ser extremamente compacto - GPS + bateria + TX. Uma vez depositado, ele sabe onde está e pode transmitir correções com base em onde o sistema diz que está. O uso da mesma constelação de satélites é 'provavelmente uma boa ideia'. Se o usuário e o GPS de referência estiverem no mesmo ponto em que é depositado, tanto melhor, mas esse sistema tende a funcionar mesmo que esteja sempre espacialmente separado.

... Eu duvido que qualquer GPS de nível de eletrônicos de consumo tenha resolução suficiente para ajudar no meu caso.

Não saber qual é o seu caso torna difícil dizer. Mas a resolução relativa de amostra para amostra é tipicamente muito superior ao que é alcançado em minutos ou horas. Realizei testes em que dirigi por uma rota urbana e tracei as coordenadas do GPS e depois repeti o exercício várias horas depois. Os dois caminhos estavam em alguns casos separados por vários metros, mas, digamos, dirigindo em linha reta ao longo de uma rua urbana, o lote era uma linha reta com "ruído" em ambos os lados de uma linha reta de talvez menos de um metro. (Isso foi há alguns anos atrás - é fácil tentar você mesmo. Acabei de gravar dados de uma saída RS232 serial do GPS (normalmente 4800 baud) e, nesse caso, os plotamos no Excel como um gráfico XY.

O GPS diferencial pode ser usado pelo qual um receptor estacionário local de localização fixa fornece correções de erros com base em onde ele sabe e onde o sistema agora o diz. Existem muitos fornecedores desses sistemas, mas o conceito é simples e fácil de implementar se com um orçamento apertado.


Eu quero discutir essa deriva. O que eles mencionam na folha de dados não é desvio, mas o que o Gyro gera como valores enquanto está na taxa de rotação 0. A segunda figura seria então quanto esse valor difere em toda a faixa de temperatura. Você acha que isso faz sentido?
Jonas Schäfer

Estou tentando rastrear partes do corpo em relação ao torso de uma pessoa (mencionei na pergunta, mas provavelmente devo passar isso para a introdução, enterrei-o acidentalmente). Eu vejo algumas placas de interrupção no E-bay, estou prestes a pedir uma. Olhando por cima da folha de dados, é um dispositivo muito promissor. A observação sobre o GPS está se referindo à distância curta (<1 metro). Os dispositivos que eu vi para esse tipo de medição usavam hardware muito especializado. Eu nunca pensei em usar um sistema GPS diferencial. Já ouvi falar deles, mas não sei muito sobre eles, então vou ler, obrigado!
Selali Adobor

"O uso da mesma constelação de satélites é provavelmente uma boa idéia." Não é assim que o DGPS funciona. A estação de referência calcula correções de pseudo-faixas para os satélites individuais em sua exibição e as transmite. A outra estação usa apenas as correções para os satélites que também estão em sua própria visão.
Dave Tweed

A Invensense agora possui seu MPU-9250, que combina o MPU-6000 (Gyro / Accel) com um magnetômetro de 3 eixos (Asahi Kasei AK8963), oferecendo 9 eixos em um chip. E é menor do que o MPU-6000 :)
bitsmack

Ele também tinha listagens de e-bay semelhantes então eu pedi uma vez que o preço médio de magnetômetros em placas de fuga foi aproximadamente o mesmo (Estas placas certeza são baratos!)
Selali Adobor

3

Algo que não está coberto nessas respostas ainda é a sua aplicação específica, que na verdade já foi abordada pelo menos uma dúzia de vezes antes por pessoas muito inteligentes. As duas palavras-chave aqui são cinemática inversa e filtros Kalman.

Agora, deve ficar claro qual é a fonte dos erros do seu aplicativo e como corrigi-los. Porém, ao lidar com sensores essencialmente fixos a um ser humano, você pode diminuir o intervalo de posições espaciais e angulares dos seus sensores aplicando cinemática inversa à equação. Isso basicamente significa que você acompanha as posições relativas de tantas articulações quanto possível e aplica um modelo cinemático do corpo humano. Por exemplo, o comprimento dos braços das pessoas não varia ao longo do tempo, nem sua amplitude de movimento muda consideravelmente. Ossos não dobram (em circunstâncias normais). Tudo isso pode ser usado para restringir as posições do seu sensor.

A outra solução é usar o maior número possível de sensores ortogonais. Ortogonal no sentido de: usar princípios de medição fundamentalmente diferentes. Usando o máximo possível de entrada do sensor, você pode usar o chamado filtro Kalman para trabalhar com a maior precisão possível, considerando os dados em que estão os sensores. Os filtros Kalman não são uma entidade mágica que mostra a melhor resposta, no entanto. São modelos matemáticos que precisam ser ajustados e modificados para seu aplicativo específico, e pode ser um incômodo fazer com que funcionem bem. Mas permite, de uma maneira indireta, combinar de outra maneira muito difícil correlacionar dados do sensor. As entradas para esse tipo de filtro podem ser qualquer coisa: sensores de posição, aceleração e velocidade, mas também, por exemplo, sensores de luz que podem adicionar informações, respondendo a fontes de luz visíveis em determinados ângulos.

Algumas 'luvas de força' com esse princípio de trabalho (cinemática + filtros kalman) foram demonstradas por empresas e universidades. O mais recente que eu vi na TU Eindhoven usou MPU6050s em substratos flexíveis tecidos em uma luva, além de alguns sensores de suporte (acho que no momento são apenas webcams), todos alimentados em um grande filtro Kalman alimentado por Matlab. Funciona com repetibilidade de 1 mm.


Eu já examinei esses aspectos do problema até agora para o meu caso específico, por isso estou mais interessado no que posso fazer com o hardware, mas esses são pontos excelentes (especialmente usando o IK para restrições).
Selali Adobor 22/10

0

O Problema Fundamental

Naturalmente, as especificações das peças no sistema em questão e o que é considerado "erro aceitável" para o sistema alteram os limites exatos, mas há uma única ordem de magnitude no tempo ou distância que posso esperar que o cálculo morto funcione? Estou ciente de que, em longas distâncias (alguns metros mais ou menos), o erro se torna muito grande para fins mais práticos, mas e a poucos metros?

Isso pode ser resolvido através do estudo da dinâmica de erros de curto prazo de um sistema de navegação inercial. Ele é coberto em detalhes em muitos textos , mas aqui está a versão curta "livre de equações".

A navegação inercial funciona da seguinte maneira:

  1. Conheça com precisão sua posição inicial, velocidade e atitude (ou seja, pitch pitch e yaw).

  2. Δt

  3. Use sua nova atitude que você acabou de calcular para girar matematicamente as leituras do acelerômetro para ficar nivelado com a Terra.

  4. Subtraia a gravidade das leituras do acelerômetro de novo nível.

  5. Δt

  6. Δt

  7. Repita as etapas 2 a 6 pelo tempo que desejar.

bgbg×Δt×Δt×Δt=bg(Δt)3

Além disso, esse viés se acumulará em atitude, o que fará com que os acelerômetros sejam nivelados incorretamente, o que fará com que a aceleração seja nivelada na direção errada, que será então integrada na direção errada - três níveis de erros.

Isso significa que erros de giroscópio fazem com que os erros de posição cresçam com o cubo do tempo .

Pela mesma lógica, o erro do acelerômetro faz com que os erros de posição cresçam com o quadrado do tempo .

Por esse motivo, você obterá meros segundos de navegação inercial útil (pura) dos sensores MEMS de grau de telefone celular.

Mesmo se você tiver sensores inerciais extremamente bons - digamos, grau de aeronave -, ainda estará fundamentalmente limitado a pouco menos de dez minutos de navegação inercial (pura). O motivo é o passo 3 - a gravidade muda com a altura. Erre sua altura e sua gravidade estará errada, o que faz com que sua altura esteja errada, o que faz com que sua gravidade fique mais errada e assim por diante - crescimento exponencial de erros. Assim, mesmo um sistema de navegação inercial "puro", como os encontrados em jatos militares, geralmente terá algo como um altímetro barométrico. Fonte .

Soluções

Além disso, um consenso geral parece que a única maneira de melhorar esses limites além do ponto de sensores aprimorados é fornecer uma referência não sujeita a erro.

t2

Alguns sistemas resolvem isso usando câmeras e marcadores. Que tipo de pontos de referência um dispositivo portátil / vestível pode fornecer?

Existem produtos de pesquisa e comerciais que podem fazer isso.

Conceitualmente, funciona como visão estéreo - você tem uma linha de base conhecida entre as câmeras e um ângulo diferente para cada marcador, visto de cada câmera. A partir disso, a posição 3D de cada marca pode ser calculada (em relação à câmera). Pode funcionar melhor com mais câmeras.

Vi o uso de ondas de rádio para medir longas distâncias com precisão, mas não sei dizer se esse sistema poderia ser preciso em uma escala tão pequena (em termos de distância medida) usando componentes "prontos para uso".

Usando hardware barato, decawave UWB pode ser útil (10 cm ou mais). Você precisará criar seus próprios algoritmos.

Sei que em longas distâncias um GPS pode ser usado, mas duvido que qualquer GPS de nível de produtos eletrônicos de consumo tenha resolução suficiente para ajudar no meu caso.

Ao lado do corpo, um sistema GPS terá problemas. A obtenção de um GPS de nível cm depende do rastreamento de fase contínuo dos sinais de GPS (muito, muito fraco), o que é extremamente difícil se a antena estiver próxima ao corpo e o corpo estiver se movendo! Para sistemas somente L1 - independentemente de serem baratos ou caros - o rastreamento deve durar muito tempo (10 min +) e, portanto, é impraticável para esse problema. Um receptor de frequência dupla pode funcionar algumas vezes , mas na verdade não é barato (milhares de dólares).

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.