identificação, controle e predição de robôs de acionamento

54
UNIVERSIDADE F EDERAL DO R IO GRANDE DO NORTE C ENTRO DE T ECNOLOGIA E NGENHARIA DE C OMPUTAÇÃO Identificação, controle e predição de robôs de acionamento diferencial, levando em consideração o tempo de atraso e zona morta Daniel Silva de Morais Orientador: Prof. Dr. Adelardo Adelino Dantas de Medeiros Trabalho de Conclusão de Curso apresen- tado ao Curso de Engenharia de Computa- ção da Universidade Federal do Rio Grande do Norte como requisito para a obtenção do grau de Engenheiro de Computação. Natal/RN 12 de dezembro de 2018

Upload: others

Post on 01-Mar-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Identificação, controle e predição de robôs de acionamento

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE

CENTRO DE TECNOLOGIA

ENGENHARIA DE COMPUTAÇÃO

Identificação, controle e predição de robôs deacionamento diferencial, levando em

consideração o tempo de atraso e zona morta

Daniel Silva de Morais

Orientador: Prof. Dr. Adelardo Adelino Dantas de Medeiros

Trabalho de Conclusão de Curso apresen-tado ao Curso de Engenharia de Computa-ção da Universidade Federal do Rio Grandedo Norte como requisito para a obtenção dograu de Engenheiro de Computação.

Natal/RN12 de dezembro de 2018

Page 2: Identificação, controle e predição de robôs de acionamento

Morais, Daniel Silva de. Identificação, controle e predição de robôs de acionamentodiferencial, levando em consideração o tempo de atraso e zonamorta / Daniel Silva de Morais. - 2018. 53f.: il.

Monografia (Graduação) - Universidade Federal do Rio Grandedo Norte, Centro de Tecnologia, Engenharia de Computaçaõ, Natal,2020. Orientador: Dr. Adelardo Adelino Dantas de Medeiros.

1. Identificação de sistemas - Monografia. 2. Robô móvel -Monografia. 3. Restrição não holonômica - Monografia. 4. Modelolinear - Monografia. I. Medeiros, Adelardo Adelino Dantas de.II. Título.

RN/UF/BCZM CDU 004

Universidade Federal do Rio Grande do Norte - UFRNSistema de Bibliotecas - SISBI

Catalogação de Publicação na Fonte. UFRN - Biblioteca Central Zila Mamede

Elaborado por Raimundo Muniz de Oliveira - CRB-15/429

Page 3: Identificação, controle e predição de robôs de acionamento

Identificação, controle e predição de robôs deacionamento diferencial, levando em

consideração o tempo de atraso e zona morta

Daniel Silva de Morais

Trabalho de Conclusão de Curso aprovado em 12 de dezembro de 2018 pela banca exa-minadora composta pelos seguintes membros:

Prof. Dr. Adelardo Adelino Dantas de Medeiros (orientador) . . . . DCA/UFRN

Prof. Dr. Pablo Javier Alsina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DCA/UFRN

Prof. Dr. Carlos Eduardo Trabuco Dórea . . . . . . . . . . . . . . . . . . . . . . . DCA/UFRN

Page 4: Identificação, controle e predição de robôs de acionamento

Aos meus pais, Manoel e Josete.

Page 5: Identificação, controle e predição de robôs de acionamento

Agradecimentos

Aos meus pais, Manoel e Josete, pelo apoio, amor e carinho, mesmo quando a distânciase fazia saudade.

Às minhas tias, Betânia e Adélia, por todo o carinho e cuidado a todo tempo.

Ao meu professor e orientador, Adelardo Medeiros, por suas incríveis orientações e dis-ponibilidade para sanar as minhas dúvidas.

Ao professor Pablo Alsina, pelos seus ensinamentos e confiança.

Aos professores Filipe Lins e Márcio Valério, por toda a amizade e acolhimento no Labo-ratório de Robótica.

Aos meus colegas e amigos de graduação, em especial Elitelma e Kyury, por toda a ami-zade, companheirismo nos projetos e congressos que participamos, que permitiram am-pliar nossos conhecimentos e maturidade.

À minha família pelo apoio durante esta fase da minha vida. Em especial, agradeço àfamília da Residência Universitária C3P3. Vocês são incríveis!

Page 6: Identificação, controle e predição de robôs de acionamento

Resumo

Este trabalho apresenta a modelagem, identificação e predição do sistema dinâmicode robôs móveis com restrição não holonômica com duas rodas de acionamento diferen-cial. Utilizando a estratégia da mudança de variáveis de controle x, y e θ para l e θ épossível obter um modelo linear, onde l é o deslocamento linear do robô. Essa estratégiapermitiu o desaparecimento da restrição não holonômica, possibilitando que a teoria decontrole linear possa ser utilizada para projetar o controlador desse tipo de robô. O prin-cipal desafio é calcular referências adequadas de tal maneira que, se elas forem atingidas,o robô vá para a posição desejada ou para a postura desejada. Para a identificação domodelo, utilizou-se do método de mínimos quadrados e critério de Akaike para decidiro melhor modelo candidato. Após a identificação do modelo, testes simulados e reaisforam utilizados para validação. Os resultados mostraram que o modelo foi identificadocom qualidade.

Palavras-chave: identificação de sistemas, robô móvel, restrição não holonômica,modelo linear.

Page 7: Identificação, controle e predição de robôs de acionamento

Abstract

This work presents the modeling, identification and prediction of the dynamic systemof non-holonomic mini-robots with two differential drive wheels. Using the strategy ofchanging control variables x, y and θ to l and θ it is possible to obtain a linear model,where l is the linear displacement of the robot. This strategy allowed the disappearanceof the non-holonomic constraint, allowing linear control theory to be used to design thecontrol of this type of robot. The main challenge is to calculate appropriate referencesin such a way that, if they are reached, the robot will go to the desired position or tothe desired posture. For the identification of the model, the least squares method andAkaike criterion was used to decide the best candidate model. After the identification ofthe model, simulated and real tests were used for validation. The results showed that themodel was identified with quality.

Keywords: system identification, mobile robot, non-holonomic constraint, linear mo-del.

Page 8: Identificação, controle e predição de robôs de acionamento

Sumário

Sumário i

Lista de Figuras iii

Lista de Tabelas v

Lista de Símbolos e Abreviaturas vi

1 Introdução 11.1 Objetivos e Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Fundamentação Teórica 42.1 Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Identificação de Sistemas Dinâmicos . . . . . . . . . . . . . . . . . . . . 5

2.2.1 Coleta de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.2 Determinação do Modelo . . . . . . . . . . . . . . . . . . . . . . 52.2.3 Seleção da Estrutura do Modelo . . . . . . . . . . . . . . . . . . 72.2.4 Estimação de Parâmetros . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Preditor de Smith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Abordagem Proposta 103.1 Modelagem do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2 Sistema de Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2.1 Controle de posição . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.2 Controle de orientação . . . . . . . . . . . . . . . . . . . . . . . 16

3.3 Cálculo do deslocamento linear . . . . . . . . . . . . . . . . . . . . . . . 183.4 Identificação do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.4.1 Identificação dos parâmetros . . . . . . . . . . . . . . . . . . . . 213.4.2 Ajuste dos parâmetros . . . . . . . . . . . . . . . . . . . . . . . 23

i

Page 9: Identificação, controle e predição de robôs de acionamento

4 Experimentos e Resultados 244.1 Descrição do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.2 Identificação do Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.2.1 Coleta de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.2.2 Seleção da Estrutura do Modelo . . . . . . . . . . . . . . . . . . 264.2.3 Estimação Paramétrica . . . . . . . . . . . . . . . . . . . . . . . 28

4.3 Validação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.3.1 Experimento simulado . . . . . . . . . . . . . . . . . . . . . . . 304.3.2 Experimento real . . . . . . . . . . . . . . . . . . . . . . . . . . 334.3.3 Análise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5 Conclusão 37

Referências bibliográficas 38

Page 10: Identificação, controle e predição de robôs de acionamento

Lista de Figuras

2.1 Representação de um sistema. . . . . . . . . . . . . . . . . . . . . . . . 42.2 Diagrama de blocos da estrutura clássica do preditor de Smith. . . . . . . 8

3.1 Diagrama esquemático do robô de duas rodas. . . . . . . . . . . . . . . . 103.2 Diagrama de bloco do sistema de controle. . . . . . . . . . . . . . . . . . 143.3 Problema de posicionamento do robô. . . . . . . . . . . . . . . . . . . . 153.4 Trajetórias executadas com erro angular normalizado entre −π/2 ≤ eθ ≤

π/2 (A) e entre −π < eθ ≤ π (B). . . . . . . . . . . . . . . . . . . . . . . 163.5 Controle de posicionamento do robô. . . . . . . . . . . . . . . . . . . . . 173.6 Diagrama de bloco do controle de orientação. . . . . . . . . . . . . . . . 183.7 Problema de orientação do robô . . . . . . . . . . . . . . . . . . . . . . 183.8 Ângulo γ com orientação bidirecional (A) e unidirecional (B). . . . . . . 193.9 Curva de Bézier com movimentos para frente (A) e para trás (B). . . . . . 21

4.1 Robô utilizado nos experimentos. (a) robô com capa, (b) robô sem capa. . 254.2 Zona morta calculada empiricamente. . . . . . . . . . . . . . . . . . . . 264.3 Forma do sinal gerado para a identificação. . . . . . . . . . . . . . . . . 264.4 Tempo de atraso calculado empiricamente. . . . . . . . . . . . . . . . . . 284.5 Resposta do sistema para θ(k), sem tempo de atraso, para um setpoint de

π/2 rad para sistema criticamente amortecido (Kc) e subamortecido (Ks). . 314.6 Resposta do sistema para θ(k), com tempo de atraso, para um setpoint de

π/2 rad para sistema criticamente amortecido (Kc) e subamortecido (Ks). . 314.7 Resposta do sistema para θ(k), com tempo de atraso, para um setpoint de

π/2 rad para sistema criticamente amortecido (Kc) e subamortecido (Ks)com o preditor de Smith. . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.8 Resposta do sistema para l(k), sem tempo de atraso, para sistema critica-mente amortecido (Kc) e subamortecido (Ks). . . . . . . . . . . . . . . . 32

4.9 Resposta do sistema para l(k), com tempo de atraso, para sistema critica-mente amortecido (Kc) e subamortecido (Ks). . . . . . . . . . . . . . . . 32

iii

Page 11: Identificação, controle e predição de robôs de acionamento

4.10 Resposta do sistema para l(k), com tempo de atraso, para sistema critica-mente amortecido (Kc) e subamortecido (Ks) com o preditor de Smith. . . 33

