Caros Amigos,

       Usando o código da SainSmart ( http://www.sainsmart.com/robotics/sainsmart-balancing-robot-kit.html) está muito difícil de encontrar o Centro de Gravidade com a bateria que coloquei. Na verdade ele não encontrar o centro de gravidade para equilíbrio. Alguém teria um algoritmo para que o robô alcance sozinho o centro de gravidade, utilizando MPU6050 (http://www.sainsmart.com/sainsmart-mpu-6050-3-axis-gyroscope-module...). 

       Outra dúvida é a utilização do potenciometro, em minha opinião ele deveria calcular a força dos motores automaticamente.

       Se alguém tiver um bom algoritmo para calculo do centro de gravidade para balancing robot, agradeço.

        

Exibições: 1212

Anexos

Responder esta

Respostas a este tópico

Boa noite!

Nunca tive contato com este robô mas vendo o vídeo demonstrativo entendi que os potenciômetros que você comenta são para ajustar os ganhos PID do controle de inclinação do robô, certo? Talvez você não esteja conseguindo um controle satisfatório pois a bateria que colocou é muito pesada e os motores não possuem torque para responder precisamente (hipótese).

Quando se refere à um algoritmo que faça com que o robô alcance sozinho o equilíbrio, você quer um algoritmo para auto tuning do PID, certo? No caso deste robô, ele consegue manter a inclinação porém o ajuste do controle tem que ser feito manualmente (mesmo com um auto tuning poderia ser necessário um ajuste fino manual).

Luciano, olha esse vídeo: deve ter uma forma... 

https://www.youtube.com/watch?v=poWP-RpPa3g

Bom tens que ver que são duas estruturas diferentes (o seu robo e o do video). E como no próprio vídeo é visível, quando a estrutura é alterada demasiadamente é requerida a alteração dos ganhos do controle PID (no caso do vídeo, valores pré ajustados são carregados pelo controle remoto). Pelo que parece, o robô deste vídeo que você passou realiza vários controles: posição, inclinação, velocidade.

Acredito que para o robô do vídeo chegar no ponto que está, demandou algum tempo de ajustes. Não é impossivel criar um algoritmo de auto tuning, mas da mais trabalho do que tentar ajustar o controle. hehe Como comentei antes, não sei das características mecânicas do seu robô, mas eu tentaria primeiro com uma bateria menor, se a atual for pesada e alterar muito as características da estrutura.

O problema do auto tuning nesta aplicação é que você não consegue deixar o sistema rodando com um erro muito grande pois o robô cai, e uma vez que caiu não volta mais pro set point (nem oscila em torno dele). Diferente de um controle de temperatura por exemplo, que por mais que tenha overshoot ou não saia do oscilatório não entra num ponto onde "não tem mais como manter o controle". Para o robô, terias que começar com valores pelo menos pre estabelecidos, e no máximo conseguiria implementar um algoritmo que otimize estes valores, mas pelo menos valores para mantes o robô em pé (mesmo que oscilando pra frente e pra trás) você terá que encontrar com os potenciômetros.

Alguma novidade Pablo?

Luciano,

     Estudo Engenharia Mecatrônica e estou em período de provas, tendo que interromper os avanços no Arduino. Em dezembro entro de férias e pretendo retomar meus estudos em Arduino. Assim que conseguir avançar algo postarei aqui os resultados. No entanto, encontrei um motor muito interessante que possui embarcado um controle de velocidade:

http://www.dfrobot.com/index.php?route=product/product&product_...

Não sei ainda se o uso dessa tecnologia será importante para o projeto, mas....

Abraços,

Pablo.

Ah sim, entendo, período de provas é complicado.

Vi o motor que você mencionou. Tens certeza sobre o controle de velocidade embarcado? Pelo que li, ele apenas possui um encoder acoplado que pode sim ser útil para ter o feedback da velocidade do motor porém o controle de velocidade você terá que fazer. Não sei se no seu caso é necessário este feedback, uma vez que o objetivo é manter a inclinação do robô, independente da velocidade dos motores, acredito.

Já viste algo sobre pendulo invertido? Seu robô é basicamente isto. (O tal do pêndulo já tive vontade de fazer, mas nunca passou da vontade, hehe).

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço