Ao final de v´arios testes, foi poss´ıvel a elaborac¸˜ao do modelo completo do VMA. Con- forme citado anteriormente neste cap´ıtulo, este modelo considera alguns efeitos dinˆamicos do robˆo, e se mostrou imprescind´ıvel para a elaborac¸˜ao de todo este trabalho, pois atrav´es desta plataforma de testes virtual foi poss´ıvel realizar todo o processo off-line de otimizac¸˜ao dos ganhos dos controladores lineares, que ´e o foco principal deste projeto.
A Figura 4.13 mostra o modelo cinem´atico do ve´ıculo no Simulink. J´a a Figura 4.14 exibe o modelo completo do sistema com os blocos que fazem o papel de adequar a cinem´atica ao funcionamento real do prot´otipo.
(a)
(b)
Figura 4.14: Modelo completo com inclus ˜ao de efeitos din ˆamicos.
Alguns testes foram realizados para verificac¸˜ao da qualidade do modelo obtido. A Figura 4.15 mostra trˆes comportamentos distintos do sistema para uma mesma manobra, a Figura 4.15(a) exibe o comportamento cinem´atico puro do RMMA, a Figura 4.15(b) representa o funcionamento real do prot´otipo e a Figura 4.15(c) ilustra a simulac¸˜ao do modelo cinem´atico adequado ao caso real.
(a)
(b)
(c)
Figura 4.15: (a) Modelo cinem´atico (b) Comportamento real do prot´otipo (c) Modelo ade- quado utilizado para simulac¸˜ao - Manobra: [θ1, θ2] = [3.9◦, 6◦] → [1◦].
Analisando os gr´aficos, percebe-se de forma clara, que simplesmente o modelo cinem´atico n˜ao representa o comportamento real do sistema. Esta diferenc¸a consider´avel, justifica o fato de se realizar todo o processo de adequac¸˜ao no sistema para que se conseguisse um com- portamento mais pr´oximo da realidade. Nota-se que o modelo obtido ap´os o processo de adequac¸˜ao (Figura 4.15(c)) exibe um comportamento bem pr´oximo do real e bem distinto do modelo cinem´atico original, demonstrando o qu˜ao distante ´e o comportamento real do sistema do modelo cinem´atico.
A Figura 4.16 mostra o comportamento do sistema para uma manobra, denominada aqui, de fechamento, ou seja, o ˆangulo de referˆencia de θ2tem um valor absoluto menor do que o
ˆangulo de posicionamento inicial. Esta manobra ´e mais complexa, pois exige uma correc¸˜ao maior do ˆangulo θ1 para que se consiga realizar o movimento. Nota-se novamente, pela
comparac¸˜ao das Figuras 4.16(c) e 4.16(b), que o modelo depois da adequac¸˜ao se comporta muito pr´oximo da realidade.
(a) (b)
(c)
Figura 4.16: (a) Modelo Cinem´atico (b) Comportamento real do prot´otipo (c) Modelo Ade- quado Utilizado para Simulac¸˜ao - Manobra: [θ1, θ2] = [7.77◦, 12◦] → [7◦].
A Figura 4.17 tamb´em ilustra uma manobra de fechamento, neste caso, apesar da situac¸˜ao real (Figura 4.17(b)) apresentar uma pequena diferenc¸a para o caso do modelo adequado (Fi- gura 4.17(c)), percebe-se que a simulac¸˜ao, ainda assim, representa o pior caso, apresentando
uma sobrelevac¸˜ao maior do que realmente aparece em teste com o prot´otipo. Esta ´e uma boa indicac¸˜ao, pois apesar do modelo apresentar uma pequena divergˆencia, esta caracter´ıstica acaba por garantir um efeito melhor do que o esperado em testes reais. Novamente, ´e evi- dente que somente o modelo cinem´atico (Figura 4.17(a)), n˜ao representa o comportamento da plataforma de testes.
(a)
(b)
(c)
Figura 4.17: (a) Modelo cinem´atico (b) Comportamento real do prot´otipo (c) Modelo ade- quado utilizado para simulac¸˜ao - Manobra: [θ1, θ2] = [11.57◦, 18◦] → [13◦].
Analisando a Figura 4.18, conclui-se facilmente, que a principal diferenc¸a entre o com- portamento do modelo adequado (Figura 4.18(c)) e do caso real (Figura 4.18(b)) ´e o sinal de γ, respons´avel pelo controle do RMMA. Percebe-se que no modelo adequado o sinal ´e bem menos oscilat´orio, isto ´e um indicativo de que ainda existem efeitos de perturbac¸˜ao n˜ao considerados no modelo em simulac¸˜ao.
Outra caracter´ıstica do sinal γ em simulac¸˜ao ´e a considerac¸˜ao inicial de seu valor ser sempre igual a zero. J´a no caso real isto quase nunca acontece, um exemplo disso pode ser visto na Figura 4.18(b), que apresenta o valor inicial de 20◦ para o ˆangulo de direc¸˜ao. Esta considerac¸˜ao n˜ao compromete a qualidade do modelo, pois como o sistema est´a sempre sendo executado em malha fechada, o ˆangulo γ sempre est´a controlado, portanto o valor inicial ´e mantido apenas na primeira iterac¸˜ao, ficando atenuado seu efeito pelo atraso de comunicac¸˜ao e de configurac¸˜ao existente no sistema.
(a) (b)
(c)
Figura 4.18: (a) Modelo Cinem´atico (b) Comportamento real do prot´otipo (c) Modelo ade- quado utilizado para simulac¸˜ao - Manobra: [θ1, θ2] = [15.28◦, 24◦] → [19◦].
A Figura 4.19 mostra o comportamento do sistema em uma manobra, denominada aqui, de abertura, onde aumenta-se o ˆangulo de θ2 em m´odulo. Este teste comprova novamente
que o modelo adequado (Figura 4.19(c)) se aproxima do caso real (Figura 4.19(b)) por apre- sentar a mesma situac¸˜ao de engavetamento existente na pr´atica. Caracter´ıstica esta, que o
(a)
(b)
(c)
Figura 4.19: (a) Modelo cinem´atico (b) Comportamento real do prot´otipo (c) Modelo ade- quado utilizado para simulac¸˜ao - Manobra: [θ1, θ2] = [11.57◦, 18◦] → [23◦].
modelo cinem´atico puro (Figura 4.19(a)) n˜ao apresenta, justificando mais uma vez sua im- possibilidade de uso como representante do comportamento real do sistema.
que a partir da iterac¸˜ao 200 mostra os ˆangulos θ1 e θ2com seus valores nominais m´aximos
e fixos, e tamb´em o ˆangulo γ saturado em quase todo o decorrer do movimento.
Todos os testes de validac¸˜ao do modelo apresentados nesta dissertac¸˜ao foram feitos uti- lizando o controlador Feedback, e utilizando-se o controlador Feedforward o modelo ade- quado tamb´em se comportou pr´oximo da realidade, haja vista que todas as mudanc¸as feitas foram somente no modelo cinem´atico do VMA, sendo portanto, seu desempenho indepen- dente do controlador utilizado.
4.9
Conclus˜ao
Neste cap´ıtulo descreve-se todo o processo de adequac¸˜ao do modelo cinem´atico de um RMMA `as condic¸˜oes de uso em um VMA real de testes. As mudanc¸as se deram prin- cipalmente na inclus˜ao de efeitos n˜ao lineares presentes na estrutura f´ısica utilizada nesta pesquisa.
Este robˆo apresentava uma dinˆamica de variac¸˜ao dos ˆangulos de configurac¸˜ao muito dife- rente daquela possibilitada apenas pelo modelo cinem´atico. Assim, o processo de adequac¸˜ao realizado foi imprescind´ıvel para obtenc¸˜ao de um bom modelo que represente o ve´ıculo. De posse deste ambiente de simulac¸˜ao fidedigno, foi poss´ıvel a realizac¸˜ao de ensaios com o objetivo de ajustar os ganhos lineares dos controladores pretendidos.
Este cap´ıtulo mostrou, em alguns testes, uma an´alise qualitativa do modelo adequado, no Cap´ıtulo 6 a an´alise quantitativa da resposta obtida pelo modelo ser´a feita, e medidas de desempenho mensurar˜ao de forma definitiva o n´ıvel de representatividade apresentado pela simulac¸˜ao perante o comportamento real do robˆo.
Cap´ıtulo 5
Algoritomos Gen´eticos e Software A4G
O objetivo principal deste cap´ıtulo ´e fazer um estudo sobre a teoria dos Algoritmos Gen´eticos, mostrando como se deu o emprego desta ferramenta computacional no desen- volvimento do trabalho. As principais vantagens da utilizac¸˜ao deste m´etodo e as particula- ridades empregadas no software de otimizac¸˜ao, denominado A4G, ser˜ao explicitadas. Isto possibilitar´a a compreens˜ao de como ´e executada a busca pelo melhor conjunto de ganhos dos controladores lineares.
5.1
Algoritmos Gen´eticos
S˜ao algoritmos probabil´ısticos que fornecem um mecanismo de busca paralela e adap- tativa baseado no princ´ıpio de sobrevivˆencia dos indiv´ıduos mais aptos de uma populac¸˜ao, caracterizando estes seres como os mais evolu´ıdos e geneticamente ´otimos.
Os Algoritmos Gen´eticos (AG) est˜ao inseridos em uma grande ´area do conhecimento denominada Inteligˆencia Computacional. Esta ´e uma ´area da ciˆencia que busca, atrav´es de t´ecnicas inspiradas na natureza, o desenvolvimento de sistemas inteligentes que imitam as- pectos do comportamento humano, tais como: aprendizado, percepc¸˜ao, racioc´ınio, evoluc¸˜ao e adaptac¸˜ao. A Inteligˆencia Computacional engloba tamb´em as Redes Neurais, L´ogica Fuzzy e Sistemas Especialistas.
Particularmente, os AGs s˜ao uma classe de algoritmos evolutivos que usam t´ecnicas base- adas na biologia evolutiva, como por exemplo, mutac¸˜ao, reproduc¸˜ao, exclus˜ao e recombinac¸˜ao (crossover), para definir os melhores indiv´ıduos de uma determinada populac¸˜ao. Inspiram-se no princ´ıpio Darwiniano da evoluc¸˜ao das esp´ecies e na gen´etica (Goldberg, 1989).
Estes algoritmos s˜ao implementados em softwares de simulac¸˜ao, em que uma populac¸˜ao de representac¸˜oes abstratas da soluc¸˜ao ´e avaliada objetivando-se encontrar, a cada iterac¸˜ao do programa, soluc¸˜oes mais adequadas e melhor aplic´aveis ao problema existente.
Para compreender melhor seu funcionamento, faz-se necess´ario realizar uma analogia `a explicac¸˜ao sobre a evoluc¸˜ao das esp´ecies. Assim, os AGs funcionam da seguinte forma:
• Inicialmente ´e gerada uma populac¸˜ao formada por um conjunto aleat´orio de indiv´ıduos, que podem ser vistos como poss´ıveis soluc¸˜oes do problema.
• Durante o processo evolutivo, esta populac¸˜ao ´e avaliada, sendo que para cada indiv´ıduo ´e atribu´ıda uma nota, ou ´ındice (fitness), que reflete sua habilidade de adaptac¸˜ao a determinado ambiente.
• Uma porcentagem dos indiv´ıduos mais adaptados ´e mantida, enquanto os outros s˜ao descartados.
• Os membros mantidos pela selec¸˜ao podem sofrer modificac¸˜oes em suas caracter´ısticas fundamentais por meio de cruzamentos (crossover), mutac¸˜oes ou recombinac¸˜ao gen´etica gerando descendentes para a pr´oxima gerac¸˜ao.
• Este processo, chamado de reproduc¸˜ao, ´e repetido at´e que uma soluc¸˜ao satisfat´oria seja encontrada. Embora possam parecer simplistas do ponto de vista biol´ogico, estes algo- ritmos s˜ao suficientemente complexos para fornecer mecanismos de busca adaptativos poderosos e robustos.
Esta ´e uma apresentac¸˜ao geral e gen´erica do funcionamento dos AGs, na Figura 5.1 pode-se visualizar um fluxograma b´asico de execuc¸˜ao destes algoritmos.
Uma das grandes vantagens dos Algoritmos Gen´eticos ´e que esta ferramenta por ser gen´erica, pode ser modificada para diferentes aplicac¸˜oes, de acordo com a necessidade do problema estudado. No caso desta dissertac¸˜ao, utilizou-se como indiv´ıduos de uma populac¸˜ao os ganhos Kp, Kd e Ki dos controladores PIDs das estruturas Feedback e Fe-
edforward, associados ao controle do ˆangulo θ2, e o ganho Kp1do controlador proporcional
das mesmas estruturas, associado ao controle do ˆangulo θ1.
Uma das particularidades que mais merecem ser destacada nos AGs ´e que para cada utilizac¸˜ao do m´etodo, pode-se encontrar soluc¸˜oes diferentes, haja vista que a busca pelas melhores respostas est´a sempre atrelada `a forma como se escolhe o grupo de indiv´ıduos iniciais e os operadores gen´eticos. Se bem selecionados, estes parˆametros, podem produzir de fato a resposta ´otima global para o problema, caso contr´ario, tende-se a encontrar soluc¸˜oes representativas de ´otimos locais, n˜ao necessariamente representando as melhores soluc¸˜oes
Figura 5.1: Fluxograma de funcionamento b´asico dos Algoritmos Gen´eticos.
para o problema. Necessitando assim de uma boa bateria de testes para encontrar soluc¸˜oes ´otimas definitivas do problema.
Um fator determinante desta t´ecnica s˜ao os operadores gen´eticos, estes, tˆem por obje- tivo realizar transformac¸˜oes em uma populac¸˜ao, fazendo com que, a cada nova gerac¸˜ao, indiv´ıduos cada vez mais capazes sejam criados, contribuindo assim para que as populac¸˜oes evoluam a cada nova gerac¸˜ao. Com isto, os operadores gen´eticos s˜ao classificados em: inicializac¸˜ao, func¸˜ao de aptid˜ao, selec¸˜ao, cruzamento, mutac¸˜ao, atualizac¸˜ao e finalizac¸˜ao. Sendo que destes, destacam-se os de selec¸˜ao, cruzamento e mutac¸˜ao, respons´aveis por con- duzirem a busca no sentido da detecc¸˜ao da melhor soluc¸˜ao.
O operador de inicializac¸˜ao consiste na criac¸˜ao de uma populac¸˜ao inicial, esta carac- ter´ıstica ´e intr´ınseca destes algoritmos, existindo um compromisso no modo como se escolhe tal parˆametro. Assim, quanto ao tamanho da populac¸˜ao inicial, pode-se considerar que, esco- lher uma quantidade grande de indiv´ıduos para dar in´ıcio ao m´etodo, requer grande esforc¸o computacional, pois a populac¸˜ao sendo grande ´e papel do algoritmo gen´etico testar todos os indiv´ıduos como soluc¸˜oes, isto pode gerar esforc¸o desnecess´ario de processamento e tornar a busca lenta. Por outro lado, se a populac¸˜ao inicial ´e restrita demais, a convergˆencia da soluc¸˜ao ´e bem mais r´apida, por´em, existem grandes chances da resposta encontrada n˜ao ser a melhor para o problema estudado.
Outro compromisso, ´e em gerar a populac¸˜ao inicial de forma aleat´oria, objetivando au- mentar sua diversidade gen´etica, garantindo desta forma, um maior alcance do espac¸o de busca. Caso a inicializac¸˜ao da populac¸˜ao n˜ao ocorra de forma randˆomica, esta poder´a con- vergir prematuramente, isso significa que em um curto espac¸o de tempo a populac¸˜ao possuir´a indiv´ıduos muito semelhantes, ou seja, com pouca diversidade gen´etica, o que dificultar´a na
escolha da melhor soluc¸˜ao.
O operador gen´etico de aptid˜ao, mais utilizado como fitness, ´e respons´avel por mensurar qu˜ao adaptado, ou pr´oximo da soluc¸˜ao, ´e o indiv´ıduo considerado, definindo assim se este contribuir´a para resoluc¸˜ao do problema. No mundo real, a aptid˜ao ´e exercida pelo meio em que o indiv´ıduo vive. Quando acontece uma modificac¸˜ao no meio e determinado indiv´ıduo n˜ao se encontra apto para sobreviver ali, ele tem menos probabilidade de se reproduzir e assim, passar os seus genes para as pr´oximas gerac¸˜oes, tendendo `a extinc¸˜ao.
Portanto, no AG, este operador confere uma nota para cada indiv´ıduo de acordo com o problema. Sendo tal nota, posteriormente, utilizada no operador gen´etico de selec¸˜ao. O c´alculo da func¸˜ao de aptid˜ao ´e o ´unico elo entre o AG e o problema proposto, ´e a ´unica parte n˜ao gen´erica do AG, e deve ser capaz de identificar todas as restric¸˜oes e objetivos, ou seja, a func¸˜ao de aptid˜ao deve ser espec´ıfica para cada problema.
Ap´os o c´alculo da fitness de cada indiv´ıduo, o operador de selec¸˜ao fica respons´avel por implementar o processo de selec¸˜ao natural, no qual, os indiv´ıduos mais capazes possuem maior probabilidade de gerar um n´umero maior de descendentes, enquanto que os menos capazes poder˜ao ainda gerar descendentes, por´em em uma escala menor. Logo, ´e necess´ario que os indiv´ıduos que possuam um valor de aptid˜ao maior sejam beneficiados, sem que os indiv´ıduos com aptid˜ao menor sejam desconsiderados. Desta forma, a selec¸˜ao n˜ao deve ser baseada somente na escolha do ser mais capaz, pois existe a probabilidade de um mem- bro menos capaz possuir propriedades gen´eticas favor´aveis `a gerac¸˜ao de um indiv´ıduo que possua a melhor soluc¸˜ao para o problema analisado, considerando que tais propriedades fa- vor´aveis n˜ao estejam presentes nos demais indiv´ıduos da populac¸˜ao.
Existem v´arios m´etodos de selec¸˜ao, o mais usual ´e o m´etodo da roleta, que consiste em realizar a selec¸˜ao dos indiv´ıduos de forma proporcional ao seu valor de aptid˜ao, simulando uma representac¸˜ao em forma de roleta. Deste modo, os membros que possu´ırem os maiores valores de aptid˜ao ocupar˜ao frac¸˜oes maiores da roleta, enquanto que os seres com aptid˜oes inferiores ocupar˜ao menores frac¸˜oes. Para que seja poss´ıvel obter o n´umero de pares ne- cess´arios para a execuc¸˜ao dos processos de cruzamento e mutac¸˜ao a roleta ´e girada quantas vezes forem necess´arias. A Figura 5.2 ilustra uma roleta implementada com cinco membros.
Na Figura 5.2, percebe-se que os indiv´ıduos (N1, ..., N5) possuem uma representac¸˜ao
bin´aria, que na teoria dos AGs denomina-se gene, portanto, cada indiv´ıduo ´e constitu´ıdo neste exemplo de 5 genes (bits). O indiv´ıduo ´e denominado cromossomo. Nota-se tamb´em que cada membro possui uma fitness, e no caso, o elemento N2 ´e o mais adaptado da
populac¸˜ao, possuindo portanto o maior valor absoluto de aptid˜ao. O valor relativo asso- ciado a cada ser da populac¸˜ao mensura o tamanho devido do espac¸o na roleta ocupado por este indiv´ıduo. Assim, fica f´acil perceber que o indiv´ıduo possuidor da maior fitness tem maior probabilidade de ser selecionado para a pr´oxima gerac¸˜ao.
Figura 5.2: Exemplo de implementac¸˜ao da roleta como m´etodo de selec¸˜ao.
Este m´etodo de selec¸˜ao tem problemas quando existem grandes diferenc¸as entre os va- lores de adequac¸˜ao. Por exemplo, se a melhor adequac¸˜ao de um indiv´ıduo ´e da ordem de 90% da soma de todas as adequac¸˜oes, ent˜ao haver´a membros com chances muito reduzidas de serem selecionados, restringindo assim o processo de busca.
Nesta dissertac¸˜ao utilizou-se o m´etodo da roleta, mas existem outros m´etodos, como o de selec¸˜ao por torneio, em que escolhem-se, de forma aleat´oria, membros da populac¸˜ao para participarem de uma competic¸˜ao direta pelo direito de sobrevivˆencia, em que cada indiv´ıduo utiliza sua aptid˜ao como arma. A Figura 5.3 mostra um torneio, tomados os indiv´ıduos trˆes a trˆes.
Figura 5.3: Exemplo de implementac¸˜ao do torneio como m´etodo de selec¸˜ao.
A an´alise da Figura 5.3 deixa claro que os indiv´ıduos destacados `a direita, no torneio, s˜ao os vencedores, por possu´ırem o maior valor de fitness entre os concorrentes, logo s˜ao escolhi- dos para a pr´oxima gerac¸˜ao. Assim, no primeiro torneio N2´e o vencedor, no segundo torneio
N1 ´e que vence e assim em diante. Este m´etodo de escolha tamb´em ´e bastante disseminado e a grande particularidade ´e a determinac¸˜ao da quantidade de indiv´ıduos participantes de cada torneio, este parˆametro influencia de forma decisiva no tempo de convergˆencia e na qualidade da resposta final do algoritmo.
Outra estrat´egia bastante adotada, ´e denominada selec¸˜ao por classificac¸˜ao, e consiste em atribuir a cada membro um valor de adequac¸˜ao determinado pela sua classificac¸˜ao. O pior
ter´a adequac¸˜ao igual a 1, o segundo pior ter´a adequac¸˜ao 2 e assim sucessivamente, de forma que o melhor ter´a adequac¸˜ao igual a N (n´umero de indiv´ıduos na populac¸˜ao).
A Figura 5.4 ilustra como ´e feita a distribuic¸˜ao dos elementos de uma populac¸˜ao pelo m´etodo da roleta, antes do processo de classificac¸˜ao, e depois deste processo como os ele- mentos ficam posicionados para que seja feito o processo de selec¸˜ao.
Figura 5.4: Distribuic¸˜ao dos indiv´ıduos antes e depois do m´etodo de classificac¸˜ao.
Verificando a Figura 5.4, percebe-se que o m´etodo da roleta privilegia aqueles que pos- suem maior fitness, j´a empregando o m´etodo de classificac¸˜ao, verifica-se que os elementos menos aptos apresentam mais chances de serem selecionados. Entretanto, este m´etodo pode resultar em menor convergˆencia, porque os melhores elementos n˜ao se distinguem muito dos outros.
Outro m´etodo de selec¸˜ao ´e a dizimac¸˜ao, esta t´ecnica realiza a ordenac¸˜ao dos indiv´ıduos de acordo com o seu valor de aptid˜ao e, a partir disto, remove um n´umero fixo de mem- bros que possuem baixo valor de aptid˜ao. Os sobreviventes s˜ao ent˜ao escolhidos de forma aleat´oria. Considera-se que esta t´ecnica possui uma grande desvantagem, pois permite que propriedades gen´eticas excepcionais sejam perdidas ao excluir membros com baixo valor de aptid˜ao, al´em de proporcionar a convergˆencia prematura da populac¸˜ao. Apesar de existirem outros m´etodos de selec¸˜ao, estes supracitados s˜ao os mais utilizados.
Ap´os o processo de selec¸˜ao, os indiv´ıduos aptos `a serem introduzidos na pr´oxima gerac¸˜ao realizam o crossover, com o objetivo de originar novos indiv´ıduos para formar a populac¸˜ao da gerac¸˜ao seguinte. Assim, a ideia principal do cruzamento ´e propagar as caracter´ısticas po- sitivas dos indiv´ıduos mais aptos da populac¸˜ao por meio da troca de segmentos de informac¸˜oes entre os mesmos, originando novos indiv´ıduos.
a an´alise no campo da biologia, portanto, considerando os indiv´ıduos como cromossomos, conforme Figura 5.5.
Figura 5.5: Crossover entre dois cromossomos (indiv´ıduos).
A Figura 5.5 ilustra o cruzamento em pontos duplos, pode-se ter tamb´em o crossover em ponto ´unico e em pontos aleat´orios, conforme o pr´oprio nome j´a evidencia, o cruzamento em pontos duplos ´e feito considerando-se uma recombinac¸˜ao gen´etica em dois pontos distintos