4.11 Resposta do sistema para θ(k), com tempo de atraso, para sistema critica-mente amortecido (Kc) e subamortecido (Ks). . . . . . . . . . . . . . . . 33

4.12 Resposta do sistema para l(k), com tempo de atraso, para sistema critica-mente amortecido (Kc) e subamortecido (Ks). . . . . . . . . . . . . . . . 34

4.13 Deslocamento do robô no espaço cartesiano. Sistema criticamente amor-tecido (Kc). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.14 Deslocamento do robô no espaço cartesiano. Sistema subamortecido (Ks). 354.15 Sinal de Controle para sistema criticamente amortecido e subamortecido.

Análise do sinal do motor direito. . . . . . . . . . . . . . . . . . . . . . . 35

Page 12: Identificação, controle e predição de robôs de acionamento

Lista de Tabelas

3.1 Parâmetros do modelo dinâmico. . . . . . . . . . . . . . . . . . . . . . . 11

4.1 Ordem e atraso definidos pelo AIC para a variável l. Os valores possuemgrandeza de 103. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2 Ordem e atraso definidos pelo AIC para a variável θ. Os valores possuemgrandeza de 103. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.3 Ganhos do controlador tipo P. . . . . . . . . . . . . . . . . . . . . . . . . 30

v

Page 13: Identificação, controle e predição de robôs de acionamento

Lista de Símbolos e Abreviaturas

(τR,τl) torque nas rodas direita e esquerda

β coeficiente de atrito viscoso angular

βR,L coeficiente de atrito viscoso angular do rotor direito e esquerdo

∆l distância percorrida em um período de amostragem

Pi i-ésimo ponto de uma curva de Bézier

τ torque no robô

θ deslocamento angular

b coeficiente de atrito viscoso linear

eθ erro angular

eξ coeficiente de amortecimento

el erro linear

f força no robô

J momento de inércia em torno do centro de rotação do robô

JR,L momento de inércia do rotor do direito e esquerdo

KR,L constante de força eletromotriz inversa = constante de torque do motor direitoe esquerdo

l deslocamento linear

m massa

N número de amostras

RR,L resistência de armadura do motor direito e esquerdo

vi

Page 14: Identificação, controle e predição de robôs de acionamento

v velocidade linear do robô

w velocidade angular do robô

(x, y) posição do robô

AIC critério de informação de Akaike

CC corrente contínua

PID controlador proporcional integral derivativo

PWM Pulse-Width Modulation ou em português Modulação por Largura de Pulso

RMR robô móvel com rodas

Page 15: Identificação, controle e predição de robôs de acionamento

Capítulo 1

Introdução

Em robótica, um dos principais desafios é conseguir o controle da movimentação dorobô. O controle de movimento planar de robô móvel com rodas (RMR) com restriçãonão holonômica tem sido objeto de estudo em importantes pesquisas. Um caso ampla-mente estudado é o robô com um modelo cinemático semelhante a um monociclo. Osrobôs móveis de acionamento diferencial, muito comuns em aplicações práticas, tambémpossuem o mesmo modelo cinemático (d’Andréa-Novel et al. 1995).

As tarefas de movimento planar atribuídas a um RMR podem ser reduzidas a um pro-blema de estabilização (movendo-se entre dois pontos de coordenadas x, y e θ, em umplano cartesiano) ou a um problema de rastreamento de trajetória (seguindo uma traje-tória x(t) e y(t)). Do ponto de vista do controle, a natureza peculiar da cinemática nãoholonômica torna o segundo problema mais fácil do que o primeiro, uma vez que o RMRnão atende à condição de estabilização por realimentação suave necessária e conhecida deBrockett (1983). Isso implica que a estabilização por realimentação em uma determinadapostura não pode ser alcançada via controle suave invariante no tempo.

Na abordagem de controle de trajetória, as restrições não holonômicas e outras me-tas de controle (prevenção de obstáculos, tempo mínimo de viagem, etc.) podem serimplicitamente incluídas no procedimento de planejamento de caminho. Devido a es-sas características, vários controladores abordam apenas o problema de rastreamento detrajetória (d’Andréa-Novel et al. 1995, Martins et al. 2008, Pacheco et al. 2008, Gue-chi et al. 2010, Blažic 2011, Yang et al. 2016, Bunjaku & Stankovski 2017, Nurmainiet al. 2017, Renawi et al. 2017), pois a orientação é automaticamente compensada en-quanto o robô segue a trajetória especificada.

No entanto, a abordagem de controle de rastreamento de trajetória requer um pla-nejamento preciso e explícito do caminho e, em geral, não funciona bem com obstáculosdinâmicos ou com robôs rápidos, aumentando o risco de atingir obstáculos. Para lidar comessas situações, algumas abordagens mais gerais tentam resolver o problema de estabili-

Page 16: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 1. INTRODUÇÃO 2

zação (ou estacionamento) (Samson 1993, Gupta et al. 2005, Park & Kuipers 2011, Dobri-borsci et al. 2017), controlando a posição e a orientação do robô. Há artigos na literatura(Aicardi et al. 1995, de Luca et al. 2001) que abordam e comparam as abordagens decontrole de rastreamento de trajetória e estabilização.

Outra questão importante no controle de movimento planar de RMRs é que a maio-ria dos controladores são baseados apenas na cinemática do robô (d’Andréa-Novel et al.1995, Guechi et al. 2010, Blažic 2011, Nurmaini et al. 2017, Samson 1993, Gupta et al.2005, Park & Kuipers 2011, Aicardi et al. 1995, de Luca et al. 2001), assumindo queas velocidades desejadas são instantaneamente aplicadas ao robô pelos atuadores. Noentanto, quando movimentos de alta velocidade e/ou transporte de carga pesada são ne-cessários, torna-se essencial considerar a dinâmica dos atuadores, além da cinemática dorobô. Algumas estratégias de controle têm sido propostas para lidar com a compensa-ção dinâmica (Martins et al. 2008, Pacheco et al. 2008, Yang et al. 2016, Bunjaku &Stankovski 2017, Renawi et al. 2017, Dobriborsci et al. 2017), levando em consideraçãoo modelo dinâmico.

Ao usar o modelo dinâmico do robô, uma grande preocupação é obter os valores nu-méricos dos parâmetros do modelo. Em alguns casos, apenas resultados simulados sãoapresentados (Yang et al. 2016). Quando disponível, informações da especificação técnicado robô são usadas (Renawi et al. 2017). Caso contrário, resultados experimentais são ge-rados utilizando técnicas de identificação para obter os parâmetros do modelo dinâmicodo robô (Martins et al. 2008, Pacheco et al. 2008, Bunjaku & Stankovski 2017, Dobri-borsci et al. 2017).

Muito dos controladores já propostos são não lineares, geralmente derivados via técni-cas de Lyapunov, e não apresentam uma correspondência entre os parâmetros do controla-dor e o comportamento do robô (d’Andréa-Novel et al. 1995, Martins et al. 2008, Guechiet al. 2010, Blažic 2011, Yang et al. 2016, Samson 1993, Park & Kuipers 2011, Aicardiet al. 1995). Portanto, o ajuste dos parâmetros do controlador não é um procedimentosimples. Outras propostas (Pacheco et al. 2008, Bunjaku & Stankovski 2017, Nurmainiet al. 2017, Renawi et al. 2017, Gupta et al. 2005, Dobriborsci et al. 2017) adaptam técni-cas clássicas, como a onipresente PID, para controlar os RMRs.

Outra preocupação para o controle eficiente de robôs em movimento rápido é a ca-pacidade de filtrar e estimar valores futuros da postura do robô. Isso é especialmenteimportante ao usar informações visuais para localizar os veículos, pois o processamentoda imagem introduz ruído e tempo de atraso. Uma possibilidade (Gupta et al. 2005) éusar um filtro de Kalman, seja para reduzir o efeito de ruído ou para estimar a posiçãoatual, compensando o atraso no processamento da imagem, ou prever futuras posições

Page 17: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 1. INTRODUÇÃO 3

dos robôs, evitando colisões ou permitindo a interceptação de alvos móveis. Outra pos-sibilidade que também foi proposta (Guechi et al. 2010) é usar um preditor e observadorfuzzy para filtrar e predizer as posturas do robô.

1.1 Objetivos e Contribuições

Este trabalho aborda o controle de robôs móveis de acionamento diferencial de duasrodas, modelando-os usando um modelo sem restrições não holonômicas: as variáveis decontrole do robô são alteradas de x, y e θ para l e θ onde l representa o deslocamentolinear do robô. Como o modelo se torna essencialmente linear, abordagens de controleclássicas podem ser empregadas. São usados controladores da família PID monovariáveis,mas outros controladores lineares podem ser adotados. O principal desafio é calcularreferências adequadas [lre f , θre f ] de tal maneira que, se elas forem atingidas, o robô vápara a posição desejada [xre f , yre f ] ou para a postura desejada [xd , yd , θd].

A estratégia de controle proposta pode lidar com o problema de estabilização, assim oproblema de rastreamento de trajetória também pode ser resolvido, usando uma referênciamóvel ao longo da trajetória desejada. A dinâmica do robô pode ser incluída no modelo,se o modelo cinemático sozinho não for suficiente para modelar o comportamento dorobô.

Outra vantagem de usar um modelo linear é que técnicas bem conhecidas que sãofrequentemente usadas com tais modelos, como o método de identificação por mínimosquadrados (Pacheco et al. 2008), o filtro de Kalman (Chen 2012) e o preditor de Smith(Alvarez-Aguirre et al. 2008), podem ser usadas para identificar o modelo do robô, filtraros dados do sensor e compensar atrasos, respectivamente. Algumas dessas técnicas sãousadas neste trabalho para levar em conta as especificidades de ambientes com robôsrápidos cuja localização é fornecida pelo processamento de imagens, com ruído e atrasointroduzidos pelo método de processamento.

1.2 Organização do Trabalho

No Capítulo 2 será apresentada a revisão matemática utilizada para o desenvolvimentodo projeto. No Capítulo 3, será apresentada a proposta deste trabalho. No Capítulo 4serão apresentados os experimentos e resultados obtidos. Enfim, no Capítulo 5, serãoapresentadas as conclusões obtidas.

Page 18: Identificação, controle e predição de robôs de acionamento

Capítulo 2

Fundamentação Teórica

Neste capítulo serão apresentados conceitos e definições importantes para o entendi-mento do trabalho. Serão abordados conceitos de sistemas lineares, identificação, controlee ferramentas que foram utilizadas.

2.1 Sistemas

