A.3 Aspectos de Programac~ao
A.3.1 O Programa de Controle de Trajetoria
A Figura A.11 mostra o diagrama de estados do programa de controle de trajetoria, obtido a partir da compilac~ao do projeto composto por AGVCTRAJ.CPP, UAI.CPP, UPI.CPP e UCT.CPP.
Durante a fase de iniciac~ao, o sistema carrega sua congurac~ao de arquivos em formato ASCII (numero de pontos Npts a serem adquiridos e dimens~oes do veculo).
Tambem s~ao carregados os par^ametros dos controladores e dos ltros de velocidade. Os dados do experimento de controle de trajetoria s~ao armazenados em vetores alocados dinamicamentedurante a iniciac~ao. Os vetores de interrupc~ao do PC s~ao desviados para as rotinas que tratam os eventos associados a interrupc~oes no programa de controle. As interrupc~oes utilizadas s~ao associadas a algumas linhas IRQ disponveis no barramento ISA, que s~ao:
IRQ5: Linha de requisic~ao geralmente utilizada por impressoras conectadas a porta paralela LPT2. No cart~ao de interface, esta linha e conectada a um dos
Ap^endice A. O Ve culo Prototipo 135 sinais do codicador incremental da roda de trac~ao da esquerda para a medic~ao do perodo da onda de velocidade
IRQ7: Linha de requisic~ao geralmente utilizada por impressoras conectadas a porta paralela LPT1. No cart~ao de interface, esta linha e conectada a um dos sinais do codicador incremental da roda de trac~ao da direita para a medic~ao do perodo da onda de velocidade
IRQ0: Esta linha e associada ao contador 0 de um temporizador 8254 disponvel na placa m~ae, e programado para gerar um pedido de interrupc~ao a uma taxa de aproximadamente 18,2 Hz. O programa de controle utiliza esta interrupc~ao para detectar o momento de parada dos motores de trac~ao. Isto e vericado se em duas ocorr^encias consecutivas de IRQ0 n~ao houver ocorrido uma interrupc~ao IRQ5 ou IRQ7. A ac~ao da rotina de interrupc~ao associada a IRQ0 e escrever zero nas velocidades!d ou !e, de acordo com o caso
IRQ8: Linha de requisic~ao utilizada pelo relogio em tempo-real que foi implemen-tado a partir da linha AT da IBM. O relogio em tempo-real gera uma interrupc~ao periodica por esta linha, utilizada pelo sistema operacional para a atualizac~ao do relogio (horas, minutos e segundos). No veculo, o relogio em tempo-real foi pro-gramado para gerar uma interrupc~ao a cada 3 90625 ms, onde e executado o escalonador de tarefas.
As rotinas de interrupc~ao associadas a IRQ5 e IRQ7 tambem aplicam as formulas de odometria para a atualizac~ao da posic~ao relativa do veculo.
Apos a iniciac~ao, o programa ca em um laco principal. Durante este laco e calcu-lado o erro de trajetoria e a lei de controle de trajetoria, e realizado o armazenamento de dados nos vetores previamente alocados, sincronizados com a ocorr^encia do escalo-nador, ou seja, a cada 3 90625 ms: Durante este laco, ocorrem as interrupc~oes progra-madas na iniciac~ao. O escalonador gerencia a execuc~ao de tr^es tarefas emround-robin e n~ao permite preempc~ao. Associado a cada tarefa existe um contador que determina o momento de execuc~ao em numeros de execuc~ao do escalonador. As tarefas gerenciadas pelo escalonador s~ao:
Ap^endice A. O Ve culo Prototipo 136
TAREFA 1: trata do calculo das velocidades das rodas de trac~ao sendo auxiliada pelas interrupc~oes das linhas IRQ5 e IRQ7, que medem os perodos das ondas de velocidade geradas pelos codicadores incrementais, e IRQ0 que detecta as rodas paradas. Esta tarefa realiza tambem a ltragem das velocidades medidas. O perodo de execuc~ao desta tarefa e igual ao perodo de execuc~ao do escalonador
TAREFA 2: implementa as leis de controle de velocidade angular das rodas de trac~ao. O escalonador executa esta tarefa a cada 19 53125 ms, ou seja, cada 5 execuc~oes do escalonador
TAREFA 3: responsavel por gerar os sinais PWM e os sinais de polaridade para os circuitos de acionamento dos motores de trac~ao. Esta tarefa e executada a cada ocorr^encia do escalonador.
A Figura A.12 mostra a sequ^encia de execuc~ao das tarefas pelo escalonador. Como pode ser vericado, apenas a tarefa TAREFA 2, que implementa os controladores de velocidade angular das rodas de trac~ao, e realizada a cada 5 execuc~oes do escalonador.
Se as tarefas n~ao terminarem ate a proxima interrupc~ao IRQ8, o sistema entra em pane (caracterstica de um executivo que n~ao permite preempc~ao). Mas isto n~ao chega a ocorrer pois as tarefas s~ao executadas rapidamente pelo microprocessador da central de processamento.
O laco principal pode ser nalizado se alguma tecla for pressionada no teclado (se ele estiver conectado), ou quando o veculo sai da trajetoria. Ent~ao o sistema salva os ultimos Npts adquiridos no laco principal em um arquivo com a terminac~ao .MAT. Desta forma, o comportamento do veculo durante experimentos de avaliac~ao do controlador de trajetoria pode ser avaliado com a ajuda do MATLAB.
Ap^endice A. O Ve culo Prototipo 137
T2 - TAREFA_2 T3 - TAREFA_3 T1 - TAREFA_1
T1 T1
Tempo em unidades
3 4 5 6 7 de 3,90625 ms
T1 T1
Escalonador Escalonador Escalonador Escalonador Escalonador Escalonador Escalonador Escalonador
0 1 2
Legenda:
T1 T1 T2 T3
T1
T1 T2 T3 T3 T3 T3 T3 T3 T3
Figura A.12: Sequ^encia de execuc~ao de tarefas pelo escalonador.
Refer^encias
1] Chiel, H. J., Beer, R. D., Quinn, R. D. e Espenschied, K. S. Robustness of a distributed neural network controller for locomotion in a hexapod robot. IEEE Robotics and Automation Magazine, 8, no. 3, p.293{303, June 1992.
2] Yamaura, S. K. N. T. e Kobayashi, A. Dynamic walking control of a biped robot along a potential energy conserving orbit. IEEE Transactions on Robotics and Automation, 8, no. 4, p.431{438, August 1992.
3] Valavanis, K. P. e Saridis, G. N. Intelligent Robotic Systems: Theory, Design and Applications. Kluwer Academic Publishers, 1992.
4] Baluja, S. Evolution of an articial neural network based autonomous land vehicle.
IEEE Transactions on Systems, Man and Cybernetics, 26, no. 3, p.450{463, June 1996.
5] Hessburg, T. e Tomizuka, M. Fuzzy logic control for lateral vehicle guidance.
IEEE Control Systems Magazine, p. 55{63, August 1994.
6] Hongo, T., Arakawa, H., Sugimoto, G., Tange, K. e Yamamoto, Y. An automatic guidance system of a self-controlled vehicle. IEEE Transactions on Industrial Electronics, 34, no. 1, p.5{10, February 1987.
7] Sung, E., Loon, N. K. e Yin, Y. C. Parallel linkage steering for an automated guided vehicle. IEEE Control Systems Magazine, p. 3{8, October 1989.
138
REFER^ENCIAS 139 8] Arkin, R. C. e Murphy, R. R. Autonomous navigation in a manufacturing envi-ronment. IEEE Robotics and Automation Magazine, 6, no. 4, p.445{454, August 1990.
9] Ruspini, E. H., Sa+otti, A. e Konolige, K. Progress in Research on Autonomous Vehicle Motion. IEEE Press, 1995.
10] Konolige, K., Myers, K. e Ruspini, E. The saphira architecture: A design for autonomy. Journal of Experimental and Theoretical Articial Intelligence, p. 215{
235, September 1997.
11] Miyagi, P. E., Adamowski, J. C., Moscato, L. A., Okamoto, J. e Barretto, M. R. P.
Veculos aut^onomos de transporte e seus controles. In III Congresso Nacional de Automac~ao Industrial, p. 226{233, September 1988.
12] Borenstein, J., Everett, H. R. e Feng, L. Navigating Mobile Robots - Systems and Techniques. AK Peters, 1996.
13] Borenstein, J. e Feng, L. Measurement and correction of systematic odometry errors in mobile robots. IEEE Transactions on Robotics and Automation, 12, no. 6, p.869{880, December 1996.
14] Hemerly, E. H. e Rodrigues, C. C. Guiagem de veculos aut^onomos utilizando sensor de vis~ao. In X Congresso Brasileiro de Automatica, v. 2, p. 873{878, 19 a 23 de Setembro 1994.
15] Russel, R. A. Laying and sensing odor markings as a strategy for assisting mobile robot navigation tasks. Robotics and Automation Magazine, p. 3{9, 1995.
16] Millman, J. e Halkias, C. C. Eletr^onica. McGraw-Hill, 1981.
17] Lang, T. T. Electronique des Systemes de Mesures. Masson S.A., 1992.
18] Sjoberg, J. Non-Linear System Identication with Neural Networks. Ph.D. thesis, Linkoping University, 1995.
REFER^ENCIAS 140 19] Yang, S.-S. e Tseng, C.-S. An orthogonal neural network for function approxima-tion. IEEE Transactions on Systems, Man and Cybernetics, 26, no. 5, p.779{784, October 1996.
20] Webb, A. R. Functional approximation by feed-forward networks: A least-squares approach to generalization. IEEE Transactions on Neural Networks, 5, no. 3, p.363{371, May 1994.
21] Chen, D. S. e Jain, R. C. A robust back propagation learning algorithmfor function approximation. IEEE Transactions on Neural Networks, 5, no. 3, p.467{479, May 1994.
22] Sjoberg, J., Hjalmarsson, H. e Ljung, L. Neural networks in system identication.
Tech. rep., Linkoping University, 1993.
23] Haykin, S. Neural Networks - A Comprehensive Foundation. Prentice Hall, 1994.
24] Ljung, L. System Identication - Theory for the User. Prentice-Hall, 1987.
25] Ljung, L. e Sjoberg, J. A system identication perspective on neural nets. Tech.
rep., Linkoping University, 1992.
26] Borges, G. A. e Lima, A. M. N. Sistema Optico de reconhecimento de trajetoria para veculos aut^onomos utilizando redes neurais. In III Congresso Brasileiro de Redes Neurais, p. 414{418, Julho 1997.
27] Borges, G. A., Lima, A. M. N. e Deep, G. S. Characterization of a neural network-based trajectory recognition optical sensor for an autonomous vehicle. In IEEE Instrumentation and Measurement Technology Conference 1998 - IMTC98, p.
1179{1184, May 1998.
28] Rivals, I., Personnaz, L., Dreyfus, G. e Canas, D. Real-time control of an autono-mous vehicle: a neural network approach to the path following problem. In Sixth International Conference on Neural Networks and Their Applications, 1993.
REFER^ENCIAS 141 29] ,Astrom, K. J. e Wittenmark, B. Computer-Controlled Systems: Theory and
De-sign. Prentice Hall Information and System Sciences Series, 1990.
30] Middleton, R. H. e Goodwin, G. C. Digital Control and Estimation. Prentice-Hall International Editions, 1990.
31] ,Astrom, K. J. e Wittenmark, B. Adaptive Control. Addison Wesley, 1995.
32] Ninomiya, T., Nakahara, M., Higashi, T. e Harada, K. A unied analysis of resonant converters. IEEE Transactions on Power Electronics, 6, no. 2, p.260{
270, April 1991.
33] Raju, G. S. N. e Doradla, S. An lcl resonant converter with pwm control - analysis, simulation and implementation. IEEE Transactions on Power Electronics, 10, no. 2, p.164{174, March 1995.
34] Bhat, A. K. S. Analysis and design of a modied series resonant converter. IEEE Transactions on Power Electronics, 8, no. 4, p.423{430, October 1993.
35] Hua, G., Leu, C.-S., Jiang, Y. e Lee, F. C. Novel zero-voltage-transition pwm converters. IEEE Transactions on Power Electronics, 9, no. 2, p.213{219, March 1994.
36] Mohan, N., Undeland, T. M. e Robbins, W. P. Power Electronics: Converters, Applications and Design. John Wiley & Sons, 1989.
37] Horowitz, P. e Hill, W. The Art of Electronics. Cambridge University Press, 1995.
38] RF Monolithics, I. Product Data Book. RFM, 1997.
39] Clarke, K. K. e Hess, D. T. Communication Circuits: Analysis and Design. Addison-Wesley Publishing Company, 1971.
40] Oliveira, A. C. Controle Digital de Sistemas de Acionamento de Maquina Assncrona. Master's thesis, UFPB/CCT/DEE/COPELE, 1995.