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

Smart Pen:Projeto Final para ECE5725

Introdução


Hoje em dia, para obter resultados de escrita à mão, as pessoas costumam confiar na tela de toque capacitiva, na caneta stylus ou em outros dispositivos semelhantes. Eles são funcionais e precisos, mas nem sempre flexíveis. Nosso projeto combina Raspberry Pi com IMU para construir um produto que pode acompanhar o movimento e gerar a trajetória muito rapidamente. Projetamos um sistema que não necessita de nenhuma superfície específica ou outras ferramentas de entrada para suporte e só responde no IMU e seus sensores. Ao conectar o IMU ao Raspberry Pi, quando o dispositivo IMU se move, os dados do sensor serão transmitidos do IMU para o Raspberry Pi. Em seguida, usando nosso programa e algoritmo, restaure o movimento IMU. O movimento será registrado e armazenado no Raspberry Pi. Com o PyGame, o movimento também pode ser exibido na tela TFT do Raspberry Pi. Com um botão pequeno e conveniente, a função de gravação pode começar e terminar de forma muito flexível. Os usuários também podem conectar nosso dispositivo em outras coisas para rastrear seus movimentos. Portanto, nosso dispositivo oferece uma solução viável para rastreamento de escrita, rastreamento de movimento e etc.


Objetivo


O objetivo do projeto é desenhar um módulo separado que pode ser colocado em uma caneta, robô ou mesmo em pessoas para rastrear e registrar o movimento do objeto. Os usuários podem usar este módulo e anexá-lo com seus outros dispositivos, de modo que quando o objeto é movido, nosso dispositivo pode restaurar e rastrear sua trajetória e exibir o movimento no plano horizontal no quadro do mundo na tela. Um aplicativo muito clássico é que os usuários podem usá-lo como uma caneta, de modo que seus escritos serão gravados e salvos como uma imagem. Uma característica especial deste projeto é que o rastreamento não responde em nenhum plano específico e pode ser aplicado em todos os planos, até no ar. A colocação ou inclinação do dispositivo também não afetará o resultado final.

Usamos Raspberry Pi e Unidade de Medição Inercial como os principais componentes do nosso projeto. Além disso, o PyGame é usado para exibir a trajetória no Raspberry Pi.


Calibração IMU


Devido à imprecisão de fabricação, os 3 eixos dos acelerômetros e os giroscópios de 3 eixos geralmente estão desalinhados, causando um erro entre o Ângulo de Euler de duas coordenadas. A calibração é necessária. Usando a técnica de calibração de 6 posições, configuramos a posição de calibração 6 da seguinte forma:



Usando uma mesa de calibração feita por nós mesmos (Figura XX), fixamos o IMU nas 6 posições e registramos a leitura, os dados de calibração coletados por essas seis posições são:



Os dados de aceleração após a calibração são (Ax, Ay, Az são dados após a calibração e ax, ay, az são dados brutos):




Fusão de sensor para dados brutos


Cálculo do quaternion:



Quaternion é uma representação da orientação e rotação do objeto, e é mais fácil calcular a rotação do vetor do que os ângulos de Euler. A transação entre o quaternion e o ângulo de Euler é mostrada abaixo:

q =cosθ2 + sinθ2cosα⋅i + sinθ2cosβ2⋅j + sinθ2cosγ⋅k

q =λ + P1i + P2j + P3k

Rotação do quaternion:



Para um vetor fixo V coordenado no quadro XYZ, ele poderia ser representado no quatérnio:

V =0 + Vxi + Vyj + Vzk

Se o quadro girar para q, torne-se X’Y’Z ’, V coordenado em X’Y’Z’ poderia ser representado como:

V ′ =0 + V′xi ′ + V′yj ′ + V′zk ′

Então, V =q∘V′∘q − 1

Porém, utilizar os dados brutos gerados pelo giroscópio ainda não é suficiente, devido ao desalinhamento mencionado na parte de calibração, o vetor de gravidade obtido pelo acelerômetro precisa ser considerado. A função ‘UpdateIMU’ é usada para calcular o erro entre o vetor de gravidade calculado pelo giroscópio e o vetor de gravidade medido pelo acelerômetro. Esta função foi executada 2.000 vezes na fase estacionária inicial, sem movimentos ou rotações, e usando um feedback para calcular o erro. A função é mostrada abaixo:
 123456789 
 def UpdateIMU (self, Gyr, Acc):if np.linalg.norm (Acc) ==0:warnings.warn ("magnitude do acelerômetro é zero. Atualização do algoritmo abortada.") return else:Acc =np.array (Acc / np.linalg.norm (Acc)) v =np.array ([[2 * (self.q [1] * self.q [3] - self.q [0] * self.q [2])], [2 * (self.q [0] * self.q [1] + self.q [2] * self.q [3])], [self.q [0] ** 2 - self.q [1] ** 2 - self.q [2] ** 2 + self.q [3] ** 2]]) 

As variáveis ​​"Acc" e "v" são vetores de gravidade normalizados calculados pelo acelerômetro e o giroscópio, então o desvio angular (erro) entre os dois vetores pode ser representado usando seu produto vetorial:
 1 
 erro =np.cross (v, np.transpose ([Acc]), eixo =0) 

O erro calculado também pode ser integrado para atualizar a leitura do giroscópio usando loop de feedback negativo de PI (é por isso que precisamos executar esta função 2.000 vezes, para que o loop de PI possa convergir):
 12 
 self.IntError =self.IntError + errorRef =Gyr - np.transpose (self.Kp * error + self.Ki * self.IntError) 

O quaternion pode então ser calculado pelos dados corrigidos do giroscópio:
 1234 
 pDot =np.multiply (0,5, self.quaternProd_single (self.q, [0, Ref [0,0], Ref [0,1], Ref [0,2]])) self. q =self.q + pDot * self.SamplePeriod; self.q =self.q / np.linalg.norm (self.q); self.Quaternion =self.quaternConj (self.q); 

Leia mais:Smart Pen:Projeto Final para ECE5725

Processo de manufatura

  1. Idéias de projetos baseados em sensores para alunos do último ano de engenharia
  2. As 10 principais tendências de manufatura inteligente para 2021
  3. Iluminação inteligente como base para uma cidade inteligente
  4. Um log de projeto para FirePick Delta, a MicroFactory de código aberto
  5. Construa uma viagem! Robot - Projeto Easy Starter para Crianças
  6. Health Band - Um Assistente Inteligente para Idosos
  7. Atualizações de casas inteligentes para uma vida moderna
  8. Encontrando o retorno para a fabricação inteligente
  9. Sensor ultrafino para lentes de contato inteligentes
  10. Como escolher um projeto para automação