O conceito de sistema pode ser definido de formas diferentes. Em controle de pro-cessos, pode ser representado como um objeto ou uma coleção de objetos que realizaum certo objetivo e cujas propriedades pretende-se estudar (Coelho & dos Santos Coelho2004). Então, o sistema pode ser representado como na Figura 2.1

Figura 2.1: Representação de um sistema.

u(.) y(.)h(.) saídaentrada

Associados a essa estrutura, pode-se ter alguns problemas:

• Análise: é conhecida a entrada, u(.), o sistema, h(.), e deve-se obter a saída, y(.);• Projeto: é conhecido o sistema, h(.), a saída desejada, y(.), e deve-se obter a en-

trada, u(.), para proporcionar a saída;• Identificação: é conhecida a entrada, u(.), a saída, y(.), e deve-se obter o sistema,

h(.), de modo que y(.)−→ y(.), onde y(.) é a saída do sistema real e y(.) é a saídaestimada.

Page 19: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 5

2.2 Identificação de Sistemas Dinâmicos

De acordo com Aguirre (2015), a identificação de sistemas se propõe a obter ummodelo matemático que explique, pelo menos em parte, e de forma aproximada, a relaçãode causa e efeito presente nos dados. Há muitas aplicações em que essa abordagem éapropriada, por exemplo, na previsão de tempo de séries temporais, preços de ações,rastreamento de alvos, classificação de padrões, etc. O objetivo principal é uma boarepresentação do sistema (Billings 2013).

Os procedimentos envolvidos na elaboração de modelos matemáticos são a análisefísico-matemática, que baseia-se nas leis da física que caracterizam um sistema particu-lar, como leis de conservação de massa, energia e momento, e análise experimental, quebaseia-se nas medidas ou observações do sistema. Nas seções a seguir serão apresentadasas etapas para fazer a identificação de sistemas.

2.2.1 Coleta de Dados

A qualidade das informações utilizadas para identificar o modelo de sistema é muitoimportante, e é necessário ter a maior variedade de informações sobre a planta que adescreva. Características dinâmicas e estáticas que não forem excitadas não aparecerãonos dados. O que não estiver nos dados não pode ser identificado (Aguirre 2015).

Muitos sinais de excitação são utilizados em problemas de identificação, como ossinais binários pseudoaleatórios (PRBS). Esse tipo de sinal é bastante utilizado para iden-tificar modelos não lineares. Entretanto, nem sempre é possível ter uma faixa de abran-gência que permita conhecer o sistema, então pode-se utilizar diferentes testes localizados(Aguirre 2015). Além disso, em algumas situações é possível incorporar no modelo in-formações sobre o comportamento do sistema em regiões de operação não visitadas pelosdados (Corrêa et al. 2002).

2.2.2 Determinação do Modelo

Há várias formas de classificar técnicas de modelagem. Uma delas agrupa os méto-dos em três categorias denominadas modelagem caixa branca, modelagem caixa preta emodelagem caixa cinza.

Em modelos obtidos por identificação caixa preta, normalmente não existe nenhumarelação óbvia entre a estrutura e os parâmetros de tais modelos com aspectos físicos dosistema sendo identificado. Na identificação caixa branca, o processo de obtenção domodelo baseia-se em leis e princípios físicos. Todos os parâmetros são conhecidos ou

Page 20: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 6

previamente determinados. Na identificação caixa cinza, são utilizadas informações au-xiliares que os dados coletados durante a identificação não são capazes de demostrar(Aguirre 2015).

Os modelos mais usados na identificação de sistemas são ARX, ARMAX, NARX eNARMAX. Neste trabalho, o modelo utilizado é o ARX, que é um modelo autorregres-sivo com entradas externas, que pode ser obtido a partir do modelo geral:

A(q)y(k) =B(q)F(q)

u(k)+C(q)D(q)

v(k)

y(k) =B(q)

F(q)A(q)u(k)+

C(q)D(q)A(q)

v(k)

y(k) = G(q)u(k)+H(q)v(k)

(2.1)

sendo q−1 o operador de atraso, de forma que y(k)q−1 = y(k− 1), v(k) ruído branco eA(q), B(q), C(q), D(q) e F(q) os polinômios definidos a seguir:

A(q) = 1−a1q−1− ...−anyq−ny

B(k) = b1q−1 + ...+bnuq−nu

C(k) = 1+ c1q−1 + ...+ cnvq−nv

D(k) = 1+d1q−1 + ...+dnd q−nd

C(k) = 1+ f1q−1 + ...+ fn f q−n f

(2.2)

As funções G(q) e H(q) normalmente são referidas como as funções de transferênciasdo processo e do ruído, respectivamente.

Tomando-se C(q) = D(q) = F(q) = 1, sendo A(q) e B(q) polinômios arbitrários, resul-tando em:

A(q)y(k) = B(q)u(k)+ v(k) (2.3)

reescrevendo o modelo, temos:

y(k) =B(q)A(q)

u(k)+1

A(q)v(k) (2.4)

o que coloca em evidência as funções de transferência do sistema G(q) = B(q)/A(q) e deruído C(q)/[D(q)A(q)] = 1/A(q)

Page 21: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 7

2.2.3 Seleção da Estrutura do Modelo

A identificação de sistemas é um claro exercício que envolve múltiplos e conflitantesobjetivos, tipicamente complexidade do modelo, critérios de desempenho e validação,influenciam a seleção das estruturas do modelo matemático.

Na seleção da estrutura, a definição da ordem é bastante importante, pois influenciaráno desempenho do modelo identificado. Existem várias razões para manter a ordem domodelo tão baixa quanto possível. Critérios de informação podem ser introduzidos paracombinar a necessidade de adequação com o princípio da parcimônia. Estes critérios, taiscomo critérios de informação de Akaike (AIC), Bayesiana (BIC) e erro final de predição(FPE), combinam a variância residual e a ordem do modelo (Coelho & dos Santos Coelho2004). Em (Aguirre 2015) há as definições dos critérios de informação citados. Emespecial, o critério de Akaike será definido devido sua utilização neste trabalho.

Critério de informação de Akaike

O critério de informação de Akaike é um dos métodos mais utilizados para estimar aquantidade de termos em modelos dinâmicos. Para se obter o número ótimo de termosdeve-se minimizar a função de custo dada pela expressão:

AIC(nθ) = N ln [σ2erro(nθ)]+2nθ (2.5)

onde N é o quantidade de dados, σ2erro(nθ) é a variância dos resíduos, ou seja, a variação

do erro de predição de um passo à frente sobre os dados de identificação, e nθ é o númerode parâmetros do modelo.

2.2.4 Estimação de Parâmetros

Após a definição da estrutura do modelo, é necessário definir também o algoritmode estimação de parâmetros. Existe uma variedade de métodos que são utilizados paraestimação de parâmetros de modelos matemáticos. Neste trabalho, será utilizado o mé-todo estimador de mínimos quadrados. Esse método é um dos mais conhecidos e maisutilizados nas mais diversas áreas de ciência e tecnologia (Aguirre 2015). Ele procura omelhor ajuste para um conjunto de dados tentando minimizar a soma dos quadrados dasdiferenças entre o valor estimado e os dados observados, o resíduo, de forma a maximizaro grau de ajuste do modelo aos dados observados.

Page 22: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 8

2.3 Preditor de Smith

O preditor de Smith é um controlador que compensa o tempo morto. Geralmente oseu uso está associado ao controle de processo cujo atraso é dominante, ou seja, quandoo atraso é no mínimo duas vezes maior que o valor da constante de tempo dominante dosistema (de Oliveira 2016).

A topologia clássica de controle com o preditor consiste em um controlador primárioe o preditor. O preditor é a estrutura que divide o modelo da planta em duas partes:a dinâmica do sistema e o atraso. A finalidade dessa separação é eliminar o atraso daequação característica de malha fechada. Além disso, o processo de sintonia do preditorde Smith é mais complexo que o de controladores tradicionais, pois além da sintonia docontrolador, também é necessário determinar os parâmetros do modelo do preditor, quenada mais é que o modelo da planta sem atraso.

Dessa forma, A Figura 2.2 mostra o diagrama de blocos da estrutura clássica do pre-ditor de Smith. C(s) corresponde ao controlador primário, Q(s) é o ruído ou pertubação,P(s) = G(s)e−tns é o processo, Gn(s) é o modelo da planta sem o tempo morto (e−tns).

Figura 2.2: Diagrama de blocos da estrutura clássica do preditor de Smith.

Gn(s)

P(s)

e­t  s

C(s)Y(s)R(s)

Q(s)

++

++

ep(s)Yp(s)

Y(s)^Y(s + tn)^n

A função de transferência de malha fechada, que relaciona a entrada de referência e asaída, é dada por:

Y (s)R(s)

=C(s)P(s)

1+C(s)[P(s)−Gn(s)e−tns +Gn(s)](2.6)

Se o modelo for uma descrição exata da planta, ou seja, Gn(s)e−tns = P(s), o erro depredição ep(s) entre a saída do processo e a saída do modelo será nulo. Desta forma, aequação 2.6 se reduz a:

Y (s)R(s)

=C(s)P(s)

1+C(s)Gn(s)(2.7)

Page 23: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 2. FUNDAMENTAÇÃO TEÓRICA 9

Podemos notar que o atraso é eliminado da equação 2.7. Assim, o sinal que realimen-tará o controlador será uma predição da saída do processo e C(s) poderá ser projetadolevando em consideração o sistema sem atraso.

Page 24: Identificação, controle e predição de robôs de acionamento

Capítulo 3

Abordagem Proposta

Neste capítulo, será apresentada a metodologia proposta para a identificação de robôsmóveis de acionamento diferencial a partir de um modelo linear sem restrições não ho-lonômicas. Serão apresentados a modelagem do robô, o sistema de controle utilizado, aestimação do deslocamento linear e a identificação do sistema pelo método de mínimosquadrados.

3.1 Modelagem do Sistema

O robô utilizado na modelagem do sistema é o representado no diagrama esquemáticoda Figura 3.1. O robô está configurado numa posição cartesiana (x e y) com o centro derotação relacionado por um referencial fixo e pela sua orientação θ (ângulo entre o vetorde orientação do robô e o eixo de referência X). O modelo cinemático é apresentado pelaequação 3.1:

Figura 3.1: Diagrama esquemático do robô de duas rodas.

x

y

v, lθ

w

wR

wL

h

h

r

r

r

r

Page 25: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 3. ABORDAGEM PROPOSTA 11

q =

x

y

θ

=

cos(θ) 0sin(θ) 0

0 1

[v

w

]= G(θ)v (3.1)

Os vetores qT =[

x y θ

]e vT =

[v w

]representam as posições linear e angu-

