Você está na página 1de 3

Otimizando parâmetros de um controlador IBVS

utilizando algoritmos genéticos

Resumo — Nesse trabalho é proposto o uso de algoritmos genético é necessária a presença do ‘Optimization Toolbox’
genéticos para a otimização dos parâmetros de um controlador [4]. Para a execução da simulação é necessária a ‘Control
Image Based Visual Servoing (IBVS). Para execução do System Toolbox’ [5] e a ‘Robotics Toolbox for MATLAB’,
algoritmo, é utilizando uma simulação do controlador em do Peter Corke [6].
MATLAB como função objetivo e é analisado diferentes restrições
para a execução, variando o valor máximo da velocidade angular A simulação possui um arquivo principal onde é realizado
para representar diferentes modelos de robôs que poderiam o loop de controle, lá são carregados alguns parâmetros e
utilizar esse controlador. condições iniciais do sistema e inicializados os valores de
‘Kx’ e ‘Ktheta’, as variáveis de ganho do controlador que
Palavras chave — Algoritmos Genéticos, Controlador IBVS, serão as variáveis de decisão do algoritmo genético. Esse
Otimização, Sistemas de controle. controlador realiza o controle somente do eixo x e do angulo
theta, tendo um outro controle para o eixo y, porém esse outro
I. INTRODUÇÃO controle está fora do escopo do projeto.
Algoritmos genéticos são algoritmos de otimização que
utilizam conceitos da genética e da biologia para encontrar Após a definição das variáveis, teremos o loop de controle,
uma solução ótima de um determinado problema [1]. Uma onde será calculado o erro do eixo x e do angulo theta. Nossa
população de indivíduos, cada um equivalendo a uma possível meta é minimizar o RMS desses erros, mas como temos dois
solução, é criada de forma aleatória. Os indivíduos são objetivos, optou-se por somar os resultados, uma vez que o
avaliados por meio de uma função de avaliação e selecionados valor ótimo que pretendemos obter para ambos os casos é zero
para trocar informações, gerando uma nova população, que e será sempre um número real e positivo.
será novamente avaliada e dará continuidade ao processo. O loop de controle está inteiramente ligado ao cálculo do
Alterando as propriedades do algoritmo, é possível reduzir a erro, e para essa conta, precisamos dos valores de Kx e Ktheta,
aleatoriedade do processo e guiar os indivíduos a se portanto será necessário rodar o loop na função objetivo. A
aproximarem de um valor ótimo. função objetivo terá como entrar um vetor ‘X’, onde a
Foram escolhidos os algoritmos genéticos por terem uma primeira instância desse vetor é Kx e a segunda é Ktheta, e
implementação mais simples do que outros algoritmos de como saída a soma dos RMSE do eixo x e do angulo theta.
otimização, além de serem bastante utilizados em problemas Para aumentar a velocidade da execução da função, removeu-
complexos e de difícil modelagem matemática. Porém a se o cálculo da matriz Lyapunov e da Manipulabilidade, além
duração do algoritmo pode ser demorada dependendo da de algumas variáveis que eram declaradas, porém não eram
função de avaliação, deixando o processo de otimização utilizadas.
custoso computacionalmente. Precisamos restringir o overshoot do sinal de controle da
A motivação por trás desse artigo é a tese [2], onde foi velocidade angular a um valor máximo, pois dependendo do
projetado um sistema de controle para um robô agrícola, robô que o controle for aplicado, existirá uma velocidade
utilizando um controlador IBVS (Image Based Visual angular máxima que ele será capaz de realizar. Mas para isso
Servoing). O IBVS utiliza câmeras para o controle de um será necessário novamente executar o loop de controle. Assim
robô, esse método utiliza como base os pixels da imagem como a função objetivo, a função de restrição terá como
oriunda da câmera para guiar o robô a pegar um objeto e seguir entradas um vetor X, onde a primeira instância é Kx e a
um caminho [3]. segunda Ktheta, porém a saída será uma matriz composta por
c e ceq, onde c é um vetor que contém as restrições de
Na tese [2], o controlador IBVS foi simulado via desigualdade e ceq as restrições de igualdade. Como não
MATLAB e teve seus parâmetros de controle iniciais obtidos possuímos restrição de igualdade, ceq será um vetor vazio, e
por meio de tentativa e erro. Como forma de melhorar o como possuímos apenas uma restrição de desigualdade, c será
resultado obtido, esse artigo propõe-se a otimizar os igual ao valor máximo do módulo do sinal de controle da
parâmetros de controle, utilizando algoritmos genéticos, de velocidade angular, menos o valor para o qual se deseja
forma a reduzir o erro médio quadrático e aumentar a acurácia restringir o sinal de controle.
do sistema.
Definido as funções de objetivo e de restrição, precisamos
II. METODOLOGIA definir os parâmetros do algoritmo genético que iremos
executar. O MATLAB oferece um valor padrão para as opções
Como a simulação do sistema de controle foi realizada via do GA. Inicialmente utilizou-se esses valores para teste,
MATLAB, optou-se por utilizar o mesmo para realizar o porém a execução ficava lenta. Limitou-se a população de
processo de otimização. Para a execução do algoritmo indivíduos à 20. A função escolhida para a geração da
população foi a ‘gacreationuniform’ [7], onde a população é
criada de forma uniforme no espaço definido pelo limite
superior e pelo limite inferior. Foi escolhido 20 indivíduos
para acelerar o processo por geração, além de ser uma boa
representação do espaço de busca. O limite superior é de 30 e
o inferior de 0,01.
A função de crossover definida foi a ‘crossoverheuristic’
[7], onde é traçada uma linha entre os dois pais e os filhos
aproximam-se do valor do melhor pai a partir de uma razão.
O valor escolhido para essa razão foi de 2, com isso
garantimos que o novo indivíduo estará mais perto do melhor
resultado. A probabilidade de crossover escolhida foi de 75%, Fig. 1. Erro GA Irrestrito.
assim garantimos a variabilidade genética dos novos
indivíduos gerados na população seguinte.
Foi escolhido apenas um indivíduo elite por geração, ou
seja, entre cada geração, será feita uma cópia exata do melhor
indivíduo da geração anterior. Dessa maneira garantimos que
sempre teremos um indivíduo com uma boa avaliação em cada
geração. O processo terá um total de 100 gerações, porém por
padrão é estabelecido um limite de gerações sem melhoras
significativas de 50 e um tempo limite de execução sem
melhoras significativas. Para a função de mutação, foi
escolhida a ‘mutationadaptfeasible’ [7], onde é gerado um
valor aleatório a ser adicionado ao novo indivíduo, baseado Fig. 2. Sinal Controle GA Irrestrito.
nos resultados das últimas gerações. A probabilidade de Podemos observar que o erro do sinal do eixo x está bem
mutação escolhida é de 25%, pois é necessário somar 100% mais próximo de zero, além de ter um tempo de resposta muito
com a probabilidade de crossover. rápido. Porém ao observarmos o sinal do erro do angulo theta,
verificamos que o erro é um pouco maior se comparado aos
III. RESULTADOS
valores observados na tese. Porém, como nossa função
Os valores utilizados de Kx e Ktheta na tese estão exibidos objetiva visa minimizar a soma dos erros, verificamos uma
na tabela abaixo, além do valor obtido do RMSE. Esses melhora significativa.
valores serão utilizados para comparação de todos os
resultados obtidos. Os gráficos do sinal de controle e do erro Ao observarmos as entradas, é possível verificar um
serão exibidos juntamente com os demais resultados. overshoot para o sinal de controle da velocidade angular, em
torno de 13 radianos por segundo. Como foi explicitado
Variável Resultado anteriormente, alguns robôs não seriam capazes de executar
Kx 0,5 essa ação, dando falhas na execução do movimente e podendo
Ktheta 0,5 interferir no controle. Com isso, é possível verificar a
RMSE 0,0823
necessidade da função de restrição para a execução da
otimização.
Tabela 1. Os valores utilizados de Kx e Ktheta. Como cada robô tem uma velocidade angular máxima
diferente, realizou-se o processo de evolução para diferentes
Inicialmente, foi executado o algoritmo genético com as restrições de overshoot máximo. Na tabela abaixo está
configurações padrões do Matlab, com os limites superiores explicitado os valores obtidos das variáveis de decisão, da
e inferiores em 200 e 0,001 e sem a função de restrição, como função objetivo e o valor do overshoot após a execução da
forma de verificar o funcionamento da função objetivo e o simulação com os novos ganhos.
comportamento do GA. Os resultados obtidos para Kx, Variável Resultado Restrição Restrição
Ktheta e o valor de RMSE estão explicitados na tabela. da Tese 0,5 rad/s 1 rad/s
Kx 0,5 2,5394 7,2034
Variável Resultado Ktheta 0,5 1,8261 1,5117
Kx 122,8025 RMSE 0,0823 0,0696 0,0627
Ktheta 11,5711 Overshoot 0,3001 0,50009 1,0009
RMSE 0,0543 rad/s rad/s rad/s

