Sunday 27 May 2018

Moving average filter labview


EDFbrowser Um free, opensource, multiplatform, visualizador universal e caixa de ferramentas destinados, mas não limitado a, arquivos de armazenamento de timeseries como EEG, EMG, ECG, BioImpedance, etc - Fácil de instalar, apenas um executável, sem requisitos especiais, não Octave ou Matlab necessário - EDFbrowser é um dos mais rápidos, se não, o mais rápido EDF visualizador disponível. - Conversor EDF, EDF, BDF, BDF - Conversor Nihon Kohden (.eeg) para EDF (incluindo anotações) - Conversor Unisens para EDF - Conversor MIT para EDF (incluindo anotações) para physionet. orgphysiobankdatabase - Manscan Microamps (.mbi. Conversor EDF (incluindo anotações) - Conversor ECP (.scp, EN 1064) para EDF - Reprodução de vídeo sincronizada com o ficheiro EDFBDF (apenas para Linux) - Conversor Emsa (.PLG) para EDF (incluindo anotações) - ASCII para Conversor EDF - Conversor EDF - Conversor EDF - Conversor EDF - Conversor EDF - Conversor EDF - Conversor EDF - Conversor EDFBDF - Conversor EDFBDF - Conversor EDF - Conversor EDF - Conversor EDFBDF - 1ª a 8ª ordem Butterworth, Chebyshev, Bessel e filtros de média móvel - Notchfilter com factor Q ajustável - O filtro Spike remove pontos, glitches, transientes rápidos ou impulsos de marcapasso. - Powerspectrum (FFT) - ECG Detecção de frequência cardíaca (forma de onda ECG bruta - batidas por minuto) com possibilidade de exportar os intervalos RR (batimento a batimento) - Gravação ECG modulada em FM para conversor EDF - Medição Z-EEG - , Eventos ou anotações - Suporta montagens - Annotationsevents exportação - Annotationsevents importação - File reducercroditordecimator - Downsampling sinais - Medições precisas usando crosshairs - Função Zoom desenhando um retângulo com o mouse - Mostra sinais de arquivos diferentes ao mesmo tempo - EDFEDFBDFBDF para ASCII conversor - EDFEDFBDFBDF - Conversor EDFD para EDFC - Conversor BDF () para EDF () - Imprime em uma impressora, imagem ou PDF - Combina vários arquivos e exporta para um novo arquivo EDF - Exporta uma parte de um arquivo para um novo arquivo - Lê a partir de um arquivo de streaming (monitor) - Disponível para Linux e Windows (a fonte pode ser compilada no Mac OS X) Este é um software livre, é experimental e disponível sob a versão GPL License 3. Sem custo, sem garantia, sem impostos, sem taxas de manutenção, sem publicidade, sem adware, sem atualizações automáticas, sem chamadas de vendas, sem spam. Mesmo que este programa é gratuito, não é barato. Um grande esforço foi para tornar este programa útil, por isso, se você encontrar um problema, use o endereço de e-mail fornecido no programa sobre o menu para denunciá-lo. Aviso: Apesar de este software pretender ser útil, não há garantia, utilize este software por sua própria conta e risco O EDFbrowser NÃO pode ser utilizado em aplicações críticas para a segurança, tais como sistemas médicos de apoio à vida. O autor NÃO é responsável por quaisquer consequências. Apenas para fins de pesquisa e educacionais. Porque compilação EDFbrowser é muito fácil, esta é a maneira recomendada. Veja mais detalhes nesta página. Instruções de como compilar EDFbrowser no Mac pode ser encontrado aqui e aqui. Revestimento de madeira tradicional para sua casa será sempre a escolha preferida em qualquer instalação de tapume. No entanto, você precisa do empreiteiro de tapume direito para ajudá-lo a selecionar o melhor revestimento de madeira com a menor quantidade de manutenção de tapume. Existem muitos tipos diferentes de revestimento de madeira criado usando sub-par materiais de madeira. Don8217t deixar seu próximohellip Leia mais Profissional serviços de cobertura e reparação de telhado a preços acessíveis Se o seu ter problemas de vazamento telhado, don8217t esperar para entrar em contato com um contratante de telhadura. Os vazamentos prolongados do telhado parecem inofensivos no início, mas podem se transformar em sérios problemas rápidos. Tendo vazamentos persistentes no telhado pode causar o crescimento do molde, tetos danificados, móveis. Ligue-nos hoje se you8217re in need ofhellip Leia mais Ao tentar reduzir sua conta de heatingcooling home8217s, there8217s não há melhor maneira de economizar dinheiro do que ter novo vinil ou madeira substituição janelas instaladas. Acima de tudo, com o novo desconto de imposto federal de até 1.500 não há razão para não. Ter um deck bonito sempre terá um retorno positivo sobre o valor da sua propriedade. Adicionar uma plataforma é uma maneira barata de expandir seu espaço vivo. O custo médio para construir um baralho é de cerca de 7.000 e rendimentos de um retorno de cerca de 15.000 ao vender sua casa 8211Não a ruim, certo Então considere ter ahellip Leia mais Escolhendo o empreiteiro de tapume direito é crucial em qualquer instalação de tapume. Se está instalando o revestimento do vinil sobre o tapume ou removendo completamente seu revestimento existente para o tapume novo. Ter um contratante de tapume profissional que pode lhe fornecer a melhor solução para a instalação de tapume mais suave irá poupar-lhe um monte de dores de cabeça, tempo e lixo Leia mais O que nossos clientes estão dizendo Muito satisfeito Eu só queria expressar o quão satisfeito com o nosso novo telhado e Calhas sem emenda. Mike e seus trabalhadores são muito agradável e bem educado para ser. I couldnt believe it or Not como rápido que concluída coberturas nossa casa e garagem. Eles deixaram o lugar mais limpo do que quando começaram e protegeram nossos arbustos, plantas como prometido. Fomos tão felizes com a instalação do telhado, que queremos que eles de volta para substituições janela. Obrigado Mike Veja a casa deles / delas: telhando Melrose MA mdash Robert Patricia Quinn, Melrose, MA MBM Construção é rated 5 5 com base em 3 revisões. Encontrar o contratante direito não deve ser doloroso Fazer o melhoramento home direito ou o projeto remodelando pode adicionar o valor real a todo o tipo de repouso, se feito corretamente e eficientemente por um profissional licenciado e segurado. Usando materiais de alta qualidade que são eficientes em termos energéticos, atraentes e, o mais importante, confiáveis, tais como o tapume de vinil de baixa manutenção. Substituições de janelas. Telhados de telhas e decks personalizados irá adicionar valor real. Na maioria dos casos, você pode esperar e retorno imediato sobre o seu investimento depois de ter essas melhorias casa feita. Escolha um empreiteiro que vai começar o trabalho feito, orientá-lo através de cada passo do projeto do início ao fim, sem quaisquer extras escondidos. Nossos serviços da melhoria home deram-nos uma borda acima de outras companhias home da remodelação. Sendo uma das áreas principais prestadores de serviços em tapume, coberturas, janelas de substituição e adições de sala. Dá-nos grande poder de compra através de nossos fornecedores e em troca, pode passar ao longo da poupança para você Então, por que nos escolher como sua casa remodelação contratante Nós ouvimos as suas necessidades. Nós não usamos alta pressão vendas, ou tentar vender algo que você não precisa ou quer. A comunicação é a chave para qualquer tipo de projeto de remodelação e queremos que seu projeto tenha o melhor resultado possível. Você obterá um projeto detalhado tempo estimado de conclusão - sem dores de cabeça Você também terá uma das melhores garantias no negócio de melhoria home, se você precisar usá-lo. Que tipo de serviços de melhoria Home Você está procurando Escolha um contratante de telhadura que vai trabalhar em seu melhor interesse e não em quanto lucro ele pode fazer por cantos de corte. Como empreiteiros de telhados, acreditamos em usar as melhores telhas de telhado e underlayment para dar aos nossos clientes a paz de espírito. Para obter mais informações sobre serviços de coberturas, visite: Coberturas comerciais ou telhados residenciais Não todos os revestimentos de vinil e madeira são os mesmos. Escolha um contratante de tapume profissional que irá ajudá-lo a entender que tipo de revestimento de vinil para evitar, eo que vai lhe dar o melhor bang para seu buck a longo prazo. De uma plataforma convencional de pressão, mahagony deck, ou um deck composto - weve você coberto. Leia mais sobre Decks e Porches Deck buildersHTWay 8211 Um robô de tipo Segway Apresentando o HTWay, um robô de auto-equilíbrio tipo Segway. Este robô usa o sensor HiTechnic Gyro, bem como o HiTechnic IRReceiver. O sensor Gyro é usado para manter o equilíbrio enquanto o receptor IR permite que ele seja controlado com um controle remoto LEGO Power Functions. Atualização (8 de novembro de 2018): A versão do NXC foi atualizada para corrigir um bug que causou o crash do programa quando o nível de otimização foi definido além de 1. Atualização (28 de julho de 2018): O programa NXT-G no download acima tem Foi atualizado para usar o novo bloco de sensores Gyro 2.0 disponível para download na página Downloads. Se você estiver usando o bloco de sensores Gyro original de 1,0, você deve atualizá-lo para o novo bloco 2.0 para uso com este programa. Ambos os programas NXC e NXT-G funcionam essencialmente da mesma maneira. Os programas aproveitam-se da matemática em ponto flutuante que é nova com o LEGO Mindstorms NXT 2.0. O original 1.0 NXT apenas suportado math inteiro. Ao usar matemática em ponto flutuante não é essencial ao programar um robô do tipo Segway, torna o programa muito mais fácil de entender e trabalhar. Atualização para o NXT-G: Para o programa NXT-G, assegure-se também de baixar e instalar os blocos Gyro e IR Receiver do software LEGO Mindstorms. Você pode encontrá-los na página de downloads de blocos Mindstorms NXT-G. Se você costuma programar no NXT-G com o LEGO Mindstorms 1.0 ou 1.1, então esta é uma ótima oportunidade para tentar o NXC. Se você instalar o ambiente de desenvolvimento BricxCC. Você obterá NXC como parte do pacote. Para o HTWay você também precisará do firmware LEGO 1.26 ou superior. Eu recomendo LEGO Firmware 1.29. Este firmware é totalmente compatível com a versão anterior e ainda funcionará com o software LEGO Mindstorms 1.0 e 1.1. Você pode até usar o BricxCC para baixar o firmware para o NXT no menu Ferramentas, selecione Baixar Firmware. Você também precisará fazer com que o compilador NXC alvo o firmware 2.0 para tirar proveito da matemática ponto flutuante. Você pode fazer isso indo para Editar-Preferências e, em seguida, clique na guia Compilador e, em seguida, na sub-guia NBCNXC. Agora verifique a opção para 8220NXT 2.0 firmware8221 compatível. Atualização para o NXC: Para aproveitar o suporte a matemática em ponto flutuante, você também precisará baixar e instalar a versão de teste mais recente do BricxCC. Depois de baixar o arquivo zip da versão de teste, copie o conteúdo sobre a instalação existente do BricxCC. Isso provavelmente será c: Program FilesBricxCC. Quando você executar o programa, a primeira coisa que ele vai fazer é deixá-lo selecionar o tamanho da roda que você está usando. Existem três opções: Small (NXT 2.0), Medium (NXT 1.0) e Large (RCX). Use as teclas de seta para selecionar e o botão Laranja Enter para selecionar. O robô agora precisará obter um deslocamento inicial do giroscópio. Você pode pensar nisso como uma calibração Gyro Sensor. A fim de obter um bom deslocamento giroscópio, o robô terá de ser copletely ainda. Se você segurar o robô em sua mão ele vai esperar até você colocar o robô para baixo, e ele não está se movendo, antes que ele vai ter o deslocamento giroscópio e continuar. O HTWay começará a soar indicando que você tem cinco segundos para obter o robô vertical e o mais equilibrado possível. No final do bip longo, deixe ir. O robô agora deve estar equilibrado e pronto para ser conduzido com o controle remoto LEGO PF. Você pode controlá-lo como se fosse um tanque. Ambas as alavancas para a frente eo robô dirige para a frente. Ambos alavanca para trás e ele inverte. Uma alavanca somente e girará em torno de uma roda parada e de ambas as alavancas em sentidos opostos e girará no lugar. Este é um problema clássico na teoria de controle. Antes do Segway Personal Transporter. Era mais comumente conhecido como o problema do pêndulo invertido. Normalmente, quando você pensa em um pêndulo, como num relógio, ele fica pendurado abaixo do ponto de articulação, onde é estável, o pêndulo invertido é aquele em que o centro de gravidade está acima do ponto de articulação numa posição que é inerentemente instável. Para mantê-lo, o ponto de pivô tem que se mover para pegá-lo quando ele começa a cair. Esse é, em essência, o mesmo problema que fazer um equilíbrio segway robô. Com a LEGO Robotics, este desafio foi retomado muitas vezes. Primeiro veio Steve Hassenplug8217s LegWay usando o RCX e dois sensores EOPD. Estes sensores RCX EOPD foram os primeiros produtos HiTechnic que funcionavam essencialmente da mesma forma que os sensores EOPD NXT atuais. Estes sensores foram usados ​​para dizer a distância até o chão. Se o robô estivesse inclinado para frente, então os sensores estariam mais próximos do chão para que o RCX pudesse dizer que estava inclinado para frente. Se ele se recostasse, os sensores ficariam mais afastados da superfície. Esta foi uma criação fantástica e Steve ainda tem um lugar na fama de TV a cabo com este robô incrível. Não só poderia equilibrar-se excepcionalmente bem, poderia linha faixa e até mesmo girar em círculos para impressionar as multidões. Com o NXT, Philippe E. Hurbain construiu o NXTWay usando o Sensor de Luz NXT de uma forma semelhante a Steve Hassenplug8217s LegWay. Em condições controladas, o sensor LEGO Light também pode ser utilizado para medir a distância. Enquanto a iluminação ea superfície forem consistentes, o robô pode dizer se está inclinado para frente ou para trás com base no valor do sensor de luz. Dada a fraca resolução do sensor de luz, esta foi uma realização impressionante. O primeiro robô NXT Segway baseado em sensores giroscópicos veio de Ryo Watanabe na Universidade Waseda, no Japão. O vídeo original HiTechnic YouTube de um robô de equilíbrio foi de fato Ryo Watanabe8217s robô muito impressionante que estava usando, na época, um protótipo HiTechnic Gyro Sensor. Ryo fez um incrível trabalho de descrever a física e sua solução que foram muito valiosos na criação do atual modelo HTWay. Mais recentemente Dave Parker em nxtprograms criou um surpreendente NXT 2.0 um kit Segway com robô piloto usando o LEGO Cor sensor de forma semelhante ao Philo8217s NXTWay. Dave Parker veio com a idéia original de usar o terceiro motor para compensar o equilíbrio e para ele usar para fazer o robô ir para a frente ou para trás, de forma semelhante ao Segway PT real, que também é controlado pelo piloto humano inclinado para a frente ou para trás. Muito legal Laurens Valk também publicou recentemente um Segway tipo robô que usa o HiTechnic Gyro Sensor. Ele chama sua criação de AnyWay. Como o HTWay, seu programa também é escrito em NXT-G. O projeto Laurens8217s inspirou algumas idéias que foram usadas na criação do HTWay, incluindo a idéia de deixar o usuário escolher o tamanho da roda com a interface do botão no início do programa. Como funciona Em primeiro lugar, você não precisa entender exatamente como ele funciona para fazer este robô. Você pode construí-lo e colocar o programa NXC ou NXT-G nele e se divertir com ele, mesmo se você don8217t totalmente obter a matemática que o torna equilíbrio. Ambos os programas NXC e NXT-G são escritos de tal forma que o código de controle é separado do código de equilíbrio. Se você quiser usar outros sensores, como o sensor de ultra-som ou de luz, além do sensor Gyro que é essencial para o balanceamento, você pode fazer isso. Tudo que você precisa fazer é ter seu próprio código de controle que pode, por sua vez, dirigir o robô, alterando duas variáveis ​​globais, motorControlDrive e motorControlSteer em NXC e controlDrive e controlSteer em NXT-G. Ambas as variáveis ​​estão em graus por segundo. O controle de direção é baseado na diferença desejada nos encoders do motor. Acima, você encontrará os links de download para os programas NXC e NXT-G. Estes programas foram escritos para que eles trabalham tanto quanto possível da mesma maneira. Abaixo eu dou alguns trechos de código do programa NXC. Se você é um programador NXT-G, tente seguir. Você também pode olhar para o código real NXT-G no software LEGO Mindstorms e seguir junto lá. Uma vez que algumas das equações matemáticas ficam bastante grandes no NXT-G, pode ser mais fácil entender o programa NXC. A fim de equilibrar, o robô tem um loop de controle que leva quatro peças de informação em conta e, em seguida, decide quanta potência do motor é necessário para ficar na posição vertical. Em uma forma simplificada, o código NXC para o loop de equilíbrio principal tem a seguinte aparência: Note que o programa NXC real é um pouco mais complicado porque leva mais algumas coisas em conta, como condução, direção e o fato de que a potência do motor precisa Para ser limitado a um - 100 intervalo. Neste fragmento de código você pode ver que cada vez através do loop de equilíbrio, quatro dados são obtidos: gyroSpeed. GyroAngle. MotorSpeed. E motorPos. Estas são as variáveis ​​de estado que descrevem o que está acontecendo atualmente com o robô. É do sensor Gyro e é a velocidade angular do robô. Se o robô está no meio de cair para a frente, então este valor será positivo. As unidades são aproximadamente em graus por segundo. É o ângulo do robô. Este valor é positivo se o robô estiver inclinado para a frente e negativo se estiver inclinado para trás. (Isso não é exatamente verdadeiro, como será explicado mais tarde) As unidades para gyroAngle é graus. É a posição do robô em graus dos motores. Para o HTWay, esta é realmente a soma dos dois codificadores de motor. Este é o termo que mantém o robô em um lugar particular. É a velocidade dos motores. Este número é também em graus de segundo e é também baseado na soma dos dois codificadores de motor. Este termo é o que mantém o robô de oscilar excessivamente para frente e para trás e efetivly retarda-lo para baixo. Para calcular o poder estas variáveis ​​são multiplicadas por constantes respectivas em uma equação linear de quatro termos, sendo o resultado a potência necessária para que o robô permaneça equilibrado. O truque para fazer tudo funcionar, é encontrar as constantes corretas. Para lhe dar uma idéia do papel de cada termo na equação do equilíbrio, vou falar sobre cada termo um de cada vez com uma tentativa de isolar o que cada um faz. Em primeiro lugar, imagine que o robô está perfeitamente equilibrado e exatamente na posição desejada. Nesse caso, todas as quatro variáveis ​​serão zero. Em outras palavras, o robô é perfeitamente vertical, de modo que o gyroAngle é zero, o robô não está caindo para frente ou para trás, o robô não está se movendo e está exatamente na posição desejada. Como todas as quatro variáveis ​​são zero, o resultado da equação de potência também é zero. Então o que se todos os termos são zero, exceto que o robô está inclinado para a frente, por exemplo, o gyroAngle é de 5 graus. O que fazer Bem, se o robô está inclinado para a frente, então é necessário dirigir para a frente para tentar pegar o robô. Esse é o papel da constante KGYROANGLE. Quando multiplicado pelo gyroAngle. Ele vai dar o poder necessário para dirigir para a frente para pegar a queda para recuperar o equilíbrio. Novamente, imagine todos os termos são zero, exceto que desta vez o gyroSpeed ​​é positivo, talvez seja 10 graus de segundo. Assim, o robô está ereto e não se movendo, mas de alguma forma se meteu em uma situação em que está caindo para a frente. De certa forma, você pode pensar nisso como uma cabeça que as coisas estão se desviando. Mesmo que esteja ereto agora, está prestes a ser inclinado para a frente. Este termo permite que o robô responda mesmo antes de cair para a frente. Ele também desempenha um papel quando o robô está inclinado, mas está a caminho de se tornar vertical, nesse caso, este termo irá impedir o termo gyroAngle de fazer o robô responder quando na verdade está tudo bem. Então, o que sobre os dois termos motores Bem, se o robô está perfeitamente ereto e não caindo, mas o robô é 100 graus mais para a frente, em seguida, desejado, nesse caso motorPos será 100. Lembre-se, motorPos no programa HTWay é a soma dos dois motor Codificadores. A distância real de como distante para a frente é também dependerá do tamanho da roda. Enquanto seria bom para apenas dirigir de volta para a posição zero, que doesn8217t trabalho. Se você tentar apenas dirigir para trás de volta para a posição zero, então o robô realmente cair para a frente. A solução é, na verdade, dirigir para frente, porque, para ir para trás, você primeiro tem que fazer o robô cair para trás. Para fazer isso, você dirige para a frente O motorSpeed ​​termo funciona em uma espécie de da mesma forma como motorPos. Se o robô está no meio de dirigir para frente, em primeiro lugar, você precisa de pelo menos energia suficiente para manter a velocidade e, portanto, o equilíbrio, e então você ainda precisa de um pouco mais para obter o robô para inclinar para trás para torná-lo lento baixa. No programa NXC, as quatro constantes são definidas para esses valores perto do topo do programa: Uma nota sobre o tamanho da roda tornando-o ir No programa HTWay você pode selecionar o tamanho da roda que você está usando com uma interface de três botões. O que isso faz é definir uma variável global chamada ratioWheel para 0,8, 1,0 ou 1,4 para, respectivamente, as pequenas rodas NXT 2.0, as médias NXT 1.0 rodas e ou as grandes rodas RCX. Então, o que isso realmente fazer Bem, a equação equilíbrio real é um pouco diferente, em seguida, o que foi mostrado acima, aqui está a expressão completa utilizada no programa: Verifica-se que o tamanho da roda só precisa desempenhar um papel com os dois termos sensor de giroscópio E não os termos motores. A razão que o tamanho da roda é importante é porque as rodas maiores necessitam menos poder compensar para estar fora do contrapeso. Desde que as rodas maiores se movem mais, dada uma certa quantidade de entrada, você precisa de menos para conseguir a mesma quantidade de movimento. Então, por que não ter em conta o tamanho da roda nos termos motores? A razão é que esses termos são efetivamente auto-relativos. Se o robô estiver, por exemplo, uma polegada muito para frente, então isto será representado por um valor de motorPos mais alto para rodas pequenas do que para rodas grandes. Efetivamente, para o robô de rodas pequenas isso resultará em uma maior influência sobre a potência do motor do que o que acontecerá para a mesma distância usando as rodas maiores. No código acima você também verá que o motorControlDrive também desempenha um papel na equação de equilíbrio, este não é realmente o que impulsiona o robô. Este termo é usado para ajudar a obter o robô indo, bem como para retardá-lo sempre que o motorControlDrive termo muda. Quando você começa a dirigir o robô, este termo fará com que o robô primeira unidade para trás um pouco para rapidamente começar indo, então quando você parar ele dará ao robô um pouco de impulso extra para ajudá-lo a inclinar-se para trás para abrandar. A condução real vem dessa linha logo acima da equação de equilíbrio de potência: Toda vez que o loop é ajustado, a variável motorPos é ajustada proporcionalmente à variável global motorControlDrive. MotorControlDrive é em degreessecond assim, multiplicando-o pelo intervalo de tempo, estamos ajustando o motorPos pela quantidade que o robô deve mover cada vez através do loop de controle. Isso move a posição de destino ao longo da qual é o que faz a unidade do robô. Integração Se você é um jovem construtor de robôs, você provavelmente nunca ouviu falar de integração. Se você é mais velho, você provavelmente deseja que você nunca teve. Acontece que a integração é realmente útil e essencial para este projeto. E realmente não é tão difícil de entender. O problema é que o sensor Gyro não lhe dá um ângulo real. Você pode simplesmente ler o sensor Gyro e dizer se o robô está inclinado para frente ou para trás. Tudo que você pode dizer é a velocidade angular, em outras palavras, quão rápido ela está caindo. Então, se você conhece a velocidade angular, como você pode obter um ângulo, o que a integração faz. A integração é simplesmente o ato de adicionar uma série infinita de valores ao longo do tempo. Vamos dizer que em um determinado momento você sabe o ângulo do robô, nós mantemos isso em uma variável chamada gyroAngle. Cada vez que através do laço nós começamos do sensor do giroscópio a velocidade angular no degreessecond. Então, se sabemos o intervalo do loop, então podemos atualizar o nosso gyroAngle pela quantidade que sabemos que o ângulo mudou. Desde que nosso laço está funcionando em aproximadamente 100 vezes por o segundo, o tempo do intervalo é 0.01 segundos. Para atualizar o gyroAngle. Simplesmente adicionamos o gyroSpeed ​​vezes o intervalo de tempo (0,01 segundos) no gyroAngle para obter um novo valor. That8217s-lo Aqui está a função NXC para obter os dados giroscópios que faz isso: Esta função também cuida de mais uma peça de limpeza que devemos discutir: o deslocamento giroscópio. Uma vez que a tecnologia do elemento sensor giroscópico, o valor do sensor bruto é provável que seja não-zero mesmo quando o sensor não tem velocidade angular real. Uma vez que precisamos de um valor zero quando o sensor não está girando, precisamos manter um valor de deslocamento do giroscópio que podemos usar para ajustar o valor do sensor para obter uma velocidade angular precisa. Para manter um deslocamento do girocompra o programa faz duas coisas. Antes que o robô comece a equilibrar, obtém um deslocamento inicial do giroscópio fazendo uma média de 100 amostras do valor do sensor enquanto o robô está deitado no chão. Mas este valor será apenas o deslocamento giroscópio inicial. Enquanto o robô está dirigindo, também precisamos ajustar constantemente esse valor de deslocamento para evitar que o valor flua com o tempo (e, como resultado, todo o robô se moverá na posição se não for corrigido). No programa HTWay, isso é feito mantendo uma média de longo prazo conhecida como Exponential Moving Average. Uma vez que a média de longo prazo da velocidade angular, assumindo que o robô está equilibrando, deve ser zero, a média de longo prazo do valor do sensor pode ser usado como o offset do giro. No código acima, EMAOFFSET é muito pequeno, 0.0005, por isso, mesmo se o robô está movendo para frente e para trás ao equilibrar, não terá um grande efeito imediato sobre o valor gOffset. Somente se o deslocamento for desligado durante um período de tempo significativo, o valor do deslocamento será alterado. Esta maneira de usar uma média exponencialmente móvel também é conhecida como um filtro passa-baixa. GyroAngle e motorPos 8230 não exatamente zero Quando o robô começa a equilibrar, o programa assume que o robô está na vertical. Bem, mesmo se você é realmente bom quando você solta o robô, isso pode não ser verdade. Você é provável ser fora por um grau ou dois. Além disso, embora o programa mantenha um deslocamento de giroscópios e esteja constantemente integrando a velocidade angular para manter giro-ângulo. Isso pode não ser perfeito eo gyroAngle ainda pode drift um pouco com o tempo. Parece um desastre, não. Parece não ser um problema. A realidade é que quando você não está dirigindo eo robô é suavemente oscilando para trás e para frente mantendo o equilíbrio, o gyroAngle e motorPos pode ser proporcionalmente longe de zero. A razão que trabalha é porque os dois termos alcançaram um equilíbrio onde um desloca o outro. Por exemplo, o robô pode ser bem equilibrado em torno de um gyroAngle valor de 1 grau, para compensar, motorPos pode ser em torno de -107 graus. Quando esses dois valores são multiplicados pelas suas respectivas constantes na equação de equilíbrio, eles se cancelam mutuamente. Referências Ryo Watanabe fez um excelente trabalho de explicar tanto a física do problema ea equação linear que torna uma solução possível no NXT. Aqui está a visão geral. Outro bom site com informações sobre a programação de LEGO Segways é techbricks. nl. Agradecimentos Gostaria de agradecer a Laurens Valk e Xander Soldaat que me ajudaram com este projeto. Xander revisou a instrução de construção e testou o robô. Laurens e eu discutimos vários aspectos do programa que influenciaram algumas características como como o deslocamento do giroscópio é mantido, bem como a característica de permitir que o usuário selecione o tamanho da roda no início do programa. 8220Segway8221 é uma marca registrada da Segway, Inc. O controlador leva quatro coisas em conta para equilibrar o robô: a taxa de giroscópio (a taxa da queda em degsec), o ângulo (a integral da taxa), a velocidade do motor e Posição do motor. Estes quatro termos, juntamente com algum processamento adicional para lidar com a condução e direção, são então usar para definir uma quantidade proporcional de potência para os motores. Oi desculpe, para a resposta lenta. As coisas estão muito ocupadas ultimamente. Você pode usar o sensor de aceleração juntamente com funções trigonométricas para obter um ângulo de inclinação. O problema com isso é que ele só funciona quando o sensor está parado. Se você mover o sensor ao redor, então você também obter aceleração devido ao movimento e, em seguida, você não pode confiante obter um ângulo. No pior caso, um sensor montado em um robô em queda será essencialmente a queda devido à gravidade. Neste caso, ele não vai detectar nada está errado até que ele atinge o chão. Você precisa de um sensor giroscópio para fazer um robô de equilíbrio. Eu nunca vi isso feito com um sensor de aceleração. Gus eu também comprei um sensor giroscópio e receptor IR da sua empresa. I8217d gostaria de fazer um 8220Segway8221 LEGO robô, mas I8217m fazer a minha programação com RobotC. Eu estava na Academia de Robótica e perguntei aos especialistas sobre isso, mas esse projeto não poderia ajudar muito. Você pode me apontar na direção certa Você tem uma versão RobotC do seu programa Obrigado Eu don8217t tenho uma versão RobotC, mas eu sei que as versões RobotC existem em algum lugar na rede. Sugiro que você tome a versão NXC que também está disponível a partir desta postagem no blog e convertê-lo para RobotC. Estas línguas são um pouco diferentes, mas isso deve ser factível. Oi, Estou procurando o modelo matemático exato deste segway lego, pode sombady me ajudar Eu encontrei vários modelos, em representação de espaço de estado, mas os modelos de saída é a tocha não a velocidade ea entrada é a velocidade, a aceleração da roda, a velocidade angular , Aceleração angular do pêndulo e não a posição, velocidade da roda e ângulo, velocidade angular do pêndulo. Agradeço antecipadamente. Oi Gus e eu gostaria de programar o kit NXT (NXTway-gs) com o LabView. É um pouco difícil para mim. Você poderia me enviar a versão do LV do hway para me ajudar a MESMO VOCÊ MUITO. Olá. Eu estive lutando para modificar o código nxc para este HTWay. Mesmo o código não modificado não funciona. Eu executar o arquivo baixado em BricxCC, compilar e fazer o download muito bem. Mas então, quando eu executei o programa no NXT, após os bipes, ele diz Erro de arquivo. Conselho por favor. Segui cuidadosamente as instruções. Versão de teste mais recente, marque a caixa de verificação nxt 2.0 e todas essas coisas. Graças, eu suspeito que você don8217t têm o IRReceiver conectado como o programa assume. Se você don8217t tem o sensor IRReceiver, em seguida, comente o código que inicializa o sensor e tenta lê-lo. O robô deve equilibrar e permanecer no lugar se você remover este código. Se você quiser fazer a unidade do robô e virar, então você pode substituir esta tarefa com seu próprio código que define as mesmas variáveis ​​globais usadas pela tarefa de controle para dirigir e dirigir o robô. Envie-me um e-mail para apoiar no hitechnic ponto com e vou encontrar a versão do LabVIEW que tenho do HTWay. Eu tenho uma versão LV 2009, mas eu ainda preciso fazer um novo LV para LEGO Mindstorms versão do programa. Não, o sensor 8220Tilt8221 é um Acelerômetro. O Acelerômetro pode medir inclinação porque a gravidade é percebida como aceleração, mas isso só funciona se o sensor não está se movendo. Como o HTWay está constantemente em movimento, este sensor não pode ser usado para manter o equilíbrio. Para o HTWay, você precisa do sensor Gyro. O sensor Gyro dá um valor baseado na velocidade angular, mas não é afetado pelo movimento do robô. Qual é a vantagem do sensor giroscópio vs eopd Estou apenas começando um projeto LegWay e me parece mais fácil para traduzir a mudança na distância, como detectado por EOPD, em um nível de velocidade para o motor, em seguida, para lidar com o sensor giroscópio. Eu estou usando um kit RCX mais antigo (com o HiTech NXT-EOPD) 8230i este trabalho (eu tenho converson cabo) Preciso de dois EOPDs (ala Hassenplug) Deve esquecer isso e apenas ir gyro Quais são seus pensamentos Obrigado. Verdonko, em primeiro lugar, os sensores EOPD e Gyro NXT não funcionarão com o LEGO RCX mais antigo, mesmo com um cabo de conversão. O cabo permite que os sensores RCX e motores sejam usados ​​com o NXT, mas não o contrário. (Na verdade, os motores NXT funcionará). Um robô tipo NXT LegWay que usa os sensores EOPD poderia ser construído semelhante ao que Hassenplug fez com o RCX. O problema com o sensor EOPD é que ele será sensível à natureza da superfície em que está rodando. Se você tentar dirigir o robô em superfícies de cor diferentes ou algo como tapete, então ele não vai funcionar ou exigir re-calibração para essa superfície. Algumas superfícies não funcionarão em tudo, como um tapete escuro que absorve quase toda a luz. Ele também não irá lidar com declives uma vez que sendo equilibrado exige um ângulo diferente para a superfície quando você está em uma inclinação. Oi, Eu também tento construir um robô auto-balanceamento como o HTWay. I8217m usando LabView 2009. Mas eu tenho alguns problemas com o ângulo (derivação) e como ele funciona com a posição do motor. Você pode me ajudar com uma versão LabView do HTway I8217ve construiu seu HTWay cuidadosamente e parece funcionar, até certo ponto. Ele equilibra, gira, mas enquanto eu empurro ambas as alavancas remotas do PF na mesma direção (para frente ou para trás), o robô começa a mover-se para a frente ou para trás, mas quase imediatamente perde a balança e cai para a frente ou para trás, respectivamente . Nada como você demonstra em seu vídeo. I8217m usando NXT firmware 1.31, os tamanhos de roda correta, etc Eu tenho o mesmo problema, tanto com NXT-G e NXC. Meu compilador NXC está direcionando 2.0 firmware e otimizações níveis é 2. Você tem alguma idéia, sobre o que pode estar dando errado com meu robô Muito obrigado, com antecedência. Leitura através de todos os comentários, descobriu-se que eu estava usando também a minha bateria recarregável, a nível muito baixo. 7,4V apesar do indicador de barra ainda estar acima da metade. Depois de carregar completamente (agora 8,3V) ele funciona perfeitamente Grande modelo Obrigado Obrigado por esta coleção de links, informações e explicações, it8217s realmente útil e encorajador. It8217s feito trabalho de it8217s, I8217m fora agora para requisitar meu próprio sensor de HiTechnic Gyro assim que eu posso construir uma variante de HTway myself8230 obrigado Hi Gus, eu comprei um sensor de giroscópio eo sensor de infravermelho para construir seu robô de htway, e gostaria de programá-lo Com NXC. Mas eu acho que seu programa tem um bug Quando eu baixar o seu NXC Programm ele começa, mas a seleção da roda não está funcionando. Ouço alguns sinais de som e o NXT desliga. O NXT-G Programm funcionou muito bem, mas eu quero fazê-lo com o programa NXC 8211 eo Brixc. Obrigado pela sua ajuda Primeiro de tudo, I8217m não sei qual é o problema, mas eu pareço lembrar que pode haver um problema causado pelo nível de otimização usa pelo compilador NXC. Usando a caixa de diálogo Editar Preferências gt, altere o nível de otimização usado no Compilador gt NBCNXC para o nível 1. Isso pode fazer o truque.

No comments:

Post a Comment