lar e as velocidades linear e angular do robô, respectivamente. A principal característicadesse modelo é a presença das restrições não holonômicas, devido à condição de rola-mento sem deslizamento entre as rodas e o chão e derrapagem lateral.

Se r é o raio da roda e h é a metade da distância entre as rodas, a relação entre avelocidade do robô e as velocidades angulares das rodas (wR, wL) é obtida pela equação3.2, assumindo que não há deslizamento entre a roda e o chão:

v =r2

[1 11h−1h

][wR

wL

]=⇒

[wR

wL

]=

1r

[1 h

1 −h

]v (3.2)

O modelo dinâmico é derivado da dinâmica dos atuadores e parâmetros dinâmicos dosrobôs. Para um robô com dois motores de corrente contínua (DC), as variáveis principaisenvolvidas no modelagem são descritas na tabela 3.1. A modelagem por fricção leva emconsideração apenas o atrito viscoso linear e negligencia os efeitos não lineares (atritoseco).

Tabela 3.1: Parâmetros do modelo dinâmico.

Parâmetro DescriçãoRR,L resistência de armaduraKR,L constante de força eletromotriz inversa = constante de torqueJR,L momento de inércia do rotorβR,L coeficiente de atrito viscoso angular do rotor

m massaJ momento de inércia em torno do centro de rotaçãob coeficiente de atrito viscoso linearβ coeficiente de atrito viscoso angular

A relação entre a força e o torque no robô ( f ,τ) e os torques nas rodas (τR,τL) é obtidapela equação 3.3:[

f

τ

]=

1r

[1 1h −h

][τR

τL

]=⇒

[τR

τL

]=

r2

[1 1

h

1 −1h

][f

τ

](3.3)

Page 26: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 3. ABORDAGEM PROPOSTA 12

Negligenciando a indutância da armadura, a dinâmica elétrica e eletromecânica dosatuadores CC são modeladas pelas equações 3.4 a 3.5, respectivamente, quando (uR, uL)e (iR,iL) são as tensões e correntes de armadura direita e esquerda:

uR,L = RR,LiR,L +KR,LwR,L (3.4)

KR,LiR,L = JR,LwR,L +βR,LwR,L + τR,L (3.5)

O movimento do robô é descrito pela equação 3.6:[f

τ

]−

[β 00 b

]v =

[m 00 J

]v (3.6)

Combinando as equações 3.2 e 3.6, o modelo dinâmico inicial do robô é obtido pelaequação 3.7:

Ku = Mv+Bv (3.7)

onde uT =[

uR uL

]representa as tensões de entrada direita e esquerda, K é o ganho da

matriz, M é a matriz de inércia generalizada e B é a matriz de atrito viscoso generalizada:

K =

[1r

1r

hr−hr

][KRRR

0

0 KLRL

](3.8)

M =

[m 00 J

]+

1r2

[JR + JL h(JR− JL)

h(JR− JL) h2(JR + JL)

](3.9)

B =

[β 00 b

]+

1r2

[βR +βL h(βR−βL)

h(βR−βL) h2(βR +βL)

]+

1r2

[K2

RRR

+K2

LRL

h(K2R

RR− K2

LRL)

h(K2R

RR− K2

LRL) h2(

K2R

RR+

K2L

RL)

](3.10)

Os elementos fora da diagonal principal das matrizes M e B nas equações 3.9 e 3.10têm valores significativamente menores que os elementos da diagonal principal, porquesão proporcionais apenas às assimetrias motoras.

A fim de construir a matriz K também quase diagonal, um novo conjunto de variáveisde entrada virtuais, uT =

[uv uw

], pode ser definido:

u =12

[1 11 −1

]u =⇒ u =

[1 11 −1

]u (3.11)

Substituindo a equação 3.11 nas equações 3.7 e 3.8, o modelo dinâmico final do robôé dado pela equação 3.12:

Ku = Mv+Bv (3.12)

Page 27: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 3. ABORDAGEM PROPOSTA 13

onde:

K =1r

[KR/RR +KL/RL KR/RR−KL/RL

l(KR/RR−KL/RL) l(KR/RR +KL/RL)

](3.13)

Na equação matricial 3.12, a primeira linha descreve a variação da velocidade linear v,principalmente influenciada por ela mesma e pela variável virtual de entrada uv (“tensão”linear). Se as assimetrias entre os atuadores não forem muito significantes, as influênciascruzadas entre os movimentos lineares e angulares podem ser consideradas como pertur-bações e o robô pode ser controlado por dois controladores monovariáveis: um para omovimento linear (sinal de entrada: uv) e outro para o movimento angular (sinal de en-tada: uw). É claro que, se as influências cruzadas forem significativas, um controladormultivariável pode ser adotado.

Os modelos nas equações 3.1 e 3.12 podem ser rearranjados em uma única represen-tação de espaço de estado, pela definição das matrizes A =−M−1B e B = M−1K:[

vq

]=

[A 0

G(θ) 0

][vq

]+

[B0

]u (3.14)

As saídas da equação 3.14 são x, y e θ. Embora este modelo permita o uso de coorde-nadas cartesianas e ângulos de orientação como valores de referência, ele possui restriçõesnão holonômicas e o desenvolvimento de leis de controle não é trivial.

Para reduzir a complexidade do modelo, ele pode ser reescrito em termos do deslo-

camento linear e angular do robô, l e θ, entãodldt

= v edθ

dt= w. Definindo um vetor

pT =[

l θ

]: [

vp

]=

[A 0I 0

][vp

]+

[B0

]u (3.15)

A nova equação de estado 3.15 tem os mesmos parâmetros dinâmicos que a equa-

ção de estado original 3.14, mas uma nova saída do sistema z =[

l θ

]T. O modelo

linear equivalente foi obtido sem qualquer suposição de simplificação. Desta forma, omodelo linear é uma representação equivalente exata da representação não linear originalna equação 3.14.

3.2 Sistema de Controle

Usando o modelo da equação 3.15, é fácil projetar um sistema de controle baseado nodiagrama de blocos da Figura 3.2. Este controlador pode ser baseado em qualquer uma

Page 28: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 3. ABORDAGEM PROPOSTA 14

Figura 3.2: Diagrama de bloco do sistema de controle.

Controle Robôu+

+

-

-

l

θ

lref

θref

el

das técnicas clássicas de projeto para sistemas lineares nos quais o controlador recebe osinal de erro e gera a entrada para a planta, como um PID, por exemplo. Como o design docontrolador é simples, esse modelo foi usado para o projeto do sistema de controle, apesarde dois problemas que ainda persistem: o deslocamento l ao longo de uma trajetória nãopode ser determinado a partir da configuração inicial e final e a referência de entrada lre f

não tem um significado claro, que permita atingir um objetivo de controle significativo.Entretanto, esses problemas podem ser contornados, usando uma estratégia de controledesenvolvida por Vieira et al. (2004).

O problema de estabilização do robô pode ser dividido em dois diferentes problemas:controle de posição e controle de orientação. O controle de posicionamento do robô deveassegurar o atingimento de uma posição de referência (xre f , yre f ), independentemente daorientação final do robô. O controle de orientação do robô deve assegurar a realização dapostura final desejada, incluindo posição e orientação (xd , yd , θd).

3.2.1 Controle de posição

A figura 3.3 ilustra o problema de posicionamento, onde ∆l é a distância entre o robô ea referência desejada (xre f , yre f ) no espaço cartesiano. O problema do controle da posiçãodo robô será resolvido se a convergência ∆l→ 0 é assegurada. Isso não é trivial, pois avariável l não aparece na equação 3.14. Para superar o problema, as variáveis ∆λ e φ sãodefinidas. ∆λ é a distância até P, o ponto mais próximo da referência desejada que seencontra na linha de orientação do robô; φ é o ângulo da posição do robô até a referênciadesejada. ∆φ = φ−θ é a diferença entre φ e a orientação do robô.

É fácil concluir que:

∆l = ∆λ/cos(∆φ) (3.16)

Então, se ∆λ→ 0 e ∆φ→ ε, cos(ε) 6= 0, então ∆l → 0. Assim, um sistema de controleque garante a convergência de ∆λ e ∆φ para zero leva o robô para o ponto de referência,

Page 29: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 3. ABORDAGEM PROPOSTA 15

Figura 3.3: Problema de posicionamento do robô.

(x, y )

(x ref, yref)

P

θ φ

∆φ∆l

∆λ

xre f e yre f .Baseado no diagrama de bloco na Figura 3.2, lre f e θre f serão gerados a fim de se

obter el = ∆λ e eθ = ∆φ. Portanto, se o controlador garantir a convergência de el e eθ parazero, o problema de posicionamento será resolvido.

Para fazer eθ = ∆φ, θre f deve ser feito igual a φ (equação 3.17). Então eθ = θre f −θ =

∆φ (equação 3.18).

θre f = tan−1(

yre f − yxre f − x

)= tan−1

(∆yre f

∆xre f

)(3.17)

eθ = norm(θre f −θ) (3.18)

O erro angular eθ deve ser normalizado no intervalo −π/2 ≤ eθ ≤ π/2 ou no intervalo−π < eθ ≤ π, de acordo com o fato de o robô poder mover-se indiferentemente em ambasas direções ou deslocar-se preferencialmente para a frente, respectivamente. A Figura 3.4mostra um exemplo de trajetórias executadas pelo robô usando os dois diferentes inter-valos normalizados. Os limites ±π para o erro angular só podem ser aplicados quandoo robô estiver longe o suficiente do ponto de referência desejado. Se eles são aplicadosquando o robô está próximo da posição final, pequenos overshots podem fazer o robôgirar indefinidamente em torno do ponto de referência.

Existe uma descontinuidade na variável θre f (equação 3.17) quando o robô tende à po-sição desejada (∆l→ 0) pela esquerda ou pela direita. É por isso que o sistema de controleproposto não viola o teorema de Brockett (Brockett 1983), que afirma a impossibilidadede controlar sistemas como o robô não holonômico com uma lei de controle contínua einvariante no tempo. Na prática, um erro de distância aceitável (ε), baseado na precisãodos sensores de medição de posição, deve ser definido. Quando o robô entra nessa região

Page 30: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 3. ABORDAGEM PROPOSTA 16

Figura 3.4: Trajetórias executadas com erro angular normalizado entre −π/2 ≤ eθ ≤ π/2(A) e entre −π < eθ ≤ π (B).

yref

x ref

yref

x refeθ

t

el

t

t

el

t

(A) (B)

circular (∆l < ε), θre f deve manter seu valor anterior, até que o robô eventualmente saiada região.

Calcular el geralmente não é simples, porque o sinal de saída l não pode ser medido eum valor adequado para lre f não é facilmente calculado. Mas se o ponto P na Figura 3.3é definido como um ponto de referência para o controlador l, apenas nesse caso é verdadeque el = lre f − l = ∆λ. Então:

