METODOLOGIA ................................................................................................................................. 5 1 CONTROLADOR DE POSIO ........................................................................................................... 5 1.1 ENTRADA DEGRAU DE 20 CM ......................................................................................................... 5 1.2 SEQUNCIA DE ENTRADAS EM DEGRAU ........................................................................................ 5 2 SEGUIDOR DE LINHA ........................................................................................................................ 6
ANLISE DE RESULTADOS ............................................................................................................ 7 1 CONTROLADOR DE POSIO ........................................................................................................... 7 1.1 ENTRADA DEGRAU DE 20 CM ......................................................................................................... 7 1.2 SEQUNCIA DE ENTRADAS EM DEGRAU ........................................................................................ 9 2 SEGUIDOR DE LINHA ...................................................................................................................... 10
Nos dias de hoje comum falar sobre processos mecanizados e mesmo quem no compreende toda a metodologia envolvida nesses processos tem conscincia que um processo mecanizado ou automatizado em geral mais eficiente e preciso. Mas para que essas tcnicas sejam possveis preciso fornecer regras e condies que vo ensinar a mquina em questo como agir em diferentes situaes, estabelecendo um controle do processo. Temos ento, que precisamos basicamente de uma tcnica de controle que nos permita automatizar o processo. Quando queremos tornar as aes da mquina mais interativas, ns determinamos diferentes aes e respostas para diferentes estmulos obtidos por meio de sensores. Por exemplo, sensores ultrassnicos, ou de posio, podem ser usados para identificar a passagem de peas em uma esteira, ou um sensor de cor pode selecionar para que compartimento cada item deve ser enviado diferenciando etiquetas de identificao. Um dos mtodos didticos, mais utilizado atualmente na rea de automao e robtica o rob de LEGO, pela sua praticidade e variedade de funes. Para controlar o processo, identificando as entradas e definindo as sadas, podemos utilizar softwares como o conhecido programador por matriz MATLAB, sendo possvel analisar o comportamento do processo atravs de grficos e realizar as modificaes necessrias.
4
Objetivos
Na primeira parte do projeto devemos: Utilizar um sensor ultrassnico para manter uma distncia de controle de 20 cm do rob para uma superfcie esttica. Testar diferentes valores de ganho de modo a encontrar as faixas em que o movimento seja estvel subamortecido, estvel sobreamortecido e instvel. Utilizar um valor estvel de ganho encontrado, de preferncia um valor estvel subamortecido, para programar o rob para manter durante 3 fases distncias diferentes, sendo as distncias 20, 30 e 15 cm, com cada fase tendo durao de 10 segundos. Na segunda parte do projeto devemos: Utilizar um sensor de cor para possibilitar o rob de LEGO a realizar um trajeto em forma de tringulo ao menos duas vezes. O tringulo deve ser um tringulo retngulo com catetos de valor 20 e 30 cm, e o percurso deve ser iniciado no lado de 20 cm do ngulo reto.
5
Metodologia
1 Controlador de Posio
1.1 Entrada Degrau de 20 cm
Basicamente deve-se seguir uma ordem lgica de aes para realizar o controle desejado: Incio; Conexo da interface do rob LEGO; Definio da distncia e do ganho; Leitura do sensor durante um tempo predeterminado (100s); Ajuste do motor de acordo com o desvio do valor desejado; Fim.
1.2 Sequncia de Entradas em Degrau
Nessa parte do experimento segui-se uma ordem semelhante a da parte 1.1, levando em conta que dessa vez deve-se trabalhar com trs fases diferentes. Tem-se ento a seguinte ordem:
Incio; Conexo da interface do rob LEGO; 6
Definio do ganho; Definio da distncia 1; Leitura do sensor durante um tempo predeterminado (10s); Ajuste do motor de acordo com o desvio do valor desejado; Definio da distncia 2; Leitura do sensor durante um tempo predeterminado (10s); Ajuste do motor de acordo com o desvio do valor desejado; Definio da distncia 3; Leitura do sensor durante um tempo predeterminado (10s); Ajuste do motor de acordo com o desvio do valor desejado; Fim.
2 Seguidor de Linha
Analisando o problema tem-se que para o rob seguir a linha da forma mais uniforme possvel deve-se faz-lo seguir a aresta externa da linha, onde o sensor de cor identificar se o rob est fora (branco) ou dentro (preto) do caminho desejado.
7
Anlise de Resultados
1 Controlador de Posio
1.1 Entrada Degrau de 20 cm
Seguindo a ordem estabelecida anteriormente, o programa apresentar uma forma semelhante a seguinte:
t=zeros(1,100); distancia=zeros(1,100); i=1; p =9;
for i=1:100 t(i)=i; distancia(i) = GetUltrasonic (SENSOR_1); e = (20 - distancia(i)); m_e.Power = -1*(e * p); m_d.Power = -1*(e * p); m_e.SendToNXT (); m_d.SendToNXT (); pause (0.1); i = i+1; end
plot(distancia,t); COM_CloseNXT (h);
Onde p representa o ganho a ser alterado para realizar os testes. Como no foi possvel realizar os testes devido a falta de alimentao do rob, irei utilizar de dados anteriores para simular como deveria ter sido o resultado. 8
Figura I Superamortecido (p=50) Figura II Subamortecido (p=10)
Figura III Instvel (p=100)
Temos que para grandes ganhos o sobrepasso sempre muito abrupto, no possibilitando a estabilidade. Para ganhos medianos temos um comportamento sobreamortecido, caracterizado por sobrepassos que vo ficando menores at atingir a estabilidade. Para ganhos menores temos um comportamento sobreamortecido, onde o valor desejado atingido atravs de um lento aumento ou diminuio dos valores de processo.
9
1.2 Sequncia de Entradas em Degrau
Novamente deve-se seguir a ordem estabelecida para montar o cdigo no MATLAB, obtendo-se algo parecido ao seguinte:
t=zeros(1,300); distancia=zeros(1,300); i=1; p =-9;
for i=1:100 t(i)=i; distancia(i) = GetUltrasonic (SENSOR_1); e = (20 - distancia(i)); m_e.Power = (e * p); m_d.Power = (e * p); m_e.SendToNXT (); m_d.SendToNXT (); pause (0.1); i = i+1;
end for i=101:200 t(i)=i; distancia(i) = GetUltrasonic (SENSOR_1); e = (30 - distancia(i)); m_e.Power = (e * p); m_d.Power = (e * p); m_e.SendToNXT (); m_d.SendToNXT (); pause (0.1); i = i+1;
end for i=201:300 t(i)=i; distancia(i) = GetUltrasonic (SENSOR_1); e = (15 - distancia(i)); m_e.Power = (e * p); m_d.Power = (e * p); m_e.SendToNXT (); m_d.SendToNXT (); pause (0.1); i = i+1;
end
plot(distancia,t);
COM_CloseNXT (h);
Como novamente no foi possvel realizar os testes e plotagem, irei utilizar de dados do mesmo teste anterior para simular como deveria ter sido o resultado. Utilizando o ganho estvel encontrado no experimento anterior (p=10), temos o seguinte grfico: 10
Onde para cada faixa de tempo, temos a estabilidade na posio desejada.
2 Seguidor de Linha
De acordo com o item anterior o caminho seguido pelo rob ser determinado basicamente pela presena das cores preta ou branca, logo no vai ter relao alguma com a geometria do problema, e o posicionamento inicial deve ser feito manualmente. Como no foi possvel a realizao da atividade, vamos analisar resultados anteriores desse mesmo experimento. Assim sendo, temos que o programa ser o seguinte:
11
Podemos perceber ento que como o programa s percebe a diferena das cores preto e branco, ele no conhece reconhecer o comeo e o fim do percurso. Isso poderia ser resolvido talvez, adicionando um contador que reconhea curvas mais demoradas (o rob deve demorar mais nos vrtices do tringulo), e que pare o programa aps a 6 curva, tendo o rob completado ento duas voltas.
12
Concluso
Essa prtica foi realmente desafiadora dada a pouca prtica que tinha em MATLAB. Mas como as atividades eram bem dinmicas, torna-se simples o desenvolvimento das prticas propostas. Infelizmente, problemas tcnicos e pblicos impossibilitaram a completa realizao das atividades, pude porm, por meio de resultados alheios, entender e analisar os processos realizados. Finalmente, essa atividade foi suficientemente satisfatria, dando aos estudantes da cadeira a oportunidade de um primeiro contato com a automao e o controle prticos, utilizando de uma linguagem de programao relativamente simples. Possibilitando um aprofundamento futuro e desenvolvimento de controles para processos mais complexos.