• Welcome to LusoRobótica - Robótica em Português.
 

Segway

Started by Kcidade, 13 de June de 2012, 19:30

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Kcidade

Boas pessoas inteligentes xD

Já alguem desenvolveu uma especie de segway? 
É que eu comecei a desenvolver um, utilizando dois motores, 1 arduino, um drive (ponte H) e um acelereometro, que retirei de um nunchuck da wii.

Eu já consigo obter os dados do acelerometro, posto isto desenvolvi um programa do tipo quanto mais inclinado tiver maior e' a velocidade dos motores, mas com este programa não funciona correctamente, pois parece mais um segway "borrachom" xD

Eu sei que tenho que utilizar umas "cenas" a que chamam de filtros e PID.. Será que alguem me consegue dar umas dicas para isto

Com os melhores cumprimentos
Kcidade

senso

Tens de usar giroscópios, um acelerómetro não vai funcionar da maneira que queres.
Existem alguns projectos desses pela internet fora.
Avr fanboy

ivitro

Dá uma vista de olhos nisto:

web.mit.edu/scolton/www/filter.pdf

Kcidade

Quote from: senso on 13 de June de 2012, 20:03
Tens de usar giroscópios, um acelerómetro não vai funcionar da maneira que queres.
Existem alguns projectos desses pela internet fora.

Obrigado Senso, eu ja tive á procura e não vi grande coisa. Qual o nome que se costuma de chamar a estes projectos (sem ser segway)?

Kcidade

Quote from: ivitro on 13 de June de 2012, 20:22
Dá uma vista de olhos nisto:

web.mit.edu/scolton/www/filter.pdf

Obrigado Ivitro =D

senso

http://diysegway.blogspot.pt/

Provavelmente tens ai tudo o que precisas de saber.
Avr fanboy

Kcidade


SJD22

Já agora que motores estás a usar e onde os adquiriste?

obrigado.


senso

Poranto, estás só na parte de um balancing robot e não de um segway para levar uma pessoa em cima...
Procura por balancing robot, aparece muita coisa.
Avr fanboy

SJD22

Pois, com esses motores nao leva ninguem em cima :)

Kcidade

Pois, é isso. Não fui bem explicito xD

Kcidade

Ok, desisto!
Não consigo perceber o funcionamento dos filtros :S
Alguem me pode tentar explicar? Ou furnecer um codigo comentado.
Eu estou a utilizar como acelerometro um nunchuck da wii. Se fosse possivel "fazerem o codigo" já proprio para o comando Agradecia.

senso

Acho que deves começar por ler muito sobre o assunto.
Que filtros te referes?
Como estás a usar um acelerómetro a primeira coisa é leres sobre como usar trigonometria para tirar o valor da inclinação em X e Y a partir dos valores do acelerómetro.
Depois disso, o mais simples é agarrar numa biblioteca PID, que tenha como set-point uma inclinação de 0º e que tenha como saida o pwm de controlo dos motores, com sinal(variavel int e não unsigned int) e a partir do sinal até tirar logo o sentido de rotação dos motores.
De um modo simplificado é isso, depois podes precisar de juntar um filtro que pode ser algo tão simples como uma média de 2,4 ou 8 valores do acelerómetro para limpar o ruido inerente do mesmo, que é para o robot não começar a oscilar devido a estar tentar corrigir oscilações de menos de um grau por exemplo.

Como primer deixo-te isto:
http://electronics.stackexchange.com/questions/2844/calculating-inclination-using-accelerometer
E uma App-note da Analog Devices que é uma excelente introdução precisamente ao que precisas de fazer:
http://www.analog.com/static/imported-files/application_notes/AN-1057.pdf
Avr fanboy

FET_Destroyer

Boas Kcidade
Eu tambem ando à quase uma eternidade para construir um robot desses, ja tenho o hardware todo feito mas por falta de tempo nunca me deciquei ao codigo, no entanto encontrei um site muito bom. Neste site eles tem documentação toda, teoria, código comentado, etc, muito bom, é um bom ponto de partida.

Cumps

http://www.segwii.com/