Tabela 2. Resultados obtidos para Kx, Ktheta e o valor de RMSE Restrição Restrição Restrição Restrição Sem
É possível observar uma melhora expressiva no valor do 1,5 rad/s 2 rad/s 2,5 rad/s 3 rad/s Restrição
RMSE com o a execução da otimização. Dessa maneira, 11,9405 16,7787 21,4818 26,2811 122,8025
aplicou-se os novos valores de Kx e Ktheta na simulação para 2,0300 3,3065 3,5067 4,3707 11,5711
observar o comportamento do sinal de controle e do erro. 0,0602 0,0588 0,0578 0,0572 0,0543
1,4996 2,0008 2,4993 3,0009 13,2006
rad/s rad/s rad/s rad/s rad/s

Tabela 3. Variáveis de decisão, da função objetivo e o valor do overshoot.


Os gráficos abaixo possuem as curvas dos erros e dos sinais REFERÊNCIAS
de controle para todos as simulações rodadas na tabela acima.
Podemos observar que à medida que aumentamos a [1] [1] Linden, R. Algoritmos Genético. Ed.3. Editora Ciência Moderna,
velocidade angular máxima, o erro na coordenada x diminui, 2012
enquanto o erro do angulo theta aumenta, porém, o erro total [2] [2] G. B. P. Barbosa, E. C. Da Silva, and A. C. Leite, "Robust Image-
diminui, conforme está explicitado na tabela acima. Também based Visual Servoing for Autonomous Row Crop Following with
observamos que o sinal de controle da velocidade angular está Wheeled Mobile Robots," 2021 IEEE 17th International Conference on
limitado a um determinado valor de overshoot devido à Automation Science and Engineering (CASE), 2021, pp. 1047-1053,
doi: 10.1109/CASE49439.2021.9551667.
restrição aplicada.
[3] [3] G. B. P. Barbosa, E. C. Da Silva, and A. C. Leite, "Vision-based
Autonomous Crop Row Navigation for Wheeled Mobile Robots using
Super-twisting Sliding Mode Control," 2021 European Conference on
Mobile Robots (ECMR), 2021, pp. 1-6, doi:
10.1109/ECMR50962.2021.9568819.
[4] [4] The MathWorks, Inc. 2022. Optimization Toolbox. Disponível em:
<https://www.mathworks.com/help/optim/index.html>. Acesso em: 1
de jun. de 2022.
[5] [5] The MathWorks, Inc. 2022. Control System Toolbox. Disponível
em: <https://www.mathworks.com/help/control/>. Acesso em: 1 de
jun. de 2022.
[6] [6] Corke, P. 2022. ROBOTICS TOOLBOX. Disponível em:
<https://petercorke.com/toolboxes/robotics-toolbox/>. Acesso em: 9
de jun. de 2022.
Fig. 3. Comparativo GA Erro. [7] [7] The MathWorks, Inc. 2022. Genetic Algorithm Options. Disponível
em: <https://www.mathworks.com/help/gads/genetic-algorithm-
options.html>. Acesso em: 9 de jun. de 2022.

Fig. 4. Comparativo GA Sinais Controle.

IV. CONCLUSÃO

É possível observar que os valores dos ganhos utilizados na


tese [2] não são os valores que minimizam o erro encontrado,
porém são funcionais para o uso desejado. O algoritmo
genético foi capaz de encontrar valores ótimos para
diferentes restrições, porém o tempo de execução foi longo.
Uma alternativa para acelerar o processo seria modificar a
simulação ou realizar o processo evolucionário nos
algoritmos de otimização para os ganhos do controlador.
Como a simulação reflete um caso específico de atuação do
robô, seria interessante para outros projetos a modificação de
parâmetros da simulação, como alterar a velocidade do robô,
introduzir uma instabilidade nos sinais de controle ou utilizar
outros controladores IBVS como base do GA.
O uso dos algoritmos genéticos para otimização de um
controlador IBVS é viável e bastante promissor. A
implementação é mais simples do que utilizar um algoritmo
de otimização dos parâmetros de controle, porém a execução
pode tornar-se bastante lenta dependendo da velocidade da
execução da simulação. A otimização por meio de
algoritmos genéticos pode auxiliar na execução de um
projeto de controle, reduzindo os erros encontrados e
aumentando a confiabilidade do sistema como um todo, além
de ser simples de executar e avaliar.
Pontifícia Universidade Católica do Rio De Janeiro.

Você também pode gostar