el = ∆λ = ∆l cos(∆φ) =√(∆xre f )2 +(∆yre f )2 cos(θre f −θ) (3.19)

O controlador completo de posicionamento do robô, com base no diagrama da Figura3.2 e nas equações 3.17, 3.18 e 3.19, é apresentado na Figura 3.5. Ele pode ser usadocomo um sistema de controle de robô autônomo, se o problema for apenas direcionar orobô para uma determinada posição (xre f , yre f ), independentemente da orientação final.

3.2.2 Controle de orientação

Para resolver o problema de controle de orientação, é adicionado um loop externo comum esquema de referência móvel, conforme ilustrado na Figura 3.6. Baseado na posiçãoe orientação desejadas (xd , yd , θd), o loop externo gera referências xre f e yre f para oloop interno. Esse controlador de posicionamento interno pode ser aquele apresentado naFigura 3.5 ou qualquer outro.

A estratégia para calcular a referência interna é apresentada na Figura 3.7. A refe-

Page 31: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 3. ABORDAGEM PROPOSTA 17

Figura 3.5: Controle de posicionamento do robô.

Contro-lador Robô

u

+-

x

θθref

el

eθ y+

-

+ -

Eq.3.17

x ref

yref

Sistema de Controle de Posição

Eq.3.18

Eq.3.19

rência (xre f , yre f ) é calculada pela rotação do vetor de comprimento ∆m apontando daposição do robô (x, y) para a posição desejada (xd , yd) por um ângulo γ, igual à diferençanormalizada entre a orientação final desejada (θd) e o ângulo para mover para a posiçãodesejada (β).

∆m =√(xd− x)2 +(yd− y)2 =

√(∆xd)2 +(∆yd)2

β = tan−1(

yd− yxd− x

)= tan−1

(∆yd

∆xd

)

γ = norm(θd−β) (3.20)

xre f = x+∆m · cos(β− γ) (3.21)

yre f = y+∆m · sin(β− γ) (3.22)

Se β e θd coincidem, o robô vai direto para a posição final (xre f , yre f ) = (xd , yd). Senão, enquanto o robô tenta se mover para a referência (xre f , yre f ), a diferença entre θd e β

diminui e (xre f , yre f ) tende a (xd , yd).O ângulo γ na equação 3.20 deve ser restringido ao intervalo −π/2 ≤ γ ≤ π/2. A

maneira específica de fazer essa restrição depende dos recursos do robô.Se o robô puder se mover tão bem em uma direção quanto em outra, é irrelevante se

o robô atinge a orientação desejada com ou sem uma rotação de π. Esse comportamento(orientação bidirecional) é alcançado normalizando o ângulo γ, conforme ilustrado pelográfico da Figura 3.8(A).

Às vezes, é necessária uma orientação final não invertida (por exemplo, em um au-tomóvel). Neste caso (orientação unidirecional), o ângulo γ deve ser saturado conformeilustrado pelo gráfico da Figura 3.8(B). Essa estratégia de controle de orientação deve sercombinada com o controle de orientação que favorece movimentos para frente. A limi-tação desse tipo de controle de posição impõe que a estratégia de controle de orientação

Page 32: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 3. ABORDAGEM PROPOSTA 18

Figura 3.6: Diagrama de bloco do controle de orientação.

x

θy

x ref

yref

Controle dePosição

Gerador deReferência

Móvel

x d

θd

yd

Figura 3.7: Problema de orientação do robô

(x ref, yref)

(xd , yd )

(x, y )

θθd

β

γ∆m

unidirecional só possa ser aplicada quando o robô estiver longe o suficiente da posiçãodesejada.

Em ambos os casos (orientação bidirecional ou unidirecional), há uma descontinui-dade nos valores de γ. Quando o robô está próximo da fronteira de mudança de sinal(γ ≈ ±π/2 ou γ ≈ ±π), às vezes é melhor exceder ligeiramente o limite para manter osinal de γ igual ao da iteração anterior. Isso evita mudanças desnecessárias na direção domovimento.

3.3 Cálculo do deslocamento linear

Calcular o deslocamento linear é saber o quanto o robô percorreu em um períodode amostragem. Entretanto, isso não é imediato, pois não há como medir a trajetóriarealizada pelo robô nesse período, mesmo que seja possível medir a postura (x, y, θ) emdois instantes consecutivos. Para contornar isso, é possível utilizar de heurísticas, como

Page 33: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 3. ABORDAGEM PROPOSTA 19

Figura 3.8: Ângulo γ com orientação bidirecional (A) e unidirecional (B).

π− π

γ

θd − β− π

2

π2

π− π

γ

θd − β− π

2

π2

(A) (B)

(x ref, yref)θd = π/ 2β = − π/ 4γ = − π/ 4 (x ref, yref)

θd = π/ 2β = − π/ 4γ = π/ 2

apresentadas em Guerra et al. (2004) e Mendes et al. (2010), para estimar o deslocamentolinear realizado pelo robô.

Podemos calcular incrementalmente um valor plausível para o deslocamento l(k):

∆l(k) = l(k)− l(k−1) =⇒ l(k) = l(k−1)+∆l(k) (3.23)

Uma curva paramétrica PT (λ)=[

x(λ) y(λ)], 0≤ λ≤ 1, pode ser interpolada entre

duas posturas consecutivas e o comprimento do arco dessa curva, LP, pode ser utilizadocomo uma estimativa do valor absoluto do deslocamento incremental, |∆l(k)|. O sinalpositivo ou negativo de ∆l(k) é dado pelo sinal da velocidade linear do robô durante operíodo de amostragem, sgn(v): +1 se o robô estiver se movendo para frente, -1 se estiverse movendo para trás.

∆l(k)≈ sgn(v) ·LP (3.24)

Uma curva de Bézier cúbica é utilizada para interpolar o caminho, pois permite respei-tar as restrições inicial e final de posição e orientação do robô. A curva de Bézier cúbicaé definida por quatro pontos de controle, P0, P1/3, P2/3 e P1. O primeiro e o último sãopontos de controle das extremidades da curva, enquanto os pontos intermediários definema direção da curva no início e no final. A forma explícita da curva é:

P(λ) = (1−λ)3P0 +3(1−λ)2λP1/3 +3(1−λ)λ2P2/3 +λ

3P1 (3.25)

Se PT0 =

[x0 y0

], PT

1 =[

x1 y1

]e D = |P1−P0| é a distância entre P0 e P1,

os pontos de controle intermediários podem ser calculados para respeitar as orientaçõesinicial e final (θ0, θ1) do caminho, como representado na Figura 3.9:

Page 34: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 3. ABORDAGEM PROPOSTA 20

P1/3 = P0 +Θ0 = P0 + sgn(v)D2

[cos(θ0)

sin(θ0)

](3.26)

P2/3 = P1−Θ1 = P1− sgn(v)D2

[cos(θ1)

sin(θ1)

](3.27)

Substituindo as equações 3.26 e 3.27 na equação 3.25, obtém-se:

P(λ) = C3λ3 +C2λ

2 +C1λ+C0 (3.28)

onde:

C3 = 2P0−2P1 +3Θ0 +3Θ1 C1 = 3Θ0

C2 =−3P0 +3P1−6Θ0−3Θ1 C0 = P0

O comprimento do arco LP é definido pela integral de linha:

LP =∫ 1

0|P′(λ)|dλ =

∫ 1

0

√(

dxdλ

)2 +(dydλ

)2dλ

=∫ 1

0

√c4λ4 + c3λ3 + c2λ2 + c1λ+ c0dλ

(3.29)

onde:c4 = 9CT

3 C3 c2 = 4CT2 C2 +6CT

1 C3 c0 = CT1 C1

c3 = 12CT2 C3 c1 = CT

1 C2

Não há solução fechada, em geral, para a integral da equação 3.29, mas a quadratura deGauss-Legendre pode calculá-la numericamente de uma maneira muito eficiente (Barbosaet al. 2017).

Uma vez determinados os comprimentos de arco LP, os deslocamentos incrementais∆l(k), k = 2, ...,N podem ser calculados usando a equação 3.24; então, os deslocamentosl(k), k = 1, ...,N podem ser estimados utilizando a equação 3.23 e assumindo l(1) = 0.Depois disso, se os parâmetros estruturais (ordem e tempo de atraso) forem conhecidos,a técnica de identificação de mínimos quadrados pode ser usada para determinar os coefi-cientes do modelo.

3.4 Identificação do Sistema

Para obter uma representação aproximada para a estimativa dos parâmetros do modelodo robô, como descrito em trabalhos anteriores (Guerra et al. 2004), quatro funções de

Page 35: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 3. ABORDAGEM PROPOSTA 21

Figura 3.9: Curva de Bézier com movimentos para frente (A) e para trás (B).

P1/3 P1/3

P2/3

P0

P1P1

(A) (B)v > 0 v < 0

DD

D/2

D/2

D/ 2

D/2LP

LP

P2/3P0

transferências discretas equivalentes ao modelo da equação 3.15 podem ser definidas:[L(z)

θ(z)

]=

[Gvv(z) Gvw(z)

Gwv(z) Gww(z)

[Uv(z)

Uw(z)

](3.30)

Essas funções de transferência discreta podem ser reescritas como equações a dife-rença equivalentes, cujos coeficientes podem ser calculados usando o método clássico deidentificação por mínimos quadrados.

O processo de identificação requer os valores das variáveis de entrada e saída. Astensões virtuais de entrada, uv(k) e uw(k), são calculadas pelo sistema de controle e,portanto, seus valores estão sempre disponíveis (ver equação 3.11). A orientação do robô,θ(k), é medida por sensores e o deslocamento linear do robô, l(k), é calculado comodescrito na seção 3.3.

3.4.1 Identificação dos parâmetros

A ordem do modelo geralmente pode ser definida a partir do conhecimento das leisfísicas que descrevem o comportamento de seus componentes. O tempo de atraso podeser estimado medindo o tempo de reação (até que um movimento do robô seja detectado)após uma alteração de entrada. Alternativamente, estes parâmetros estruturais (ordem etempo de atraso) podem ser determinados identificando os coeficientes de um conjuntode modelos candidatos, cada um deles com uma combinação diferente de ordem e tempode atraso, e em seguida, selecionando os parâmetros estruturais do modelo candidatocujos valores de saída previstos estão mais próximos dos valores de saída medidos paraos mesmos valores de entrada. A escolha da ordem e tempo de atraso pode ser feitautilizando o critério de informação de Akaike (AIC).

Page 36: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 3. ABORDAGEM PROPOSTA 22

Como exemplo, assumindo a ordem igual a 2 e o tempo de atraso igual a 3, a formadas funções de transferências da equação 3.30 são:

Gvv(z) =z−3(p1

vvz+ p0vv)

z2 +q1vz+q0

vGvw(z) =

z−3(p1vwz+ p0

vw)

z2 +q1vz+q0

v

Gwv(z) =z−3(p1

wvz+ p0wv)

z2 +q1wz+q0

wGww(z) =

z−3(p1wwz+ p0

ww)

z2 +q1wz+q0

w

escrevendo as funções de transferências em equações a diferenças, temos:

l(k) =−q1v l(k−1)−q0

v l(k−2)+ p1vvuv(k−4)+ p0

vvuv(k−5)

+p1vwuw(k−4)+ p0

vwuw(k−5)(3.31)

θ(k) =−q1wθ(k−1)−q0

wθ(k−2)+ p1wvuv(k−4)+ p0

wvuv(k−5)

+p1wwuw(k−4)+ p0

wwuw(k−5)(3.32)

Para N pontos, e omitindo as equações similares para θ(k), um conjunto matricial deigualdades pode ser obtido a partir da equação 3.31:

Yv = Uv ·Qv (3.33)

onde:YT

v =[l(6) l(7) ... l(N)

]

UTv =

−l(5) −l(6) ... l(N−1)−l(4) −l(5) ... l(N−2)uv(2) uv(3) ... uv(N−4)uv(1) uv(2) ... uv(N−5)uw(2) uw(3) ... uw(N−4)uw(1) uw(2) ... uw(N−5)

QT

v =[q1

v q0v p1

vv p0vv p1

vw p0vw

]O vetor de parâmetros Qv que minimiza a soma dos resíduos quadrados (a diferença

entre o valor observado l(k) e o valor ajustado l(k) fornecido pelo modelo) é:

Qv = (UTv Uv)

−1UTv ·Yv (3.34)

Page 37: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 3. ABORDAGEM PROPOSTA 23

3.4.2 Ajuste dos parâmetros

A partir dos parâmetros obtidos na equação 3.34, podemos obter as funções de transfe-rências no tempo discreto, como visto nas funções 3.4.1. Dessa forma, podemos verificara influência de cada variável de controle, l e θ, sobre o movimento do robô. É de seesperar que as funções de transferência Gvv(z) e Gww(z) sejam utilizadas para projetar ocontrolador, tendo em vista que elas não sofrem influência dos parâmetros da outra va-riável, θ e l, respectivamente. A escolha dessas funções é resultado dos ganhos que elaspossuem, K (equação 3.35). Assim, as funções com maiores ganhos serão as utilizadas.

Para uma análise física do comportamento do robô, a transformação para o tempocontínuo pode ser realizada. Em seguida, expressamos ela na forma fatorada, de formaque os zeros e polos fiquem visíveis. Desprezando zeros irrelevantes e arredondandopolos próximos da origem, podemos ajustar as funções de transferências, de forma quepodemos ter uma análise física explícita na função, como na equação 3.35:

Gxy(s) =a(s+b)

(s+m)(s+n)=

as+ab(s+m)(s+n)

, n >> m,

' abs(s+n)

=(ab)/n

s((1/n)s+n/n)=

(ab)/ns((1/n)s+1)

Gxy(s)'K

s(τs+1)

(3.35)

onde K é o ganho da função e τ é o tempo de acomodação.

Page 38: Identificação, controle e predição de robôs de acionamento

Capítulo 4

Experimentos e Resultados

Neste capítulo serão apresentados os experimentos realizados e os resultados obtidosda identificação de mini robôs móveis de acionamento diferencial. Será apresentada arealização da coleta dos dados, os experimentos para a determinação do modelo, bemcomo a seleção da estrutura, a estimação paramétrica das funções de transferências (verequação 3.4.1) e a validação com experimentos reais e simulados.

4.1 Descrição do sistema

Para a realização da identificação e controle de mini robôs móveis, foram utilizadosos robôs da Equipe Poti de Futebol de Robôs, que participam de competições da categoriaIEEE Very Small Size Soccer. Eles possuem uma dimensão de um cubo de 8 cm de arestacom duas rodas com motores de CC com uma capa de identificação (Figura 4.1). As rodaspossuem diâmetro de 3,2 cm e o motor possui caixa de redução 30:1 HPCB, todos dafabricante Pololu. Seu sistema embarcado é composto por microcontrolador ATmega328,driver motor e módulo bluetooth para comunicação.

A arquitetura do sistema do Futebol de Robôs é formada por vários módulos: visão,localização, estratégia, controle e transmissão. O módulo de visão consiste de uma câmerade barramento USB 3.0, conectada a um computador, que fotografa o campo de futebol auma taxa de 30 imagens (resolução de 640x480) por segundo. O módulo de localização,que utiliza processamento digital de imagem, fornece a posição da bola e dos jogadoresatravés das cores que foram predefinidas. O módulo de estratégia é responsável por geraras referências das posições que os robôs devem seguir. A partir dessas referências, omódulo de controle calcula as tensões que devem ser enviadas e aplicadas aos motores dosrobôs. As tensões são geradas como porcentagens (ciclo de PWM) do máximo valor detensão. Por fim, o módulo de transmissão utiliza a tecnologia bluetooth para se comunicarcom os robôs e enviar os sentidos e tensões para cada motor.

Page 39: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 4. EXPERIMENTOS E RESULTADOS 25

Figura 4.1: Robô utilizado nos experimentos. (a) robô com capa, (b) robô sem capa.

(a) (b)

4.2 Identificação do Modelo

Para a identificação do modelo do sistema, é preciso realizar algumas etapas para queo modelo obtido descreva, o mais real possível, o comportamento do robô. Na escolha dossinais para coleta é preciso levar em conta características não lineares do sistema, comozona morta e tempo de atraso.

4.2.1 Coleta de dados

A coleta das informações do robô é uma fase muito importante para a continuidadedas fases de identificação do modelo dinâmico. O sensor que identifica a pose do robô éuma câmera, então ruído e tempo de atraso devem ser considerados. Outra característicaimportante é a zona morta dos motores. Antes de fazer a coleta, a zona morta foi com-pensada no firmware do microcontrolador. Se o sinal que o robô recebe for diferente dezero, uma constante é somada ao sinal.

Para identificarmos uma constante adequada, foram realizados testes com o robô. Fo-ram enviados diferentes sinais, cada qual sendo uma determinada porcentagem de PWM,durante 50 períodos de amostragem e 5 ensaios. Em seguida, foi calculada a velocidadeangular média entre os ensaios. A Figura 4.2 mostra a velocidade angular em função dosinal aplicado.

Pode ser verificado que o robô começa a se mover entre sinais de 0,06 (6% de PWM)e 0,08 (8% de PWM). Dessa forma, a constante mais adequada é de valor 0,06 (6% dePWM), que fica no limiar do movimento.

Page 40: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 4. EXPERIMENTOS E RESULTADOS 26

Figura 4.2: Zona morta calculada empiricamente.

PWM %0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2

! (

rad/

s)

0

2

4

6

8

10

Velocidade angular

Figura 4.3: Forma do sinal gerado para a identificação.

Amostras0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200

PWM

%

-1

-0.5

0

0.5

1Sinal

Para realizar a coleta das informações do robô, foi gerada uma série de 1000 pontos epara cada ponto as entradas uR(k) e uL(k) foram geradas como a soma de dois termos. Oprimeiro termo assumiu um dos dois valores aleatórios, 0,5 (ciclo de trabalho de 50% dePWM) ou -0,5, e esse valor permaneceu constante ao longo de 20 iterações. O segundotermo assumiu um dos três valores aleatórios, 0,1, 0,0 ou -0,1, em cada iteração. Alémdisso, os sinais direito e esquerdo foram defasados em 10 amostras. A Figura 4.3 mostraum exemplo de sinais gerados. Para cada ponto, os valores de x(k), y(k) e θ(k) forammedidos e o valor de l(k) foi calculado, como descrito na Seção 3.3.

4.2.2 Seleção da Estrutura do Modelo

Com os dados obtidos e l(k) calculado, a identificação é realizada como descrito naSeção 3.4. Entretanto, a seleção da estrutura, em especial a ordem, deve ser realizada. De

Page 41: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 4. EXPERIMENTOS E RESULTADOS 27

acordo com Aguirre (2015), a necessidade de se escolher um valor adequado para a ordemde um sistema pode ser apreciada verificando-se que, se a ordem usada for menor que aordem efetiva do sistema real, o modelo não possuirá a complexidade estrutural necessáriapara reproduzir a dinâmica do sistema. Caso contrário, a estimação será provavelmentemal condicionada.

Utilizando o critério de informação de Akaike (AIC), foram construídas tabelas paracada variável l e θ com diferentes ordens e tempos de atraso. Sabe-se que por esse critérioo menor valor obtido é um possível indicador para um modelo ótimo. Foram construídasas Tabelas 4.1 e 4.2.

Para a Tabela 4.1, o melhor modelo que descreve o sistema é com ordem 2 e atraso 2,tendo como o menor valor de Akaike AICotimo = −9,9556x103. Enquanto para a Tabela4.2, o melhor modelo que descreve o sistema é com ordem 3 e atraso 2, tendo como omenor valor de Akaike AICotimo =−4,3463x103.

Nos dois casos, o tempo de atraso indicado é 2, entretanto, a ordem do modelo diferiu.Analisando o comportamento das linhas, a maior mudança é na transição de ordem 1 paraa ordem 2. Na transição de ordem 2 para a ordem 3 a mudança é menor, e assim por diante.Logo, isso nos leva a acreditar que a ordem para as variáveis é realmente 2, estando deacordo com a teoria matemática estudada.

Para a análise do tempo de atraso, um experimento foi realizado para medir o instantede reação a uma excitação. Neste caso, a excitação foi um sinal de entrada ur = 0,5 (50%de PWM) e a reação é o deslocamento angular θ(k). Assim, apenas uma roda girava e eramedido o ângulo que o robô realizava. Sabendo que em condições ideais a reação a umaexcitação só pode ser verificada no próximo tempo, atrasos na reação ocorrem em temposdepois. Pelo gráfico da Figura 4.4, podemos ver que a excitação ocorreu no tempo k = 10e a reação apenas em k = 13. Logo, o tempo de atraso foi de 2 amostras de tempo.

Assim, podemos concluir que a ordem do modelo é 2 e o tempo de atraso também é2.

Tabela 4.1: Ordem e atraso definidos pelo AIC para a variável l. Os valores possuemgrandeza de 103.

OrdemTempo de Atraso

0 1 2 3 4 5

1 -6,7104 -6,8534 -7,0558 -7,3056 -7,4894 -7,6060

2 -9,7576 -9,8906 -9,9556 -9,9245 -9,6653 -9,5545

3 -9,8722 -9,9299 -9,9437 -9,9005 -9,6561 -9,6040

Page 42: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 4. EXPERIMENTOS E RESULTADOS 28

Tabela 4.2: Ordem e atraso definidos pelo AIC para a variável θ. Os valores possuemgrandeza de 103.

OrdemTempo de Atraso

0 1 2 3 4 5

1 -1,8474 -2,0385 -2,3143 -2,5459 -2,7301 -2,8203

2 -3,8319 -3,9334 -3,9432 -3,8874 -3,8373 -3,7812

3 -4,3025 -4,3426 -4,3463 -4,2298 -4,0508 -3,9344

Figura 4.4: Tempo de atraso calculado empiricamente.

Amostras0 5 10 15 20 25 30 35 40

Âng

ulo

(rad

), P

WM

%

-0.5

0

0.5

1 SinalÂngulo

4.2.3 Estimação Paramétrica

Realizando os procedimentos da Seção 3.4.1, foram obtidos os parâmetros das funçõesde transferências da equação 3.30. A seguir, temos as funções de transferências montadas:

Gvv(z) =(0,0074z+0,01112)z−2

z2−1,8504z+0,8506Gvw(z) =

(−0,0006z−0,0009)z−2

z2−1,8504z+0,8506

Gwv(z) =(0,0008z−0,0077)z−2

z2−1,7490z+0,7491Gww(z) =

(0,3179z+0,1661)z−2

z2−1,7490z+0,7491

(4.1)

Para facilitar a análise do modelo, as funções de transferências foram convertidas para

Page 43: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 4. EXPERIMENTOS E RESULTADOS 29

o tempo contínuo, usando o modelo do segurador de ordem zero, como a seguir:

Gvv(s) =(−0,0685s+18,46)e−2T s

s2 +4,904s+0,2046Gvw(s) =

(0,0052s−1,539)e−2T s

s2 +4,904s+0,2046

Gwv(s) =(0,1537s−7,219)e−2T s

s2 +8,756s+0,008533Gww(s) =

(2,242s+511,7)e−2T s

s2 +8,756s+0,008533

(4.2)

Evidenciando os polos e zeros das funções de transferências, temos:

Gvv(s) =−0,0685(s−269,4890)e−2T s

(s+0,0421)(s+4,8619)Gvw(s) =

0,0052(s−293,8705)e−2T s

(s+0,0421)(s+4,8619)

Gwv(s) =0,1537(s−46,9681)e−2T s

(s+0,00097)(s+8,7550)Gww(s) =

2,242(s+228,2337)e−2T s

(s+0,00097)(s+8,7550)

(4.3)

Agora, fazemos o ajuste das funções de transferências, desprezando zeros irrelevantese arredondando polos muito próximos da origem:

Gvv(s)'3,7968e−2T s

s(0,2057s+1)Gvw(s)'

−0,3165e−2T s

s(0,2057s+1)

Gwv(s)'−0,8245e−2T s

s(0,1142s+1)Gww(s)'

58,4464e−2T s

s(0,1142s+1)

(4.4)

Analisando os ganhos das funções de transferências da equação 4.4, Gvv(s) represen-tará o modelo do controlador linear e Gww(s) representará o modelo para o projeto docontrolador angular. Conforme esperado, as funções de transferências direta (movimentolinear com tensão linear, por exemplo) têm ganho maior que as funções de transferênciacruzadas (movimento linear com tensão angular, por exemplo).

Para aplicação no Preditor de Smith, serão utilizadas as funções de transferências notempo discreto ajustadas (equação 4.5), obtidas das funções de transferências no tempoajustadas (equação 4.4). Serão levadas em consideração apenas Gvv(s) e Gww(s).

Gvv(z)'(0,0095z+0,0090)z−2

z2−1,852z+0,8518Gvw(z)'

(−0,0008z−0,0007)z−2

z2−1,852z+0,8518

Gwv(z)'(−0,0036z−0,0033)z−2

z2−1,7449z+0,7491Gww(z)'

(0,2536z+0,2303)z−2

z2−1,7449z+0,7491

(4.5)

Page 44: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 4. EXPERIMENTOS E RESULTADOS 30

4.3 Validação

Com as funções de transferências obtidas e os parâmetros definidos, projetou-se umcontrolador da família PID para validar o modelo identificado. Inicialmente foram feitassimulações com as variáveis de controle e em seguida foi adicionado o preditor de Smith.Os mesmos testes foram feitos com o robô real, verificando o comportamento de l e θ.

O controlador projetado foi do tipo P, sendo feitas análises para o ganho de um sistemacriticamente amortecido (kc) e para o ganho de um sistema subamortecido com coeficientede amortecimento ξ = 0,707 (ks). Esses ganhos foram calculados supondo que o sistemanão tivesse tempo de atraso. Ao se utilizar esses ganhos no sistema com tempo de atraso,o comportamento pode ser diferente. Por exemplo, mesmo com o controlador calculadopara que a resposta seja criticamente amortecida, o sistema pode ter sobressinal, pois otempo de atraso influi na resposta. Com o preditor de Smith, espera-se que a resposta dosistema fique próxima da esperada, sem sobressinal.

A seguir, a Tabela 4.3 mostra os ganhos utilizados nos controladores projetados.

Tabela 4.3: Ganhos do controlador tipo P.

Controlador Kc Ks

Linear 0,32012829 0,64025658

Angular 0,03744899 0,07489797

4.3.1 Experimento simulado

A partir da identificação realizada e obtenção do modelo que descreve o robô, foramfeitas simulações para analisar o comportamento do sistema com e sem tempo de atraso,e como ele se comporta com a utilização, ou não, do preditor de Smith. Os resultados aseguir foram separados por variável de controle.

Gráficos de θ(k)

As simulações tiveram o setpoint de π/2 radianos, que equivale no sistema real umareferência para um giro de 90°, considerando que o robô estava orientado em 0°.

Page 45: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 4. EXPERIMENTOS E RESULTADOS 31

Figura 4.5: Resposta do sistema para θ(k), sem tempo de atraso, para um setpoint de π/2rad para sistema criticamente amortecido (Kc) e subamortecido (Ks).

t (segundos)0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

3(k

) (r

ad)

0

0.5

1

1.5

2

SetpointKcKs

Figura 4.6: Resposta do sistema para θ(k), com tempo de atraso, para um setpoint de π/2rad para sistema criticamente amortecido (Kc) e subamortecido (Ks).

t (segundos)0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

3(k

) (r

ad)

0

0.5

1

1.5

2

SetpointKcKs

Figura 4.7: Resposta do sistema para θ(k), com tempo de atraso, para um setpoint de π/2rad para sistema criticamente amortecido (Kc) e subamortecido (Ks) com o preditor deSmith.

t (segundos)0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

3(k

) (r

ad)

0

0.5

1

1.5

2

SetpointKcKs

Page 46: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 4. EXPERIMENTOS E RESULTADOS 32

Gráficos de l(k)

As simulações para o deslocamento l(k) tiveram um setpoint de 1 m. Apesar dessavariável não ter um significado explícito, é interessante analisar seu comportamento, umavez que não temos como saída do modelo as variáveis x, y, que representam a posição dorobô no mundo real.

Figura 4.8: Resposta do sistema para l(k), sem tempo de atraso, para sistema criticamenteamortecido (Kc) e subamortecido (Ks).

t (segundos)0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

l(k)

(m

)

0

0.5

1

1.5

SetpointKcKs

Figura 4.9: Resposta do sistema para l(k), com tempo de atraso, para sistema criticamenteamortecido (Kc) e subamortecido (Ks).

t (segundos)0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

l(k)

(m

)

0

0.5

1

1.5

SetpointKcKs

Page 47: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 4. EXPERIMENTOS E RESULTADOS 33

Figura 4.10: Resposta do sistema para l(k), com tempo de atraso, para sistema critica-mente amortecido (Kc) e subamortecido (Ks) com o preditor de Smith.

t (segundos)0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

l(k)

(m

)

0

0.5

1

1.5

SetpointKcKs

4.3.2 Experimento real

Nesta seção, serão apresentados os resultados dos experimentos realizados com o robôreal, analisando l, θ e posição (x,y). É importante ressaltar que este sistema possui tempode atraso, então não foi possível obter o gráfico sem tempo de atraso.

Gráfico de θ(k)

A realização deste experimento teve uma referência para um giro de 90° (π/2), consi-derando que o robô estava orientado em 0°.

Figura 4.11: Resposta do sistema para θ(k), com tempo de atraso, para sistema critica-mente amortecido (Kc) e subamortecido (Ks).

Amostras0 10 20 30 40 50 60 70 80 90 100

3(k

) (r

ad)

0

0.5

1

1.5

2

SetpointK

c

Ks

Page 48: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 4. EXPERIMENTOS E RESULTADOS 34

Gráfico de l(k)

Para a realização deste experimento, o robô se encontrava na posição (0,0) do planocartesiano (x, y) e foi enviada uma referência para uma posição (x f ,0), onde x f é o x final.

Figura 4.12: Resposta do sistema para l(k), com tempo de atraso, para sistema critica-mente amortecido (Kc) e subamortecido (Ks).

Amostras0 20 40 60 80 100 120 140 160 180 200

l(k)

(m

)

0

0.5

1

1.5

KcKs

Gráfico de Posição

Considerando o mesmo experimento do item anterior, aqui temos os gráficos de posi-ção do robô no espaço cartesiano, expressando a sua trajetória realizada até o ponto (x f ,0)para um sistema criticamente amortecido (Kc) e subamortecido (Ks). Além disso, temoso gráfico do sinal de controle (Figura 4.15) enviado para o robô considerando os doissistemas.

Figura 4.13: Deslocamento do robô no espaço cartesiano. Sistema criticamente amorte-cido (Kc).

x (m)0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

y (m

)

-0.1

-0.05

0

0.05

0.1

Posição : Kc

Page 49: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 4. EXPERIMENTOS E RESULTADOS 35

Figura 4.14: Deslocamento do robô no espaço cartesiano. Sistema subamortecido (Ks).

x (m)0 0.1 0.2 0.3 0.4 0.5 0.6 0.7

y (m

)

-0.1

-0.05

0

0.05

0.1

Posição : Ks

Figura 4.15: Sinal de Controle para sistema criticamente amortecido e subamortecido.Análise do sinal do motor direito.

Amostras0 10 20 30 40 50 60 70 80 90 100

PWM

%

0

0.2

0.4

0.6

0.8

1

Sinal de Controle : KcSinal de Controle : Ks

4.3.3 Análise

A partir da análise do comportamento das variáveis l e θ, tanto no experimento simu-lado (figuras 4.6 e 4.9) quanto no experimento real (figuras 4.11 e 4.12), pôde ser vistoque os gráficos apresentaram comportamentos semelhantes, indicando que a identificaçãoteve uma boa qualidade.

Como era esperado, o uso do preditor de Smith nas simulações (Figuras 4.7 e 4.10)conseguiu amenizar o sobressinal causado pelo tempo de atraso do sistema. Isso permitiuque seu efeito fosse semelhante ao sistema sem tempo de atraso, como nas Figuras 4.5 e4.8. O preditor permitiu que o sinal de controle não fosse degradado pelo tempo de atraso.

Page 50: Identificação, controle e predição de robôs de acionamento

CAPÍTULO 4. EXPERIMENTOS E RESULTADOS 36

Ainda não foi possível implementar o preditor no sistema do futebol de robôs, então nãofoi possível comparar o gráfico do modelo simulado com o real.

Os gráficos das Figuras 4.13 e 4.14 mostram a trajetória que o robô realizou até che-gar num ponto final, considerando o sistema criticamente amortecido e subamortecido.Podemos verificar que a trajetória realizada foi pior quando o sistema foi subamorte-cido, ocasionada devido o maior sinal de controle (Figura 4.15) no início do movimento,em comparação com o sistema criticamente amortecido, e a assimetria entre os motores.Como o valor de l(k) não possui um significado físico relevante, ele não é interessantepara demonstrar o movimento do robô, uma vez que no mundo real l não é diretamentecalculado. Então a melhor forma é através de x, y e θ.

Estes resultados justificam o uso de controladores monovariáveis independentes paraos movimentos linear e angular do robô.

Page 51: Identificação, controle e predição de robôs de acionamento

Capítulo 5

Conclusão

É muito importante para a engenharia determinar o modelo mais adequado para repro-duzir a dinâmica de sistemas. Existem vários métodos de identificação de sistemas queutilizam o método de mínimos quadrados ou função de correlação ou meta-heurística, porexemplo.

Neste trabalho, desenvolveu-se a identificação, controle e predição do sistema derobôs de acionamento diferencial de duas rodas, com restrição não holonômica. Foi uti-lizada a estratégia da mudança de variável de controle x, y e θ para l e θ. Assim, foipossível eliminar a restrição não holonômica do modelo que descreve o robô. Com omodelo linear, foi possível aplicar o preditor de Smith, que compensa o tempo de atrasopresente nos sistemas. Desta forma, obtivemos uma resposta do sistema semelhante à dosistema sem tempo de atraso, o que é bastante útil em sistemas de controle.

O modelo linear obtido permitirá que outras ferramentas sejam utilizadas para melho-rar a identificação, como por exemplo a utilização do Filtro de Kalman, que permitirá umamelhor estimativa das posições do robô. Também permitirá a implementação do preditorde Smith no sistema real do futebol de robôs, e espera-se, como nas simulações, que otempo de atraso seja corrigido e venha a melhorar a dinâmica do time.

Os resultados experimentais apresentados demonstraram a aplicabilidade das estraté-gias desenvolvidas para a classe de robôs consideradas, atingindo de forma satisfatória osobjetivos apontados no início deste trabalho.

Page 52: Identificação, controle e predição de robôs de acionamento

Referências Bibliográficas

Aguirre, Luis Antônio (2015), Introdução à identificação de sistemas: técnicas lineares

e não lineares: teoria e aplicação, 4ª edição, Editora UFMG, Belo horizonte, MG.

Aicardi, Michele, Giuseppe Casalino, Antonio Bicchi & Aldo Balestrino (1995), ‘Clo-sed loop steering of unicycle like vehicles via lyapunov techniques’, IEEE Robotics

Automation Magazine 2(1), 27–35.

Alvarez-Aguirre, Alejandro, Martin Velasco-Villa & Basilio del Muro-Cuellar (2008),Nonlinear smith-predictor based control strategy for a unicycle mobile robot subjectto transport delay, em ‘2008 5th International Conference on Electrical Engineering,Computing Science and Automatic Control’, pp. 102–107.

Barbosa, J. P., C. F. Loeffler & A. Bulcão (2017), ‘Um estudo sobre a eficiência da qua-dratura gaussiana na integração singular com o método dos elementos de contorno’,Blucher Physics Proceedings pp. 212–217.

Billings, Stephen A. (2013), Nonlinear System Identification: NARMAX Methods in the

Time, Frequency, and Spatio-Temporal Domains, 1ª edição, Wiley, United Kingdom.

Blažic, Sašo (2011), ‘A novel trajectory-tracking control law for wheeled mobile robots’,Robotics and Autonomous Systems 59(11), 1001–1007.

Brockett, Roger W. (1983), Asymptotic stability and feedback stabilization, em

R. W.Brockett, R. S.Millman & H. J.Sussmann, eds., ‘Differential Geometric Con-trol Theory’, Vol. 27 de Progress in Mathematics, Birkhäuser, Boston, pp. 181–191.

Bunjaku, Drilon & Mile Stankovski (2017), The system identification in industrial con-trol: case study on the differential wheeled mobile robot, em ‘2017 13th IEEE Inter-national Conference on Control Automation (ICCA)’, pp. 94–99.

Chen, S. Y. (2012), ‘Kalman filter for robot vision: A survey’, IEEE Transactions on

Industrial Electronics 59(11), 4409–4420.

38

Page 53: Identificação, controle e predição de robôs de acionamento

REFERÊNCIAS BIBLIOGRÁFICAS 39

Coelho, Antônio Augusto Rodrigues & Leandro dos Santos Coelho (2004), Sistemas Di-

nâmicos Lineares, Editora da UFSC, Florianópoles/SC.

Corrêa, M. V., L. A. Aguirre & R. R. Saldanha (2002), ‘Using steady-state prior kno-wledge to constrain parameter estimates in nonlinear system identification.’, IEEE

Trans. Circ. Syst. I 49(9), 1376–1381.

d’Andréa-Novel, Brigitte, Gianni Campion & Georges Bastin (1995), ‘Control of no-nholonomic wheeled mobile robots by state feedback linearization’, International

Journal of Robotics Research 14(6), 543–559.

de Luca, Alessandro, Giuseppe Oriolo & Marilena Vendittelli (2001), Control of wheeledmobile robots: An experimental overview, em S.Nicosia, B.Siciliano, A.Bicchi &P.Valigi, eds., ‘Ramsete: Articulated and Mobile Robotics for Services and Techno-logies’, Vol. 270 de Lecture Notes in Control and Information Sciences, Springer,Berlin, Heidelberg, capítulo 8, pp. 181–226.

de Oliveira, Fúlvia Stefany Silva (2016), Controle pi/pid robusto baseado no preditorde smith. Dissertação de Mestrado - Programa de Pós-Graduação em EngenhariaElétrica da Universidade Federal de Minas Gerais.

Dobriborsci, Dmitrii, Aleksandr Kapitonov & N. Nikolay Nikolaev (2017), The basics ofthe identification, localization and navigation for mobile robots, em ‘2017 Internati-onal Conference on Information and Digital Technologies (IDT)’, pp. 100–105.

Guechi, El-Hadi, Jimmy Lauber, Michel Dambrine, Gregor Klancar & Saso Blažic(2010), ‘PDC control design for non-holonomic wheeled mobile robots with de-layed outputs’, Journal of Intelligent & Robotic Systems 60(3), 395–414.

Guerra, Patrícia N., Pablo J. Alsina, Adelardo A.D. Medeiros & Antônio P. Araújo Jr.(2004), Linear modelling and identification of a mobile robot with differential drive,em ‘2004 1st International Conference on Informatics in Control, Automation andRobotics (ICINCO)’, Vol. 2, pp. 263–269.

Gupta, Gourab Sen, Christopher H. Messom & Serge Demidenko (2005), ‘Real-timeidentification and predictive control of fast mobile robots using global vision sen-sing’, IEEE Transactions on Instrumentation and Measurement 54(1), 200–214.

Martins, Felipe N., Wanderley C. Celeste, Ricardo Carelli, Mário Sarcinelli-Filho & Teo-diano F. Bastos-Filho (2008), ‘An adaptive dynamic controller for autonomous mo-bile robot trajectory tracking’, Control Engineering Practice 16(11), 1354–1363.

Page 54: Identificação, controle e predição de robôs de acionamento

REFERÊNCIAS BIBLIOGRÁFICAS 40

Mendes, Ellon P., Adelardo A. D. Medeiros & Luiz Henrique R. Silva (2010), Identifica-tion of dynamic model with dead-zone for mobile robot with differential drive, em

‘Congresso Brasileiro de Automática’.

Nurmaini, Siti, Kemala Dewi & Bambang Tutuko (2017), Differential-drive mobile robotcontrol design based-on linear feedback control law, em ‘IAES International Confe-rence on Electrical Engineering, Computer Science and Informatics’, p. 012001.

Pacheco, Lluis, Ningsu Luo & Jordi Ferrerr (2008), Local model predictive control expe-riences with differential driven wheeled mobile robots, em ‘2008 IEEE InternationalConference on Automation, Quality and Testing, Robotics’, Vol. 2, pp. 377–382.

Park, Jong Jin & Benjamin Kuipers (2011), A smooth control law for graceful motion ofdifferential wheeled mobile robots in 2d environment, em ‘2011 IEEE InternationalConference on Robotics and Automation’, pp. 4896–4902.

Renawi, Abdulrahman, Mohammad A. Jaradat & Mamoun Abdel-Hafez (2017), ROSvalidation for non-holonomic differential robot modeling and control - case study:Kobuki robot trajectory tracking controller, em ‘2017 7th International Conferenceon Modeling, Simulation, and Applied Optimization (ICMSAO)’, pp. 1–5.

Samson, Claude (1993), ‘Time-varying feedback stabilization of car-like wheeled mobilerobots’, International Journal of Robotics Research 12(1).

Vieira, Frederico C., Adelardo A. D. Medeiros, Pablo J. Alsina & Antônio P. Araújo Jr.(2004), Position and orientation control of a two-wheeled differentially-driven no-nholonomic mobile robot, em ‘2004 1st International Conference on Informatics inControl, Automation and Robotics (ICINCO)’, Vol. 2, pp. 256–262.

Yang, Hongjiu, Xiaozhao Fan, Peng Shi & Changchun Hua (2016), ‘Nonlinear controlfor tracking and obstacle avoidance of a wheeled mobile robot with nonholonomicconstraint’, IEEE Transactions on Control Systems Technology 24(2), 741–746.