Escolar Documentos
Profissional Documentos
Cultura Documentos
DISSERTAÇÃO DE MESTRADO
FOZ DO IGUAÇU
2020
Mateus Luiz Wilhelm
Foz do Iguaçu
2020
Ficha de identificação da obra elaborada através do Formulário de Geração
Automática do Sistema de Bibliotecas da Unioeste.
Os modelos matemáticos dos Robôs Móveis com Roda (RMRs) são caracterizados como sis-
temas de múltiplas entradas e múltiplas saídas (do inglês, Multiple-Input Multiple-Output -
MIMO) não lineares e, dependendo da configuração das rodas do robô, podem apresentar res-
trições não holonômicas. O controle de movimento do robô, que tem como propósito determinar
as forças/torques necessários para o movimento do RMR, é desenvolvido considerando essas
características dos RMRs, de modo que o robô realize tarefas com o desempenho desejado.
O modelo matemático de um RMR compreende a equação cinemática de sua estrutura e pode
incluir, também, sua equação dinâmica, a qual insere massa e momento de inércia no modelo
matemático do veículo. Uma das estratégias utilizadas no controle de movimento, e empregada
em vários trabalhos, é a realimentação linearizante, que consiste em transformar um sistema
não linear, completa ou parcialmente, em um sistema linear a partir de uma realimentação não
linear de estados. Neste trabalho é desenvolvido um protótipo com arquitetura aberta de Robô
Móvel com Rodas Diferencial (RMRD), o qual consiste em um sistema mecatrônico, para a im-
plementação e teste de sistemas de controle de movimento. Além disso, são aplicadas técnicas
para a transformação de sinais de controle em sinais adequados para os atuadores do protótipo,
bem como para a obtenção das variáveis de estado a partir das informações dos sensores do
protótipo. Como uma das contribuições do trabalho, é desenvolvida uma técnica diferente da
maioria dos trabalhos da área, na qual o cálculo do duty cycle relativo ao sinal PWM, utili-
zado para regular a tensão aplicada aos atuadores do protótipo por meio de drivers ponte-H, é
realizado em função da tensão calculada nos atuadores e da velocidade angular das rodas me-
dida por sensores. Neste trabalho, adota-se o Raspberry Pi como a unidade de processamento
do protótipo e as simulações e experimentos práticos são realizados utilizando as ferramentas
Matlab/Simulink, que oferecem suporte para integração com o Raspberry. Com o objetivo de
avaliar o protótipo, são selecionadas duas estratégias de controle para serem testadas, ambas
embasadas na realimentação linearizante. O primeiro sistema de controle considera somente o
modelo cinemático do RMRD e o segundo, por sua vez, considera ambos modelos cinemático
e dinâmico. O problema de controle abordado consiste no seguimento de trajetória. As simu-
lações e ensaios com o protótipo são realizados para duas trajetórias diferentes. Os resultados
obtidos com o protótipo são satisfatórios, pois apresentam baixos erros de seguimento para am-
bos sistemas de controle implementados. O RMRD construído, apesar de se encontrar em uma
primeira versão e utilizar, em parte, dispositivos e algoritmos comuns, mostra-se bastante viável
para a implementação e teste de estratégias controle de movimento de RMRs.
The mathematical models of Wheeled Mobile Robots (WMRs) are characterized as Nonlinear
Multiple-Input Multiple-Output (MIMO) systems and, depending on the configuration of the
robot wheels, it may have nonholonomic constraints. The motion control of the robot, which
aims to determine the forces/torques necessary to move the WMR, is developed considering
those characteristics of the WMRs, so that the robot performs tasks with the desired perfor-
mance. The mathematical model of an WMR contains the kinematic equation of its structure
and it can also include its dynamic equation, which includes mass and moment of inertia into
the mathematical model of the vehicle. One of the approaches used in motion control, and ap-
plied in several works, is the feedback linearization, which consists of transforming a nonlinear
system, fully or partially, into a linear system through nonliner state feedback. In this work a
prototype with open architecture of the Differential Wheeled Mobile Robot (DWMR) is deve-
loped, which consists of a mechatronic system, for the implementation and testing of motion
control systems. In addition, techniques are applied for the transformation of control signals
into signals suitable for the prototype actuators, as well as for obtaining of the state variables
using information from the prototype sensors. As one of the contributions of the work, a tech-
nique is developed in which, different from most works in the area, the obtainment of the duty
cycle related to the PWM signal, used to regulate the voltage applied to the prototype actuators
through H-bridge drivers, is performed in function the calculated voltage in the actuators and
the angular speed of the wheels measured by sensors. In this work, the Raspberry Pi is adopted
as the prototype processing unit and the simulations and practical experiments are performed
using Matlab/Simulink tools, which support integration with Raspberry. In order to evaluate the
prototype, two control strategies are selected to be tested, both based on feedback linearization.
The first control system considers only the DWMR kinematic model and the second, on the
other hand, considers both kinematic and dynamic models. The exposed control problem con-
sists of trajectory tracking. The simulations and tests with the prototype are performed for two
different trajectories. The results obtained with the prototype are satisfactory because they have
low tracking errors for both control systems implemented. The DWMR built, even in a first
version and composed, in part, of common devices and algorithms, proves to be quite viable for
the implementation and testing of motion control strategies of WMRs.
Lista de Figuras 10
Lista de Tabelas 14
1 Introdução 18
1.1 Navegação de Robôs Móveis . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.1.1 Controle de Movimento de RMRs . . . . . . . . . . . . . . . . . . . . 21
1.2 Sistema Mecatrônico de RMRs . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.2.1 Sistema de Atuação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.2.2 Sistema de Sensoriamento . . . . . . . . . . . . . . . . . . . . . . . . 27
1.2.3 Arquitetura Experimental e Implementação dos Sistemas de Controle . 28
1.3 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.4 Objetivos do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.5 Organização da Dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5 Resultados e Discussões 81
5.1 Sintonia dos Ganhos dos Sistemas de Controle . . . . . . . . . . . . . . . . . . 83
5.2 Cenário 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.2.1 Resultados para a Trajetória com Curva Suave de 180o . . . . . . . . . 84
5.2.2 Resultados para a Trajetória em Formato de 8 . . . . . . . . . . . . . . 90
5.3 Cenário 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.4 Cenário 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.4.1 Resultados com o Sistema de Controle Cinemático . . . . . . . . . . . 95
5.4.2 Resultados com o Sistema de Controle Dinâmico . . . . . . . . . . . . 96
5.5 Aspectos do Protótipo e da Arquitetura Experimental . . . . . . . . . . . . . . 98
6 Conclusão 100
6.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Figura 1.1: Exemplos de RMRs. (a) MiR200, (b) Patrolis e (c) Pioneer 3-DX. . . . . . 19
Figura 1.2: Características construtivas e de movimento do RMRD. Vista superior. . . 19
Figura 1.3: Organização geral das operações de um robô móvel autônomo para sua
navegação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figura 1.4: Diagrama simplificado da estrutura de controle unificada. . . . . . . . . . 22
Figura 1.5: Diagrama simplificado da estrutura de controle separada. . . . . . . . . . . 22
Figura 1.6: Controle dos atuadores (a) sem e (b) com realimentação, considerando o
RMRD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Figura 2.1: Subdivisões na mecânica. . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figura 2.2: Cinemática e dinâmica de um ponto de massa em um espaço inercial. . . . 33
Figura 2.3: Representação esquemática dos seis graus de liberdade. . . . . . . . . . . 33
Figura 2.4: Vista superior do RMRD. Referencial inercial (x, y) e referencial local (xR ,
yR ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figura 2.5: Características (a) geométricas e (b) de velocidade do RMRD. . . . . . . . 35
Figura 2.6: Aspectos construtivos da roda (a) castor e (b) fixa motorizada. . . . . . . . 37
Figura 2.7: Realimentação para o cancelamento de não linearidades referentes à dinâ-
mica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figura 3.1: Variantes da realimentação linearizante para o RMRD. . . . . . . . . . . . 49
Figura 3.2: O problema de seguimento de trajetória com a técnica Look-Ahead. . . . . 50
Figura 3.3: Vista superior do RMRD. Movimentação lateral do ponto Pr . . . . . . . . 51
Figura 3.4: Linearização entrada-saída aplicada no modelo cinemático do RMRD. . . 53
Figura 3.5: Controlador linear com a linearização entrada-saída aplicada ao modelo
cinemático do RMRD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Figura 3.6: Linearização entrada-saída aplicada no modelo cinemático e dinâmico do
RMRD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Figura 3.7: Controlador linear com a linearização entrada-saída aplicada ao modelo
cinemático e dinâmico do RMRD. . . . . . . . . . . . . . . . . . . . . . . 59
Figura 4.1: Estrutura física e componentes do protótipo construído. Visão frontal (à
esquerda) e visão traseira (à direita). . . . . . . . . . . . . . . . . . . . . . 61
Figura 4.2: Dimensões do protótipo e posicionamento de elementos físicos do sistema
mecatrônico. Vista superior com valores em milímetro. . . . . . . . . . . . 61
Figura 4.3: Dimensões do protótipo e posicionamento de elementos físicos do sistema
mecatrônico. Vista inferior com valores em milímetro. . . . . . . . . . . . 61
Figura 4.4: Dimensões e posicionamento das rodas no protótipo. Vista lateral com va-
lores em milímetro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Figura 4.5: Diagrama simplificado do sistema mecatrônico construído (elementos físi-
cos). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Figura 4.6: RaspBerry Pi 3 modelo B. . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Figura 4.7: Pinos GPIO no Raspberry Pi 3 B (não ordenados numericamente). . . . . . 65
Figura 4.8: Organograma dos modelos em blocos desenvolvidos no Simulink. . . . . . 66
Figura 4.9: (a) Arduino UNO e (b) seu microcontrolador ATmega328P. . . . . . . . . 67
Figura 4.10: (a) Bateria Li-Ion e (b) Li-Po. . . . . . . . . . . . . . . . . . . . . . . . . 68
Figura 4.11: Buck-Boost DSN6000AUD. . . . . . . . . . . . . . . . . . . . . . . . . . 68
Figura 4.12: (a) Regulador LM317 e (b) circuito para o LM317. . . . . . . . . . . . . . 69
Figura 4.13: Elementos físicos e computacionais para a obtenção dos estados referentes
ao sistema que inclui cinemática e dinâmica. . . . . . . . . . . . . . . . . 70
Figura 4.14: Módulo óptico FC-03. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Figura 4.15: Bloco do Simulink para leitura de sinal digital dos pinos GPIO. . . . . . . 71
Figura 4.16: Tratamento do sinal, referente à velocidade, com filtro passa-baixa de se-
gunda ordem e frequência de corte em 200 Hz. . . . . . . . . . . . . . . . 73
Figura 4.17: Elementos físicos e computacionais para atuação referentes ao sistema de
controle dinâmico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Figura 4.18: (a) Motor CC com caixa de engrenagens redutora e (b) esquema de redução
com engrenagens sem-fim e coroa. . . . . . . . . . . . . . . . . . . . . . 75
Figura 4.19: Módulo com o driver ponte-H dual L298N. . . . . . . . . . . . . . . . . . 75
Figura 4.20: Resultados de ensaios realizados com o RMRD no chão. Comportamento
da velocidade angular da roda direita (em azul) frente a uma rampa de Va
(em verde), utilizando o método usual para o cálculo do DC (em vermelho). 77
Figura 4.21: Leituras em osciloscópio: em azul, sinal PWM gerado pelo ATmega328P e,
em vermelho, tensão medida nos terminais do motor direito. Em (a), razão
cíclica de 10% e, em (b), razão cíclica de 20%. Ensaios realizados com o
RMRD suspenso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Figura 4.22: Resultados de ensaios realizados com o RMRD no chão. Comportamento
da velocidade angular da roda direita (em azul) frente a uma rampa de Va
(em verde), utilizando a técnica linearização por duty cycle para o cálculo
do DC (em vermelho). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Figura 4.23: (a) Não linearidade zona morta e (b) tratamento da zona morta pela tensão. 79
Figura 4.24: Blocos do Simulink para (a) escrita de sinal digital e (b) sinal serial nos
pinos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Figura 5.1: Trajetória no plano xy. Resultados com o sistema de controle cinemático e
para a trajetória com curva de 180o . . . . . . . . . . . . . . . . . . . . . . 84
Figura 5.2: Velocidade linear ao decorrer da trajetória. Resultados com o sistema de
controle cinemático e para a trajetória com curva de 180o . . . . . . . . . . 85
Figura 5.3: Erros de posição em x e em y e erro de velocidade linear. Resultados com
o sistema de controle cinemático e para a trajetória com curva de 180o . . . 85
Figura 5.4: Velocidade angular das rodas como entrada. Resultados com o sistema de
controle cinemático e para a trajetória com curva de 180o . . . . . . . . . . 85
Figura 5.5: Tensão calculada para os atuadores. Resultados com o sistema de controle
cinemático e para a trajetória com curva de 180o . . . . . . . . . . . . . . . 86
Figura 5.6: Velocidade angular das rodas. Resultados com o sistema de controle cine-
mático e para a trajetória com curva de 180o . . . . . . . . . . . . . . . . . 86
Figura 5.7: Trajetória no plano xy. Resultados com o sistema de controle dinâmico e
para a trajetória com curva de 180o . . . . . . . . . . . . . . . . . . . . . . 87
Figura 5.8: Velocidade linear ao decorrer da trajetória. Resultados com o sistema de
controle dinâmico e para a trajetória com curva de 180o . . . . . . . . . . . 87
Figura 5.9: Erros de posição em x e em y e erro de velocidade linear. Resultados com
o sistema de controle dinâmico e para a trajetória com curva de 180o . . . . 88
Figura 5.10: Torque calculado para as rodas. Resultados com o sistema de controle di-
nâmico e para a trajetória com curva de 180o . . . . . . . . . . . . . . . . . 88
Figura 5.11: Tensão calculada para os atuadores. Resultados com o sistema de controle
dinâmico e para a trajetória com curva de 180o . . . . . . . . . . . . . . . . 88
Figura 5.12: Velocidade angular das rodas. Resultados com o sistema de controle dinâ-
mico e para a trajetória com curva de 180o . . . . . . . . . . . . . . . . . . 89
Figura 5.13: Trajetória no plano xy. Resultados com o sistema de controle cinemático e
para a trajetória em formato de 8. . . . . . . . . . . . . . . . . . . . . . . 90
Figura 5.14: Velocidade linear ao decorrer da trajetória. Resultados com o sistema de
controle cinemático e para a trajetória em formato de 8. . . . . . . . . . . 91
Figura 5.15: Erros de posição em x e em y e erro de velocidade linear. Resultados com
o sistema de controle cinemático e para a trajetória em formato de 8. . . . 91
Figura 5.16: Trajetória no plano xy. Resultados com o sistema de controle dinâmico e
para a trajetória em formato de 8. . . . . . . . . . . . . . . . . . . . . . . 92
Figura 5.17: Velocidade linear ao decorrer da trajetória. Resultados com o sistema de
controle dinâmico e para a trajetória em formato de 8. . . . . . . . . . . . 92
Figura 5.18: Erros de posição em x e em y e erro de velocidade linear. Resultados com
o sistema de controle dinâmico e para a trajetória em formato de 8. . . . . 92
Figura 5.19: Trajetória no plano xy. Resultados com o sistema de controle dinâmico,
para a trajetória com curva de 180o e com variação nos parâmetros m, I, Ir ,
Bd e Be . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Figura 5.20: Velocidade linear. Resultados com o sistema de controle dinâmico, para a
trajetória com curva de 180o e com variação nos parâmetros m, I, Ir , Bd e
Be . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Figura 5.21: Erros de posição em x e y. Resultados com o sistema de controle dinâmico,
para a trajetória com curva de 180o e com variação nos parâmetros m, I, Ir ,
Bd e Be . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Figura 5.22: Trajetória no plano xy. Resultados com o sistema de controle cinemático,
para a trajetória com curva de 180o e sem a linearização por duty cycle. . . 95
Figura 5.23: Velocidade linear. Resultados com o sistema de controle cinemático, para a
trajetória com curva de 180o e sem a linearização por duty cycle. . . . . . . 96
Figura 5.24: Erros de posição em x e em y e erro de velocidade linear. Resultados com
o sistema de controle dinâmico, para a trajetória com curva de 180o e sem a
linearização por duty cycle. . . . . . . . . . . . . . . . . . . . . . . . . . 96
Figura 5.25: Trajetória no plano xy. Resultados com o sistema de controle cinemático,
para a trajetória com curva de 180o e sem a linearização por duty cycle. . . 97
Figura 5.26: Velocidade linear. Resultados com o sistema de controle cinemático, para a
trajetória com curva de 180o e sem a linearização por duty cycle. . . . . . . 97
Figura 5.27: Erros de posição em x e em y e erro de velocidade linear. Resultados com
o sistema de controle dinâmico, para a trajetória com curva de 180o e sem a
linearização por duty cycle. . . . . . . . . . . . . . . . . . . . . . . . . . 97
Figura A.1: Vista superior do RMRD. Referencial global (x, y) e referencial local (xR ,
yR ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Figura A.2: Circuito de armadura do motor CC. . . . . . . . . . . . . . . . . . . . . . 110
Figura B.1: (a) Representação esquemática do encoder incremental e (b) módulo FC-03. 113
Figura B.2: (a) Módulo com o driver ponte-H dual L298N e (b) esquema interno ao
L298N referente à saída 1. . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Figura C.1: Vista superior do RMRD. Parâmetros do modelo cinemático. . . . . . . . 116
Figura C.2: Respostas de velocidade angular da roda direita frente à aplicação de um
degrau de tensão no motor direito com o protótipo suspenso (à esquerda) e
no chão (à direita). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Figura C.3: Fluxograma do algoritmo Firefly. . . . . . . . . . . . . . . . . . . . . . . 125
Figura C.4: Ganho k0 versus erro para cada vaga-lume e cada iteração. Simulações
referentes ao sistema de controle cinemático. . . . . . . . . . . . . . . . . 126
Figura C.5: Ganho k0 versus k1 para cada vaga-lume e cada iteração. Simulações refe-
rentes ao sistema de controle dinâmico. . . . . . . . . . . . . . . . . . . . 127
Figura C.6: (a) Ganho k0 versus erro e (b) ganho k1 versus erro para cada vaga-lume e
cada iteração. Simulações referentes ao sistema de controle dinâmico . . . 127
Figura D.1: Código C gravado no ATmega328P. Lê os valores de DutyCycle pela comu-
nicação serial e escreve nas portas PWM. . . . . . . . . . . . . . . . . . . 129
Figura D.2: Subsistema no ambiente Simulink para obtenção do deslocamento e veloci-
dade angulares da roda direita. (a) Visão externa e (b) interna. . . . . . . . 130
Figura E.1: Diagrama em blocos completo dos sistemas de controle (a) cinemático e (b)
dinâmico implementados no protótipo do RMRD. . . . . . . . . . . . . . 131
Lista de Tabelas
Tabela 5.1: Estados iniciais dos sistemas de controle para cada trajetória. . . . . . . . 81
Tabela 5.2: Parâmetros do protótipo referentes ao modelo cinemático. . . . . . . . . . 82
Tabela 5.3: Parâmetros do protótipo referentes ao modelo dinâmico. . . . . . . . . . . 82
Tabela 5.4: Parâmetros do protótipo referentes ao modelo matemático dos atuadores. . 82
Tabela 5.5: Parâmetros do protótipo referentes aos controladores. . . . . . . . . . . . 82
Tabela B.1: Características elétricas do conversor CC/CC Buck-Boost. . . . . . . . . . 112
Tabela B.2: Características elétricas do regulador LM317. . . . . . . . . . . . . . . . . 112
Tabela B.3: Características elétricas do sensor FC-03. . . . . . . . . . . . . . . . . . . 113
Tabela B.4: Características de operação do atuador JGY-370. . . . . . . . . . . . . . . 113
Tabela B.5: Características elétricas do módulo ponte-H. . . . . . . . . . . . . . . . . 114
Tabela C.1: Valores da tensão de armadura (Va ), corrente de armadura (Ia ) e velocidade
angular (θ̇) obtidos do ensaio com os atuadores direito (D) e esquerdo (E). 115
Tabela C.2: Valores estimados da resistência de armadura Ra e constante de força contra
eletromotriz ka dos atuadores direito (D) e esquerdo (E). . . . . . . . . . . 116
Lista de Símbolos
Introdução
Um dispositivo robótico pode ser definido como um sistema ou máquina que une, de
modo inteligente, a percepção e a ação, sendo capaz de se movimentar e executar tarefas de
forma autônoma, ou seja, sem a intervenção humana (Tzafestas, 2014). A inserção da robótica
na indústria iniciou na década de 60 e, desde então, passou a ter aplicação em outras áreas,
como segurança, saúde, espacial, militar, educação/pesquisa e agrícola. Aspectos que motivam
sua aplicação, além da automatização de tarefas e da melhora na qualidade do produto final, são
a realização de tarefas as quais podem proporcionar lesões aos seres humanos devido a movi-
mentos repetitivos e posturas inadequadas, a atuação em ambientes periculosos e insalubres, a
manipulação de materiais de alto risco e a exploração de territórios de difícil acesso e estudo
(Ortigoza et al., 2012).
Com relação ao ambiente terrestre, a robótica contém uma série de ramificações relaciona-
das à natureza do robô e à forma como se movimenta. A robótica é, primeiramente, distinguida
entre robótica fixa, que aborda os robôs manipuladores, e móvel. Os robôs manipuladores apre-
sentam maior maturidade como área de estudo e no setor industrial. São, essencialmente, braços
robóticos que podem se movimentar com velocidade relativamente alta e com boa precisão para
realizar tarefas repetitivas e minuciosas, contudo, sua base é fixa em uma posição específica
e, consequentemente, apresentam uma extensão de trabalho limitada (Siegwart et al., 2011).
Os robôs móveis começaram a ganhar mais atenção a partir da década de 90 e, em contraste
com a robótica fixa, podem se movimentar livremente de uma região a outra dentro do espaço
de trabalho. A robótica móvel terrestre é, por sua vez, ramificada pelo modo de locomoção,
tratando, principalmente, dos robôs móveis com pernas e robôs móveis com rodas (Ortigoza
et al., 2012). Em geral, a locomoção por pernas é uma escolha mais necessária em terrenos
acidentados e irregulares, enquanto a locomoção por rodas é preferência em terrenos planos e
regulares (Tzafestas, 2014).
Com respeito aos robôs móveis com rodas (RMR), a distinção neste ramo ocorre pelo tipo
de roda empregado e sua característica de acionamento. Na maioria dos RMRs são utilizadas
rodas convencionais, diferenciadas entre roda fixa, que possui um ângulo de orientação fixo com
relação ao chassi do robô, e roda orientável, que pode ser esterçada. Estas rodas ainda podem
ser tracionadas por atuadores, ou seja, motorizadas, quando selecionadas para proporcionar o
movimento do veículo. Além disso, geralmente são inseridas, como ponto de apoio, uma ou
18
19
mais rodas do tipo castor para conferir estabilidade. A roda castor não é motorizada e tem seu
ponto de contato com o chão deslocado de seu eixo de orientação, tendo a particularidade de se
orientar automaticamente à direção em que o robô se move.
Os RMRs também dispõem de várias aplicabilidades. Dentre outras finalidades são des-
tinados à indústria para atuar, por exemplo, no transporte de cargas e na logística, como o robô
MiR200 da empresa Polux (Mobile Industrial Robots A/S, 2020), na Figura 1.1 (a), que suporta
cargas de até 200 kg; têm utilidade no setor da segurança, como o robô Patrolis lançado em 2018
pela empresa de segurança e multisserviços Gocil (Segurança Eletrônica, 2018), na Figura 1.1
(b), que pode ser programado para percorrer o perímetro de uma área, detectar invasores e re-
portar à equipe de vigilância; e no campo da educação e pesquisa, como o robô Pioneer 3-DX
da incorporação Adept Technology (Adept Technology Inc., 2011), na Figura 1.1 (c), que é uma
plataforma programável equipada com alguns sensores em sua estrutura e pode ser customizada
com outros acessórios como sensores de mapeamento e um braço manipulador.
Dentre as configurações existentes de RMRs, destaca-se o Robô Móvel com rodas Di-
ferencial (RMRD), que apresenta uma construção simples e controlabilidade e modelo menos
complexos. Seu esquema geral pode ser visualizado na Figura 1.2.
eixo de simetria
𝑣𝑒
𝑅
𝑣𝑑
eixo de rotação
CCI
rodas motorizadas
rodas castor
chassi
Figura 1.2: Características construtivas e de movimento do RMRD. Vista superior.
Fonte: Adaptado de (Tzafestas, 2014).
O RMRD contém duas rodas fixas motorizadas acopladas uma em cada lado do chassi,
com seus eixos de rotação alinhados. Para conferir um equilíbrio estável, duas rodas castor
podem ser inseridas nas regiões frontal e traseira da estrutura. As rodas fixas são tracionadas
20
independentemente, assim, o Centro de Curvatura Instantâneo (CCI) do robô pode ser posici-
onado em qualquer ponto do eixo dessas rodas, dependendo da velocidade linear e sentido de
rotação das mesmas.
Figura 1.3: Organização geral das operações de um robô móvel autônomo para sua navegação.
Fonte: (Tzafestas, 2018).
construído (Rubio et al., 2019). Também, existe uma realimentação interna no ciclo apresentado
na Figura 1.3, entre os processos de sensoriamento e de controle de movimento, pois é comum
os sistemas de controle, empregados no controle de movimento, necessitarem das variáveis de
estado do robô, como por exemplo, as informações de deslocamento e velocidade do veículo e
de suas rodas. Tais informações são obtidas pelos sensores (Vieira, 2005).
Conforme Tzafestas (2014), o controle de movimento do robô tem como propósito de-
terminar as forças/torques a serem produzidas pelos atuadores de modo que o robô realize as
tarefas designadas com um desempenho desejado. De acordo com Vieira (2005), Tzafestas
(2014) e Aguiar (2017), os problemas de controle mais tratados nos artigos são: estabilização
de postura, seguimento de trajetória e seguimento de caminho.
A estabilização de postura consiste em estabilizar o robô em uma posição e orientação
desejadas no plano cartesiano, a partir de sua posição e orientação iniciais, sem existir um per-
curso predefinido entre as coordenadas inicial e final. No seguimento de trajetória, o objetivo é
conduzir o robô por um caminho parametrizado no tempo, isto é, com uma restrição de tempo
imposta. O seguimento de caminho é semelhante ao anterior, mas difere por não impor a res-
trição temporal. Assim, o robô é conduzido a se manter no caminho, porém com um perfil de
velocidade predefinido.
O projeto do sistema de controle pode ser realizado considerando somente o modelo ci-
nemático ou, então, considerando o modelo cinemático em conjunto com o modelo dinâmico
do RMR (Vieira, 2005). O modelo cinemático depende da geometria da estrutura do robô, e
relaciona as variáveis de velocidade do veículo no sistema de coordenadas global (velocidade
linear no eixo x, velocidade linear no eixo y e velocidade angular em torno ao eixo z) e as
variáveis de velocidade no sistema de coordenadas das juntas, no caso do RMRD, a velocidade
angular de cada roda motorizada. O modelo dinâmico complementa o modelo cinemático ao
considerar massa, momento de inércia, força e torque no equacionamento do veículo, e pode
ou não envolver a dinâmica dos atuadores (Siegwart et al., 2011). Quando ambos modelos são
considerados no projeto do sistema de controle, é comum o emprego de um dos dois tipos de
estrutura de controle: unificada ou separada.
Na estrutura de controle unificada, somente uma estratégia de controle é projetada para
o modelo completo, composto pelos modelos cinemático e dinâmico (Al-Mutib et al., 2015).
Na Figura 1.4 é ilustrada a estrutura unificada, onde xd e yd são as coordenadas desejadas, φd
é a orientação desejada, fv é o sinal de controle de força para translação do RMR, τw é o sinal
de controle de torque para rotação do RMR, x e y são as coordenadas do RMR e φ, v e w são,
nesta ordem, a orientação, a velocidade linear e a velocidade angular do RMR.
22
𝑥
𝑦
𝑥𝑑 𝜙 𝑥
𝑦𝑑 𝑓𝑣 𝑣 𝑦
𝜙𝑑 𝜏𝜔 Modelos 𝜔 𝜙
Trajetória 1
+_ Controlador cinemático Saída
desejada 𝑠
e dinâmico
Referente à utilização de controle adaptativo, pode-se citar: Shojaei et al. (2010), que
projeta uma estrutura de controle unificada para o modelo composto por cinemática e dinâmica,
onde a estratégia proposta pelo autor consiste em uma lei de controle adaptativa embasada
na RL; e Taheri-Kalani & Khosrowjerdi (2014) que, por sua vez, considera uma estrutura de
controle em cascata e, para o modelo dinâmico, propõe um controle adaptativo com referência
ao modelo (MRAC - Model Reference Adaptive Control)
Como exemplos de aplicação de controle por modos deslizantes, têm-se: Capraro et al.
(2017), que propõe a estrutura de controle separada, com dois controladores por modos desli-
zantes (Sliding Mode Controller - SMC) dispostos em cascata; Mu et al. (2017), que considera
somente o modelo cinemático do RMRD; e Zhai & Song (2019), que considera ambos modelos
cinemático e dinâmico, mas propõe uma estrutura de controle unificada para ambos modelos,
onde emprega um controlador por modos deslizantes terminal adaptativo (Adaptive Fast Non-
singular Terminal Sliding Mode Control Law).
Com relação ao emprego de redes neurais artificiais e lógica fuzzy, pode-se citar: Al-
Mutib et al. (2015), que propõe um observador embasado em redes neurais recorrentes de El-
man com o objetivo de estimar as velocidades angulares da roda direita e esquerda do RMRD;
Rossomando & Soria (2015), que apresenta um controlador do tipo Proporcional Integral Deri-
vativo (PID) neural adaptativo com o intuito de lidar com variações e incertezas nos parâmetros
da dinâmica do RMRD; Peng & Shi (2018), que introduz um observador fuzzy adaptativo (Adap-
tive Fuzzy Observer) para estimar as variáveis de velocidade do sistema, assumindo que não são
mensuradas por sensores; e Begnini et al. (2018), que emprega uma estrutura de controle em
cascata e, para o modelo cinemático, propõe um controle de estrutura variável fuzzy adaptativo
(Adaptive Fuzzy Variable Structure Control).
Com relação à utilização de controle preditivo, pode-se citar o trabalho de Nascimento
et al. (2018), no qual é considerado somente o modelo cinemático do RMRD e propõe o controle
preditivo Nonlinear Model Predictive Control (NMPC). Segundo o autor, o controle preditivo
tem como objetivo resolver problemas de otimização a partir de um horizonte de previsão diante
das características do sistema. Destaca que os RMRs, como sua característica, inserem várias
restrições no sistema de controle como precisão, restrições de mobilidade, custo computacional,
manobrabilidade e problemas relacionados à estabilidade de controle.
e é formado por hardware, software, estratégia de controle e demais algoritmos (Boukas &
Al-Sunni, 2012).
Os atuadores mais aplicados na robótica móvel para tracionar as rodas são motores de
corrente contínua (CC), e normalmente são acoplados a uma caixa de engrenagens de redução
de velocidade (Shojaei et al., 2011; Sánchez et al., 2017). A caixa redutora é utilizada para
atender aos requisitos de velocidade e torque nas rodas do robô (Isermann, 2005).
Quanto ao acionamento do motor CC, é comum a inserção de dispositivos eletrônicos
de interface, amplificadores de potência, entre a unidade de processamento e o atuador pelo
fato de os microcontroladores e microprocessadores em geral, utilizados como a unidade de
processamento, não terem capacidade de proporcionar a potência demandada pelos atuadores
(Billingsley, 2006). Os dispositivos eletrônicos mais empregados nos RMRs para o aciona-
mento dos motores CC são os drivers ponte-H (Mu et al., 2017) e os conversores CC/CC buck
(Sánchez et al., 2018). Ambos dispositivos são reguladores abaixadores de tensão que permitem
controlar sua tensão de saída por sinal PWM (Pulse-Width Modulation). Os drivers ponte-H,
entretanto, têm a tensão de saída no mesmo formato que o sinal PWM, enquanto os conversores
CC/CC buck fornecem tensão contínua (Santos & Garcia, 2017).
Uma das desvantagens do driver ponte-H, quando conectado ao motor CC, consiste em
causar uma relação não linear entre o sinal PWM de entrada do driver e a velocidade angular
do motor. Dentre as estratégias, apresentadas em trabalhos, que minimizam os efeitos desta não
linearidade, pode-se mencionar a inserção de controladores PID para o seguimento de veloci-
dade angular (Pereira & Lopes, 2018) e a aproximação e representação da curva não linear por
uma função polinomial de terceiro grau (Mohammadi & Shahri, 2013).
Em aplicações típicas do RMRD, os sinais de controle produzidos pelo sistema de con-
trole principal, ou seja, o controle de movimento do robô, são o torque nas rodas direita e
esquerda, quando levado em consideração o modelo dinâmico do robô, ou a velocidade das ro-
das direita e esquerda, quando considerado somente o modelo cinemático do veículo. Torna-se
necessário desenvolver, portanto, alguma estratégia para transformar esses sinais de controle
em sinais de tensão para os motores CC direito e esquerdo. Duas estratégias empregadas com
mais frequência nos trabalhos para a tradução dos sinais de controle em sinais de tensão são o
controle do motor em malha aberta, como ilustrado na Figura 1.6 (a), ou em malha fechada com
controladores PID, como ilustrado na Figura 1.6 (b).
Normalmente, a tensão calculada para cada motor é transformada em sinal PWM, o qual
é utilizado como entrada do amplificador de potência respectivo. O amplificador, por sua vez,
produz a tensão real nos terminais do motor. No controle em malha aberta dos motores, os
26
𝝉𝑑 𝑉𝑑 𝝉𝑑 𝜃ሶ 𝑑 𝑉𝑑
Motor Encoder Modelo PID Motor Encoder
Modelo dos RMRD cinemático RMRD
𝝉𝑒 motores CC 𝑉𝑒 real 𝝉𝑒 e dinâmico 𝜃ሶ𝑒 𝑉𝑒 real
Motor Encoder do RMRD PID Motor Encoder
𝜃ሶ 𝑑 , 𝜃ሶ𝑒 𝑟𝑒𝑎𝑙
𝜃𝑑 , 𝜃ሶ 𝑑 , 𝜃𝑒 , 𝜃ሶ𝑒 𝑟𝑒𝑎𝑙
(a) (b)
Figura 1.6: Controle dos atuadores (a) sem e (b) com realimentação, considerando o RMRD.
Fonte: Adaptado de (a) (Alves, 2018) e (b) (Coelho & Nunes, 2005).
sinais de tensão calculada para o motor direito Vd e esquerdo Ve são calculados em função do
torque calculado para a roda direita τd e para a roda esquerda τe , provenientes do controle de
movimento, e em função do modelo matemático do motor CC. As tensões calculadas Vd e Ve ,
por sua vez, são aplicadas aos motores, que tracionam o RMRD, com o objetivo de seguir as
referências do controle de movimento. Em Esmaeili et al. (2017), o modelo matemático do
motor CC é simplificado e reduzido a uma constante composta pelos parâmetros mais relevan-
tes do motor. Modelos mais completos podem ser utilizados, como em Alves (2018), onde
é necessária a realimentação da velocidade da roda para o modelo dos atuadores, da mesma
forma que mostrado na Figura 1.6 (a). Assim, uma das desvantagens da primeira estratégia é a
dependência dos parâmetros do atuador, os quais contêm incertezas.
Na segunda estratégia, isto é, em malha fechada, controla-se a velocidade dos atuadores
por meio de controladores PID (Oriolo et al., 2002; Coelho & Nunes, 2005; Sousa et al., 2016),
PI (Proporcional Integrativo) (Mu et al., 2017) ou PD (Proporcional Derivativo) (Shojaei et al.,
2011). Essa estratégia também é apresentada como o controle de nível baixo, referente aos
atuadores, de modo que o controle de movimento do robô se encontre um nível acima. Assim,
dados os torques calculados para a roda direita τd e esquerda τe , provenientes do controle de
movimento do robô, as velocidades calculadas para a roda direita θ̇d e esquerda θ̇e são determi-
nadas a partir do modelo matemático do RMRD e utilizadas como referência para o controlador
PID, projetado para o controle de velocidade de cada atuador.
Estratégias mais complexas também são desenvolvidas para o controle dos atuadores,
como proposto nos trabalhos de Fateh (2008) e Fateh & Arab (2015). No primeiro trabalho, o
controle dos atuadores é embasado na realimentação linearizante aplicada ao modelo do motor
e, no segundo, é empregado controle robusto. A maior vantagem, segundo os autores, reside
no fato de que, com essas estratégias, o sistema de controle de movimento é livre do modelo
dinâmico do robô, ou seja, pode ser projetado com base somente no modelo cinemático. Para
isso, entretanto, além de conhecer o deslocamento e velocidade angular das rodas, é necessário
medir a corrente elétrica demandada pelos motores, a qual reflete todas as dinâmicas do veículo.
As estratégias referentes ao acionamento do RMRD ainda podem ser ampliadas em mais
níveis de controle, como proposto por Sánchez et al. (2018) que, além do controle de movimento
do robô, em um nível mais alto, e do controle de velocidade dos atuadores, em um nível médio,
propõe uma terceira estratégia para o controle de tensão dos conversores CC/CC buck, em um
nível mais baixo. Entretanto, para essa terceira estratégia, torna-se necessário a medição da
27
tensão nos terminais de cada motor CC. Uma das razões de controlar a tensão do conversor
buck, ou do driver ponte-H, é lidar com a queda de tensão existente nos componentes internos
ao seu circuito (Santos & Garcia, 2017).
Os sensores são elementos essenciais na robótica móvel, pois são necessários para o fe-
chamento das malhas de controle e fornecem as informações do ambiente e do robô para outros
subprocessos da navegação, como a localização e construção de mapa, proporcionando uma
operação autônoma do robô em aplicações reais (Tzafestas, 2014).
Quando utilizados na robótica, os sensores podem ser agrupados em proprioceptivos, os
quais obtêm dados internos ao robô, e exteroceptivos, os quais obtêm informações do ambi-
ente em que o robô se encontra. Alguns exemplos de sensores proprioceptivos são: encoders
rotativos, que permitem medir deslocamento e velocidade angulares; acelerômetros, para medi-
ção de aceleração; e giroscópios, que possibilitam a medição de velocidade angular e orienta-
ção. Quanto aos sensores exteroceptivos, pode-se mencionar: sensores ultrassônicos, utilizados
como medidores de distância; sensores de proximidade e contato, para a detecção de obstácu-
los e medição de força referente ao contato com o ambiente; e sinalizadores ativos (fixados no
ambiente) que, a partir das técnicas de triangulação ou trilateração, permitem calcular a posição
absoluta do robô (Rubio et al., 2019).
A estimação da posição (posicionamento) do robô no plano pode ser realizada por posi-
cionamento relativo (em inglês, dead reckoning) ou por posicionamento absoluto.
Considerando que os estados iniciais do robô são conhecidos, o posicionamento rela-
tivo consiste em, por meio de sensores proprioceptivos, medir repetitivamente o deslocamento
do robô enquanto se move e estimar sua posição final a partir da integração consecutiva das
medições (Tzafestas, 2014). Geralmente, o posicionamento relativo é realizado por odome-
tria (Oriolo et al., 2002; Coelho & Nunes, 2005; Sousa et al., 2016; Roy et al., 2017; Alves
et al., 2018). No posicionamento relativo por odometria, o deslocamento angular das duas ro-
das do RMRD é medido por meio de encoders incrementais e, a partir do modelo cinemático
do veículo, o deslocamento das rodas é transformado em deslocamento linear do robô no plano
cartesiano. A principal desvantagem dessa técnica é o erro acumulado no deslocamento to-
tal realizado, proporcional à distância percorrida. Esses erros são causados, por exemplo, por
incertezas paramétricas no modelo cinemático, resolução finita dos encoders e deslizamento
das rodas (Tzafestas, 2018). Além da odometria, outra tecnologia referente ao posicionamento
relativo diz respeito ao sistema de navegação inercial, que consiste na aplicação dos sensores
acelerômetro e/ou giroscópio, e que, também, pode ser utilizada em conjunto com a técnica
odometria (Mu et al., 2017; Chen et al., 2018).
28
1.3 Justificativa
prática cada área de um RMR no que diz respeito à modelagem matemática, ao controle de
movimento, ao sistema mecatrônico, e à implementação de estratégias de controle, através da
construção de um RMRD com arquitetura aberta onde seja possível a prototipagem e reconfigu-
ração de algoritmos e estratégias de controle. Com estas características, este trabalho também
tem como motivação disponibilizar um protótipo de escala laboratorial para estudos acadêmi-
cos.
Este trabalho está dividido em seis capítulos, incluindo este primeiro, o qual introduz a
robótica e navegação de robôs móveis e, ao decorrer de sua exposição, converge para conceitos
de controle de movimento de RMRs, sistema mecatrônico de RMRs e arquitetura experimental
de protótipos. Por fim, são apresentados os objetivos geral e específicos do presente trabalho.
No Capítulo 2 são apresentados conceitos teóricos referentes à cinemática e dinâmica,
os modelos cinemático e dinâmico considerados para o RMRD e as equações de estados que
contemplam ambos modelos.
O Capítulo 3 expõe conceitos gerais da técnica realimentação linearizante e sua utiliza-
ção no controle de robôs móveis, bem como o desenvolvimento matemático da realimentação
linearizante referente aos dois sistemas de controle escolhidos da literatura.
O desenvolvimento do protótipo do RMRD é descrito no Capítulo 4. Assim, são apresen-
tados os elementos mecânicos, eletrônicos e as unidades de processamento de informação que
compõem o protótipo, bem como as técnicas utilizadas para a implementação dos sistemas de
controle no protótipo.
São mostrados no Capítulo 5 os resultados das simulações e resultados dos ensaios com
o protótipo para ambos sistemas de controle escolhidos. Além dos resultados, são discutidos
aspectos positivos e negativos da construção do protótipo e da implementação dos sistemas de
controle no protótipo.
No Capítulo 6, por fim, são apresentadas as conclusões do trabalho e sugestões para tra-
balhos futuros.
Capítulo 2
Neste capítulo são apresentados conceitos referentes à cinemática e dinâmica, bem como
os modelos cinemático e dinâmico considerados para o RMRD e as restrições de movimento
próprias de seu modelo cinemático.
Mecânica
Cinemática Dinâmica
Estática Cinética
Figura 2.1: Subdivisões na mecânica.
Fonte: Adaptado de (Isermann, 2005).
Na Figura 2.2 pode-se observar por meio de um exemplo simples, de que forma os con-
ceitos de cinemática e dinâmica são relacionados. Do ponto de vista cinemático, obtém-se ve-
locidade e deslocamento de um ponto de massa através de integrais sucessivas da aceleração. A
aceleração, do ponto de vista dinâmico, é produzida por uma força aplicada ao ponto de massa.
A dinâmica, portanto, é um estudo mais completo pois inclui forças/torques e massa/momento
de inércia no estudo cinemático.
32
33
𝑣(0)
Ԧ 𝑥(0)
Ԧ
Ԧ
𝐹(𝑡) 1 𝑎(𝑡)
Ԧ 𝑣(𝑡)
Ԧ 𝑥(𝑡)
Ԧ
න. 𝑑𝑡 න. 𝑑𝑡
𝑚
cinemática
cinética ou dinâmica
Figura 2.2: Cinemática e dinâmica de um ponto de massa em um espaço inercial.
Fonte: Adaptado de (Janschek, 2012).
Para uma massa pontual, a evolução de seu movimento no espaço é descrita por três va-
riáveis de posição (x, y e z). Esses movimentos se limitam a translações. Para corpos rígidos,
como robôs móveis, o movimento é descrito por três variáveis de posição (de um ponto espe-
cífico do objeto) e três variáveis de orientação, ou seja, o objeto também pode sofrer rotação
com relação aos eixos x, y e z, como ilustrado na Figura 2.3 (Billingsley, 2006). Tais variáveis
de posição e orientação são denominadas coordenadas generalizadas. Portanto, o deslocamento
de um corpo rígido é determinado, no máximo, por seis coordenadas generalizada (graus de
liberdade) (Janschek, 2012). Os robôs móveis terrestres com rodas (incluindo o RMRD) são
modelados como um corpo rígido sobre rodas e que se movimenta em um plano horizontal.
Nestas condições, seu chassi (o corpo rígido do robô) possui três graus de liberdade, dois re-
ferentes à posição no plano (x, y) e um à orientação no eixo z. Graus de liberdade adicionais
podem existir relacionados às rodas, incrementando as coordenadas generalizadas (Siegwart
et al., 2011).
𝜙𝑧
𝑧
𝑦
𝑥
𝜙𝑥 𝜙𝑦
ção entre as coordenadas generalizadas expressas nesses dois referenciais é apresentada como
a cinemática direta, para o caso de encontrar qI a partir de qR , ou inversa, isto é, encontrar qR
a partir de qI . Em geral, também é determinada a relação diferencial de qR e qI , apresentada
como cinemática diferencial (Tzafestas, 2014). A cinemática diferencial direta e inversa são
expressas, nesta ordem, como:
q̇I = Jq̇R (2.1)
onde q̇R e q̇I são os vetores de velocidades generalizadas e J a matriz Jacobiana (Apêndice A.1),
assumindo que seu determinante seja diferente de zero e seja uma matriz quadrada. A matriz
Jacobiana é constituída pelas derivadas parciais de primeira ordem de uma função vetorial. No
caso de J não ser uma matriz quadrada, outros artifícios são utilizados para encontrar a relação
inversa, como a inversa generalizada (Tzafestas, 2014). Em um caso mais particular, a matriz
jacobiana coincide com a matriz de rotação dos RMRs (Apêndice A.2), e seu equacionamento
é o mesmo para todos os RMRs.
𝑦 𝑦𝑅
𝑥𝑅
𝑃𝑜 𝜙
𝑦𝑜
𝑥𝑜 𝑥
𝑂
Figura 2.4: Vista superior do RMRD. Referencial inercial (x, y) e referencial local (xR , yR ).
Fonte: Adaptado de (Siegwart et al., 2011).
Observando a Figura 2.4, as velocidades ẋo , ẏo e φ̇, no sistema de coordenadas Oxy, são
relacionadas, por meio da matriz de rotação, com as velocidades ẋR , ẏR e φ̇, no sistema de
coordenadas do robô Po xR yR , em que Po é o ponto central entre as rodas motorizadas.
O movimento individual de cada roda acoplada ao chassi é combinado para proporcionar
o movimento do robô como um todo. Em vários tipos de robôs móveis, contudo, é necessário
determinar as restrições de movimento referentes ao seu modelo cinemático, impostas pelas
restrições de movimento de cada roda no chassi (Siegwart et al., 2011). Essas restrições podem
ser holonômicas ou não-holonômicas. Para a representação das restrições, supõe-se, então, uma
restrição cinemática expressa na forma de equação:
F (q, t) = 0 (2.4)
35
ou seja, possa ser expressa como uma função explícita das coordenadas generalizadas somente,
então ela é definida como holonômica (ou, também, integrável). Por outro lado, se uma restrição
na forma da equação (2.3) não puder ser convertida na forma da equação (2.4) ela é definida
como não-holonômica (ou não-integrável) (Tzafestas, 2014). Assim, um sistema holonômico,
ou seja, que possui apenas restrições holonômicas, contém restrição na posição, e um sistema
não-holonômico, que possui pelo menos uma restrição não-holonômica, contém restrição na
velocidade e possivelmente na posição (Janschek, 2012).
As restrições ainda podem ser organizadas na forma de Pfaff, tornando, assim, mais fá-
cil manipular e distinguir uma restrição holonômica de uma não-holonômica (Janschek, 2012),
como será exemplificado posteriormente na Subseção 2.2.2. A forma de Pfaff consiste na orga-
nização das restrições holonômicas e não holonômicas em uma matriz ao considerá-las em sua
forma diferencial (2.1). Se a restrição for linear com relação a q̇, isto é, puder ser escrita como
[ aj1 (q) · · · ajn (q) ]q̇ = 0 para j = ( 1, · · · , m ), onde m é o número total de restrições
do sistema, então ela é caracterizada como uma restrição de Pfaff (Tzafestas, 2014). Se as m
restrições forem restrições de Pfaff, estas podem ser rearranjadas na forma da matriz:
a11 (q) · · · a1n (q)
.. .. ..
A(q)q̇ = . q̇ = 0 (2.5)
. .
am1 (q) · · · amn (q)
𝜙ሶ 𝑃𝑟 (𝑥𝑟 ,𝑦𝑟)
𝑦
𝑃𝑟 𝑣𝑒
𝑧
𝜙 𝑣𝑜
𝑦𝑜 𝜃ሶ𝑒
𝑃𝑜 𝑃𝑜 (𝑥𝑜 ,𝑦𝑜 )
𝑣𝑑
𝜃ሶ𝑑
𝑥 plano
𝑂 𝑥𝑜
da roda
(a) (b)
Figura 2.5: Características (a) geométricas e (b) de velocidade do RMRD.
Fonte: Adaptado de (Tzafestas, 2014; Yun & Yamamoto, 1992).
36
Conforme a Figura 2.5, assume-se que o plano de cada roda motorizada é perpendicular
ao plano (x, y) e que somente há um ponto de contato entre o chão e cada roda. Também se
considera que não há derrapagem ou deslizamento das rodas neste ponto.
O vetor de coordenadas generalizadas é definido como:
h iT h iT
q= T T = (2.6)
qI qR xo yo φ θd θe
φ̇ 0 0 1 φ̇
onde b é a distância entre cada roda motorizada e o ponto Po . A velocidade ẏoR é nula, pois
se assume que o RMRD não pode se movimentar lateralmente, ou seja, não há deslizamento
lateral, na direção de yoR , das rodas em seus pontos de contato com o chão. A velocidade linear
da roda direita é dada por vd = rd θ̇d e a velocidade linear da roda esquerda, por ve = re θ̇e ,
sendo rd e re o raio de cada roda. Com isso, a equação (2.8) pode ser reescrita como:
1
ẋoR + 12 re θ̇e
r θ̇
2 d d
ẏoR = 0 (2.9)
1 1
φ̇ r θ̇ − 2b re θ̇e
2b d d
Por fim, substituindo a equação (2.9) na equação (2.7), obtém-se o modelo cinemático
direto do RMRD que relaciona as velocidades no espaço das juntas q̇R = [ θ̇d θ̇e ]T com as
37
chassi
chassi
z plano
ponto de contato da roda
com o chão
eixo de
orientação
𝑟 𝑣
𝜃
eixo 𝑦
𝜙
𝑦
chão
𝑑 eixo 𝑥
𝑥
(a) (b)
Figura 2.6: Aspectos construtivos da roda (a) castor e (b) fixa motorizada.
Fonte: Adaptado de (Siegwart et al., 2011; Tzafestas, 2014).
A roda castor (de autoalinhamento) não impõe restrição cinemática no caso do RMRD,
essencialmente pelo fato de o eixo vertical que passa pelo ponto de contato com o chão estar
deslocado a uma distância d do eixo de orientação da roda e, também, por não ser uma roda
motorizada. Dessa forma, ela pode se orientar automaticamente em qualquer direção conforme
o robô se move. A roda fixa motorizada, no entanto, não é orientável, ou seja, ela tem um
ângulo de orientação fixo com relação ao chassi do robô.
38
Para uma roda fixa isolada, como ilustrado na Figura 2.6 (b), a restrição de não derrapa-
gem lateral impõe que o movimento perpendicular ao plano da roda deve ser zero, conforme a
equação (2.11):
ẋ sin φ − ẏ cos φ = 0 (2.11)
As restrições cinemáticas do chassi do RMRD são obtidas a partir das equações de res-
trição (2.11) e (2.12). Como as duas rodas motorizadas têm seus eixos de rotação alinhados, as
restrições de não derrapagem lateral de cada roda são simplificadas a somente uma expressão,
resultando na equação:
ẋo sin φ − ẏo cos φ = 0 (2.13)
pelo fato de que essas rodas estão deslocadas a uma distância b de Po e que, portanto, a velo-
cidade linear de cada roda é alterada em bφ̇ quando o RMRD é rotacionado. Reescrevendo as
restrições (2.13), (2.14) e (2.15) na forma de Pfaff (2.5), obtém-se:
ẋo
sen φ − cos φ 0 0 0 ẏo
A(q)q̇ = cos φ sen φ b −rd 0 φ̇ =0 (2.16)
cos φ sen φ −b 0 −re θ̇d
θ̇e
1 1
r cos φ
2 d
r cos φ
2 e
1 1
r sin φ r sin φ
2 d 2 e
h i
1 1
S(q)5×2 = s1 (q) s2 (q) =
r
2b d
− 2b re
(2.17)
1 0
0 1
A restrição holonômica é obtida pela subtração das equações (2.14) e (2.15). Dessa forma:
e, por ser uma restrição holonômica (integrável), pode ser escrita na forma (2.4):
2bφ − rd θd + re θe = 0 (2.20)
Por fim, pode-se reescrever a equação (2.16) considerando somente as restrições não-
holonômicas (2.13) e (2.18) e o novo vetor (2.22) na seguinte expressão:
" #
sen φ − cos φ 0 0
A(q)q̇ = q̇ = 0 (2.23)
cos φ sen φ − 2 rd − 21 re
1
40
As equações do modelo dinâmico de robôs podem ser obtidas por dois métodos diferen-
tes: o método de Newton–Euler e o método de Lagrange (Tzafestas, 2014). Outra formulação
utilizada por Mirzaeinejad & Shafei (2018) é o método de Gibbs–Appell, que apresenta similari-
dades aos dois primeiros métodos, porém é caracterizada por ser mais simples matematicamente
e não ter que tratar forças de restrições. Fundamentado principalmente em Yun & Yamamoto
(1992) e Sarkar et al. (1994), utiliza-se neste trabalho o método de Lagrange para descrever o
modelo dinâmico do RMRD.
A formulação de Lagrange para sistemas não-holonômicos é expressa como:
m
d ∂L ∂L X
− − fi + aji λj = 0 (2.24)
dt ∂ q̇i ∂qi j=1
L = Ek − Ep (2.25)
onde Ek é a energia cinética total e Ep a energia potencial total do sistema (Isermann, 2005).
Neste trabalho se assume que o RMRD se movimenta em uma superfície plana e não
inclinada. Com essa consideração a força gravitacional não afeta o movimento do robô, de-
saparecendo o termo Ep da equação (2.25). Assume-se, também, que seu centro de gravidade
coincide com o ponto central Po entre as rodas motorizadas, desaparecendo, dessa forma, as
forças centrífuga e de Coriolis (Tzafestas, 2014). Substituindo, então, a equação (2.25) em
(2.24) e considerando a matriz de restrições da equação (2.23), obtém-se:
d ∂Ek ∂Ek
− = fi − a1i λ1 − a2i λ2 (2.26)
dt ∂ q̇i ∂qi
41
1 1 1
Ek = m(ẋo 2 + ẏo 2 ) + Ir (θ̇d 2 + θ̇e 2 ) + I(cd θ̇d − ce θ̇e )2 (2.27)
2 2 2
cd = rd /2b , ce = re /2b
O sistema descrito pela equação (2.29) é, ainda, modificado com o objetivo de excluir
o termo A(q)T λ, para obter uma representação no espaço de estados sem os multiplicadores
de Lagrange. Segundo Nukulwuthiopas et al. (2002), essa modificação reduz a complexidade
computacional para resolver o modelo, por não ser mais necessário calcular os multiplicadores
de Lagrange. Este procedimento é apresentado de acordo com os passos descritos em Yun &
Yamamoto (1992) e Tzafestas (2014).
Assim, define-se uma matriz S(q) de dimensão n × (n − m) = (4 × 2) de modo que
A(q)S(q) = 0. Com base no modelo cinemático (2.10), o vetor q̇ pode ser escrito como:
1 1
ẋo r cos φ
2 d
r cos φ
2 e " #
1 1
ẏo r sen φ
2 d
r sen φ
2 e
θ̇d
q̇ = = (2.31)
θ̇d 1 0 θ̇e
θ̇e 0 1
1 1
r cos φ
2 d
r cos φ
2 e
1 1
h i r sen φ
2 d
r sen φ
2 e
S(q)4×2 = s1 (q) s2 (q) = (2.32)
1 0
0 1
de modo que seus vetores coluna estejam no espaço nulo da matriz A(q). Como ambos vetor
q̇ e matriz S(q) estão no espaço nulo de A(q), consequentemente o vetor q̇ pertence ao espaço
gerado span { s1 (q), s2 (q) }. Desta forma, existe um vetor η = [ η1 η2 ]T que satisfaz a
equação:
q̇ = S(q)η (2.33)
e que, de acordo com a equação (2.31), pode ser definido como η = [ θ̇d θ̇e ]T . A derivada da
equação (2.33) com relação ao tempo é dada por:
onde o termo A(q)T λ desaparece, pois A(q)T S(q)T = 0. A multiplicação S(q)T E(q) resulta
na matriz identidade I2×2 . Por meio de procedimentos algébricos, a equação (2.35) se torna:
43
a equação de estados que abrange o modelo dinâmico do RMRD pode ser reescrita, a partir das
equações (2.33) e (2.36), como:
" # " #
Sη 0
ẋ = fa (x) + Ga (x)τ = + τ (2.38)
−(S MS)−1 (ST MṠη)
T T
(S MS)−1
Conforme Yun & Yamamoto (1992), ainda é aplicada a realimentação (2.39) sobre o
modelo dinâmico (2.38):
a qual não contém característica de controle, mas tem como objetivo o cancelamento de não
linearidades referentes à dinâmica bem como adequar a equação (2.38) para a aplicação da
realimentação linearizante, que será exposta no Capítulo 3. Na equação (2.39), u é o novo vetor
de entrada dado por u = η̇ = [ θ̈d θ̈e ]T , isto é, a aceleração nas rodas, e não mais o torque. A
equação de estados do sistema realimentado resulta, então, em:
" # " #
Sη 0(4×2)
ẋ = f(x) + G(x)u = + u (2.40)
0(2×1) I(2×2)
Equação (2.40)
𝒙ሶ = 𝒇 𝒙 + 𝑮 𝒙 𝒖
Equação (2.39) Equação (2.38)
𝒖 𝝉 𝒙ሶ 1 𝒙
𝝉 = 𝜶(𝒙) + 𝜷 𝒙 𝒖 𝒙ሶ = 𝒇𝑎 (𝒙) + 𝑮𝑎 (𝒙)𝝉
𝑠
44
45
∂h h
∂h ∂h
i
Lf h = ∇h f = f= ∂x1
... ∂xn
f
∂x
sendo possível, também, ser aplicada recursivamente sobre a mesma função escalar h, denotada
neste caso como:
Lf i h = Lf Lf i−1 h = ∇ Lf i−1 h f
i = 1, 2, . . .
ou, considerando outro campo vetorial g ∈ Rn , pode ser calculada a função escalar:
Lg Lf h = ∇ Lf h g
O grau relativo é uma propriedade intrínseca de sistemas SISO e, se bem definido, consiste
no número de vezes que se deve derivar a saída y de um sistema SISO para se obter uma
influência direta da entrada sobre esta derivada. Supondo um sistema não linear monovariável
e afim na entrada representado por:
ẋ = f(x) + g(x)u
(3.1)
y = h(x)
∂h ∂h
ẏ = ẋ = (f + gu) = Lf h(x) + Lg h(x)u
∂x ∂x
se, para um ponto de operação xo , o termo Lg h(xo ) for diferente de zero, significa que a entrada
u afeta diretamente a derivada de ordem um de y, ou seja, o sistema tem grau relativo r = 1
em xo . Caso contrário, se o termo Lg h(x) for igual a zero em uma vizinhança de xo , significa
que a entrada não afeta diretamente ẏ e a análise deve continuar nas derivadas consecutivas de
y. Assim, diz-se que o sistema (3.1) tem grau relativo r, bem definido em um ponto xo , se:
46
Lg Lf k h(x) = 0 (3.2)
para todo x em uma vizinhança de xo na qual 0 ≤ k < (r − 1). Portanto, o grau relativo é igual
à quantidade de vezes que se deve derivar a saída y do sistema para que a entrada u apareça de
maneira explicita. A derivada de ordem r da saída y é dada por:
A linearização entrada-saída é alcançada com base nas condições da Seção 3.1.2, para
r < n, onde n é a ordem do sistema. Se r = n, atinge-se uma linearização entrada-estado, ou
completa. De acordo com a equação (3.4), se a entrada u for escolhida como a realimentação
de estados:
1
r
u= ν − Lf h(x) (3.5)
Lg Lr−1 h(x)
f
obtém-se a relação linear entre a nova entrada ν e a saída y:
y (r) = ν (3.6)
ẋ = f(x) + g(x)u
(3.8)
y = h(x)
47
onde h(x) tem dimensão q × 1, u(x) tem dimensão p × 1, f(x) tem dimensão n × 1, g(x) tem
dimensão n × p e g(x)u, da expressão (3.8), é dado pelo somatório:
p
X
gj (x)uj
j=1
onde D(x) tem dimensão q × p. Para o caso específico de o sistema (3.8) ser quadrado (p = q) e
a matriz D ter determinante diferente de zero, se a entrada u for escolhida, semelhante à equação
(3.5), como a realimentação de estados:
ν1 − Lf r1 h1
..
u = D−1 (3.11)
.
νq − Lf rq hq
encontra-se uma relação linear entre cada nova entrada νi e cada saída yi :
yi (ri ) = νi (3.12)
Realimentação Realimentação de 𝑥𝑜
Linearizante 𝑦= 𝑦 Oriolo et al. (2002) [ c , + ]
estados dinâmica 𝑜
Linearização
entrada-estado
Kim & Oh (1999) utiliza a técnica Look-Ahead para o controle de seguimento de traje-
tória de um RMRD, considerando somente o modelo cinemático. É proposto um sistema de
duas entradas (velocidade linear e angular do robô) e três saídas (posição e orientação), o que
torna necessário o conceito da inversa generalizada para encontrar a equação linearizante. O
autor apresenta resultados experimentais e argumenta que são obtidas entradas de controle mais
suaves se for considerada, não somente a posição, mas a postura (posição e orientação) como a
equação de saída, reduzindo o consumo de energia do robô.
Oriolo et al. (2002) utiliza a linearização entrada-saída com realimentação de estados
dinâmica. Os dois problemas de controle de movimento abordados são o seguimento de traje-
tória e a estabilização de postura. Considera somente o modelo cinemático e obtém resultados
experimentais com o protótipo SuperMARIO.
Coelho & Nunes (2005) aborda o problema de seguimento de caminho (diferente de se-
guimento de trajetória) e utiliza a técnica Look-Ahead bem como toda a estratégia de controle
em tempo discreto. Os autores propõem um controlador AOB (Active Observer) embasado
no filtro de Kalman para proporcionar robustez quanto às incertezas e perturbações devido à
implementação em tempo discreto da RL e consideram o modelo dinâmico do RMRD.
Lwin & Yamamoto (2012), além de simulações, também obtêm resultados experimentais
com o robô comercial Pioneer 3-DX. Os autores utilizam a técnica Look-Ahead, mas conside-
ram somente o modelo cinemático e, além do problema de seguimento de trajetória, também
desenvolvem uma estratégia de controle para o desvio de obstáculos.
Taheri-Kalani & Khosrowjerdi (2014) considera o modelo dinâmico do RMRD, mas
aplica a realimentação linearizante Look-Ahead somente no modelo cinemático. Para o modelo
dinâmico, propõe um controle adaptativo por modelo de referência (Model Reference Adaptive
Control), abordando o problema de seguimento de trajetória.
Al-Mutib et al. (2015) considera o modelo dinâmico do RMRD e aplica a técnica Look-
Ahead. A contribuição do trabalho consiste em propor um observador embasado em redes
neurais de Elman. O objetivo do observador é estimar as velocidades angulares da roda direita
50
e esquerda, necessárias para calcular as componentes da velocidade do robô, que são requeridas
no controle por RL.
Ortigoza et al. (2016) apresenta um esquema de controle considerando os três subsistemas
básicos que compõem um RMR: a estrutura mecânica, que em seu trabalho abrange somente
o modelo cinemático, os atuadores (modelo mecânico e elétrico do motor CC) e a unidade de
potência (conversores CC/CC). O autor utiliza a técnica Look-Ahead no modelo cinemático e
aborda o problema de seguimento de trajetória.
Alves et al. (2018) aborda o problema de seguimento de trajetória. Considera o modelo
dinâmico do RMRD e também inclui o modelo dos atuadores (motor CC) no sistema completo.
Quanto ao controle, propõe a linearização entrada-saída (Look-Ahead) como a malha interna do
controle. A malha externa são dois controladores PI, para o erro de velocidade linear e para o
erro de velocidade angular do robô. Resultados experimentais são apresentados no trabalho.
𝑡
𝑥
𝑂
𝑥𝑟 𝑒𝑥 𝑥𝑑
Figura 3.2: O problema de seguimento de trajetória com a técnica Look-Ahead.
Fonte: Adaptado de (Oriolo et al., 2002).
O primeiro sistema de controle, retirado de Diaz & Kelly (2016), está embasado no mo-
delo cinemático do RMRD e, portanto, é intitulado neste trabalho como sistema de controle
cinemático. O objetivo principal destacado no artigo é a obtenção de um modelo que considera
a técnica Look-Ahead na equação cinemática. O autor explica como o modelo cinemático deixa
de ter a restrição de movimentos laterais caso o ponto de referência esteja localizado à frente
do ponto central Po . Considerando a Figura 3.3, observa-se que o ponto Pr pode ser movido
lateralmente, isto é, na direção do eixo y, o que não ocorre com Po , por estar sobre o eixo das
rodas motorizadas.
𝑦
𝑃𝑜 𝑃𝑟
𝑂 𝑥
Figura 3.3: Vista superior do RMRD. Movimentação lateral do ponto Pr .
Como esse sistema de controle não considera o modelo dinâmico, a equação de estados
é o próprio modelo cinemático. Assim, adequando a equação cinemática (2.10) para o ponto
Pr (xr , yr ) como proposto pelo autor:
52
1 1
r cos φ − cd L sen φ
2 d
r cos φ
2 e
+ ce L sen φ " #
1 1 θ̇d
ẋ = g(x)u = r sen φ + cd L sen φ r sen φ − ce L sen φ (3.15)
2 d 2 e
1 1 θ̇e
r
2b d
− 2b re
onde:
ẋ = [ ẋr ẏr φ̇ ]T
cd = rd /2b
ce = re /2b
e L é a distância de Look-Ahead. A equação de saída, por sua vez, é escolhida como sendo
as coordenadas de Pr , equivalente à equação (3.14), entretanto, composta diretamente pelos os
dois primeiros elementos do vetor de estados:
h iT
y = h(x) = xr y r (3.16)
∂h1 h i h i
g = 1 0 0 g = 21 rd cos φ − cd L sen φ 1
r
2 e
cos φ + ce L sen φ
∂x
e o termo Lg h2 da derivada primeira de y2 , calculado da mesma forma, resulta em:
∂h2 h i h i
g = 0 1 0 g = 21 rd sen φ + cd L sen φ 1
r
2 e
sen φ − ce L sen φ
∂x
portanto D(x) é não singular. A equação linearizante é obtida escolhendo u como a realimenta-
ção de estados expressa por:
u = D−1 ν (3.20)
onde ν é a nova entrada. Substituindo (3.20) na equação (3.17), chega-se à relação linear:
ẏ1 = ν1
(3.21)
ẏ2 = ν2
ν1 = ẋd
(3.22)
ν2 = ẏd
𝜙 𝜙
Como ilustrado na Figura 3.4, o sistema descrito pelas equações (3.15) e (3.16) é lineari-
zado pela lei de controle (3.20), resultando no sistema linear (3.21) que contém como entrada
ν as velocidades ẋd e ẏd desejadas, no referencial inercial, e como saída y as posições xr e yr
54
ν1 = ẋd + k0 ex
(3.23)
ν2 = ẏd + k0 ey
ėx + k0 ex = 0
(3.24)
ėy + k0 ey = 0
onde, se o ganho k0 for positivo, os erros de seguimento de trajetória ex (t) e ey (t) convergem
para zero exponencialmente (Slotine & Li, 1991). Na Figura 3.5 é ilustrado o modelo em blocos
que representa a lei de controle linear (3.23) com o sistema linearizado (3.21).
Equação (3.23)
Equação (3.20) Equação (3.15) Equação (3.16)
𝝂 𝒖 𝒙ሶ 1 𝒙 𝒚
𝒚𝑑 𝒌0 𝒖 = 𝑫−1 𝝂 𝒙ሶ = 𝒈 𝒙 𝒖 𝒚 = 𝒉(𝒙)
𝑠
𝜙 𝜙
𝒚ሶ 𝑑
(𝑥𝑟 , 𝑦𝑟 )
cos φ (cd bθ̇d + ce bθ̇e ) 0 0
sen φ (cd bθ̇d + ce bθ̇e ) 0 0
" #
θ̇d 0 0 θ̈d
ẋ = f(x) + G(x)u = + (3.25)
θ̇ e
0 0 θ̈
e
0 1 0
0 0 1
" #
xo + L cos φ
y = h(x) = (3.26)
yo + L sen φ
onde: h iT
x = xo yo θd θe θ̇d θ̇e
φ = cd θd + ce θe
cd = rd /2b
ce = re /2b
as variáveis xo e yo são, respectivamente, as posições do ponto Po nos eixos x e y, a variável φ
é a orientação do RMRD, θd e θe são as posições angulares das rodas direita e esquerda, nesta
ordem, rd e re são os raios das rodas direita e esquerda, respectivamente, b é a distância entre o
ponto Pr e cada roda e L é a distância de Look-Ahead. A derivada primeira de y1 é dada por:
ẏ1 = Lf h1 + Lg h1 u
∂h2
f = cd b sen φ θ̇d + ce b sen φ θ̇e + cd L cos φ θ̇d − ce L cos φ θ̇e
∂x
∂h2
g=0
∂x
assim, a derivada primeira do vetor de saída é:
" # " #
Lf h1 cd b cos φ θ̇d + ce b cos φ θ̇e − cd L sin φ θ̇d + ce L sin φ θ̇e
ẏ = = (3.27)
Lf h2 cd b sin φ θ̇d + ce b sin φ θ̇e + cd L cos φ θ̇d − ce L cos φ θ̇e
Os dois termos Lg h1 (x) e Lg h2 (x) são iguais a zero, não atingindo a condição expressa
na equação (3.3). Ou seja, nem uma das entradas θ̈d e θ̈e apareceram na derivada primeira da
saída, como pode ser observado na equação (3.27). Portanto, é necessário calcular a derivada
segunda de (3.26) de modo a encontrar uma relação direta com a entrada u(t).
A derivada de Lie de segunda ordem de y1 é dada por:
Lf 2 h1 + Lg Lf h1 u
ÿ1 = Lf Lf h1 + Lg Lf h1 u =
∂(Lf h1 )
f = − cd 2 b sen φ + cd 2 L cos φ θ̇d 2 + ce 2 b sen φ − ce 2 L cos φ θ̇e 2 +2cd ce L cos φ θ̇d θ̇e
∂x
∂(Lf h1 ) h i
g = cd b cos φ − cd L sen φ ce b cos φ + ce L sen φ
∂x
e, com o mesmo procedimento, os termos da derivada de Lie de segunda ordem de y2 resultam
em:
∂(Lf h2 )
f = cd 2 b cos φ − cd 2 L sen φ θ̇d 2 − ce 2 b cos φ + ce 2 L sen φ θ̇e 2 + 2cd ce L sen φ θ̇d θ̇e
∂x
∂(Lf h2 ) h i
g = cd b sen φ + cd L cos φ ce b sen φ − ce L cos φ
∂x
obtendo-se a derivada de ordem dois do vetor de saída:
" # " #
Lf 2 h1 cd b cos φ − cd L sen φ ce b cos φ + ce L sen φ
ÿ = + u (3.28)
Lf 2 h2 cd b sen φ + cd L cos φ ce b sen φ − ce L cos φ
de ambas saídas y1 e y2 . Portanto, o sistema possui grau relativo (r1 , r2 ) = (2, 2) e grau
relativo total r = 4. Comparando a equação (3.28) com (3.10), observa-se que a matriz de
desacoplamento é expressa por:
" #
cd b cos φ − cd L sen φ ce b cos φ + ce L sen φ
D(x) = (3.29)
cd b sen φ + cd L cos φ ce b sen φ − ce L cos φ
que é a mesma encontrada para o sistema de controle cinemático (equação (3.18)) e, conse-
quentemente, tem determinante diferente de zero, dado por:
portanto D(x) é não singular. A equação linearizante é obtida escolhendo u como a realimenta-
ção de estados:
" #
ν1 − Lf 2 h1
D−1 D−1 ν − Lf 2 h(x)
u = = (3.31)
ν2 − Lf 2 h2
onde ν é a nova entrada. Substituindo (3.31) na equação (3.28), chega-se à relação linear:
Na Figura 3.6 é ilustrado o modelo em blocos que representa o sistema linearizado des-
crito na equação (3.32).
Como ilustrado na Figura 3.6, o sistema descrito pelas equações (3.25) e (3.26) é lineari-
zado pela lei de controle (3.31), resultando no sistema linear (3.32) que contém como entrada
ν as acelerações ẍd e ÿd desejadas, no referencial inercial, e como saída y as posições xr e
yr do ponto de referência Pr do RMRD, também no referencial inercial. É interessante notar,
novamente, que a equação (3.31) é análoga à cinemática inversa, pois, a partir das variáveis ẍd
e ÿd no referencial inercial, que compõem o novo vetor de entrada ν, encontram-se as variáveis
θ̈d e θ̈e no referencial do robô, isto é, as acelerações angulares desejadas.
Por fim, conforme Khooban (2014), ainda é projetado, em uma malha externa, um con-
trolador linear de seguimento para o sistema linearizado (3.32), onde a malha interna consiste
na realimentação de estados para a equação linearizante (3.31). Este controlador linear de se-
guimento consiste em acrescentar termos à equação (3.33) referentes aos erros de posição ex e
58
Equação (3.25)
𝒙ሶ = 𝒇 𝒙 + 𝑮 𝒙 𝒖
Equação (3.26)
(𝑥𝑟 , 𝑦𝑟 ) (𝑥𝑜 , 𝑦𝑜 , 𝜃𝑑 , 𝜃𝑒 )
𝒚 𝒚 = 𝒉(𝒙)
ey e aos erros de velocidade ėx e ėy escolhendo, assim, as novas entradas ν1 e ν2 como:
ν1 = ẍd + k1 ėx + k0 ex
(3.34)
ν2 = ÿd + k1 ėy + k0 ey
ëx + k1 ėx + k0 ex = 0
(3.35)
ëy + k1 ėy + k0 ey = 0
Equação (3.26)
(𝑥𝑟 , 𝑦𝑟 ) (𝑥𝑜 , 𝑦𝑜 , 𝜃𝑑 , 𝜃𝑒 )
𝒚 = 𝒉(𝒙)
Equação (3.27)
(𝑥ሶ 𝑟 , 𝑦𝑟ሶ ) (𝜃𝑑 , 𝜃𝑒 , 𝜃ሶ 𝑑 , 𝜃ሶ𝑒 )
𝒚ሶ = 𝐿𝒇 𝒉(𝒙)
60
61
Sensor FC-03
Roda castor
Sensor FC-03 Motor CC Roda castor
Disco encoder Roda direita Disco encoder Roda esquerda
Figura 4.1: Estrutura física e componentes do protótipo construído. Visão frontal (à esquerda)
e visão traseira (à direita).
14
8
9
(0,91)
1
y y
(-75,25) (0,0) x (66,21) (132,21) x
243
215
5 (0,0)
(-2,-21)
4
6 6
(-25,-77) (-25,-58) 11 (0,-91)
10 10 (113,-18) (150,-18) 9
8 50 mm
8
60
9
(0,91)
122
50 mm
1
y y
(-75,25) (0,0) x (66,21) (132,21) x
5 (0,0)
(-2,-21)
4
6 6
122
8 50 mm 50 mm
14
60
(-25,-58) 11
1
(0,-91)
10 (113,-18) (150,-18) 9
8 50 mm 50 mm
62
313
121 121
29
14
60 50 mm 15
Figura 4.4: Dimensões e posicionamento das rodas no protótipo. Vista lateral com valores em
milímetro.
Os elementos destacados com circulo amarelo nas Figuras 4.5, 4.2 e 4.3 são: 1) o Rasp-
berry Pi 3 B, utilizado como unidade principal de processamento de informação; 2) a ferramenta
Matlab/Simulink, utilizada para construção e implementação dos sistemas de controle; 3) o mi-
crocontrolador ATmega328P, utilizado como unidade de processamento de informação auxiliar;
4) a bateria de tecnologia Li-Ion, utilizada como fonte de energia para as unidades de proces-
samento de informação; 5) a bateria de tecnologia Li-Po, utilizada como fonte de energia para
os atuadores e sensores do protótipo; 6) o Buck-Boost, utilizado como regulador de tensão dos
amplificadores de potência para os atuadores; 7) o LM317, utilizado como regulador de tensão
para os sensores; 8) o sensor encoder, para medição de deslocamento e velocidade angulares;
9) os atuadores, para tração das rodas direita e esquerda do protótipo; 10) o módulo ponte-H,
63
utilizado como amplificador de potência para os atuadores; e 11) a protoboard para fixação de
dispositivos eletrônicos e confecção do circuito elétrico respectivo.
Na Seção 4.1 são apresentados as unidades de processamento de informação, destacadas
com os números 1 e 3 na Figura 4.5, e as ferramentas utilizadas para a construção e imple-
mentação do sistema de controle, no 2. Na Seção 4.2 são apresentados as fontes de energia do
sistema mecatrônico, no 4 e no 5, e os reguladores de tensão, no 6 e no 7. Na Seção 4.3 são
apresentados os elementos físicos de sensoriamento, no 8, e os algoritmos desenvolvidos para
o processamento dos sinais dos sensores. Por fim, na Seção 4.4 são apresentados os elementos
físicos de atuação, no 9 e no 10, e os algoritmos desenvolvidos para a transformação dos sinais
de controle em sinais adequados para os elementos físicos de atuação.
4.1.1 Raspberry Pi 3 B
que operam na frequência de 1,2 GHz. Este modelo do Raspberry também tem memória RAM
com capacidade de 1 GB. Na parte inferior da placa se localiza o compartimento do cartão micro
SD, para o armazenamento de dados e para o SO (Raspberry Pi Foundation, 2020a). Como o
RMRD é um robô móvel, é relevante realizar uma conexão sem fio entre a placa, localizada
no robô, e o Simulink, em execução em um computador de mesa. Assim, outra característica
importante do Raspberry para este trabalho consiste no fato de o minicomputador conter uma
antena Wi-Fi integrada à placa e não ser necessário a aquisição de um módulo à parte dedicado
à transferência de dados sem fio. O Pi 3 B, especificamente, pode utilizar os protocolos 802.11
“b”, “g” e “n” para a conexão Wi-Fi.
A interface entre o Raspberry e os dispositivos de sensoriamento e atuação do robô é dada
pelos pinos GPIO (General Purpose Input/Output). Na Figura 4.7 é ilustrado um mapa desses
pinos no Raspberry. Cada pino GPIO pode ser definido, em software, somente como entrada ou
saída digital, com tensão de 3,3 V no nível lógico alto, que é a tensão de operação da CPU. Essa
é uma das desvantagens da placa Raspberry, pois quando é preciso adquirir sinais de senso-
res analógicos, torna-se necessário a utilização de conversores A/D (Reck & Sreenivas, 2015).
Outras funcionalidades que também estão presentes na interface GPIO são o sinal PWM, ge-
rado por software ou por hardware, e protocolos de comunicação entre dispositivos eletrônicos,
como a comunicação serial RX/TX, o I2C (Inter-Integrated Circuit) e o SPI (Serial Peripheral
Interface) (Raspberry Pi Foundation, 2020b). Na Figura 4.7 também são indicados com uma
seta quais pinos foram utilizados neste trabalho e com qual função.
3.3V 1 2 5V
GPIO 2 3 4 5V
GPIO 3 5 6 GROUND
GPIO 4 7 8 GPIO 14 Serial TX
GROUND 9 10 GPIO 15
GPIO 17 11 12 GPIO 18
GPIO 27 13 14 GROUND
GPIO 22 15 16 GPIO 23
3.3V 17 18 GPIO 24
GPIO 10 19 20 GROUND
GPIO 9 21 22 GPIO 25
GPIO 11 23 24 GPIO 8
GROUND 25 26 GPIO 7
ID EEPROM 27 28 ID EEPROM
Conforme descrito na Seção 4.4, o atuador utilizado para tracionar as rodas do RMRD
é um motor de corrente contínua e a tensão que aciona cada motor é controlada por PWM.
Apesar de disponibilizar PWM por hardware, não é possível utilizar este recurso do Raspberry,
através do bloco “PWM” do pacote do Simulink, devido a lentidão durante a simulação. Isso
ocorre possivelmente pelo fato do sinal PWM ser gerado por software neste caso. A solução
encontrada é empregar o microcontrolador ATmega328P (Microchip Technology Incorporation,
2018), como uma unidade de processamento auxiliar. Com este microcontrolador, o PWM,
2
Aqui, o período de amostragem é o tamanho do intervalo de tempo para cada passo de integração.
67
gerado por hardware, tem resolução de 8 bits e opera a uma frequência de aproximadamente
61 Hz.
USB tipo B
(a) (b)
Figura 4.9: (a) Arduino UNO e (b) seu microcontrolador ATmega328P.
Fonte: Adaptado de (Microchip Technology Incorporation, 2018).
As fontes selecionadas para prover energia ao sistema mecatrônico são duas baterias de
tecnologias distintas, Li-Ion (íons de lítio) e Li-Po (íons de polímero), mostradas na Figura 4.10.
A bateria do tipo Li-Ion, ilustrada na Figura 4.10 (a), já tem um regulador de tensão in-
cluído e é utilizada para alimentar somente as unidades de processamento. Esta bateria fornece
tensão de 5 V, correspondente à tensão necessária para Raspberry, e corrente máxima de 2,4 A,
suficiente para a demanda do Raspberry e do ATmega328P. Opta-se por essa bateria devido à
sua alta capacidade de carga, suportando até 10400 mAh, e por já fornecer a tensão no nível
necessário. O ATmega328P é alimentado pelo pino 4 do Raspberry, destacado na Figura 4.7.
O restante do sistema, composto pelos atuadores, sensores e dispositivos eletrônicos, é
alimentado pela bateria Li-Po, ilustrada na Figura 4.10 (b). Sua tensão nominal é de 7,4 V, pode
68
(a) (b)
Figura 4.10: (a) Bateria Li-Ion e (b) Li-Po.
Fonte: (TP-Link Technologies, n.d.; Gens ace & Tattu USA Warehouse, 2020).
fornecer uma corrente máxima de 98 A e tem capacidade de carga de 1800 mAh. Para o projeto,
foram utilizadas duas unidades da bateria Li-Po em série com o objetivo de obter a tensão de
14,8 V, que é mais próxima da tensão nominal dos atuadores (motores CC). Opta-se por utilizar
a tecnologia Li-Po neste trabalho devido à possibilidade de fornecer uma corrente instantânea
alta, que pode ser requerida principalmente pelos atuadores na aceleração e desaceleração do
robô.
𝑖𝑛 +
𝑜𝑢𝑡 +
𝑖𝑛 –
𝑜𝑢𝑡 –
LM317
𝑅1
ajuste
𝑉𝑖𝑛 𝑉𝑜𝑢𝑡
𝑅2
𝑉𝑖𝑛
ajuste 𝑉𝑜𝑢𝑡
(a) (b)
Figura 4.12: (a) Regulador LM317 e (b) circuito para o LM317.
Esse regulador é utilizado para fornecer tensão de 3,3 V aos sensores, devido ao Raspberry
operar nessa tensão. Diferente do buck-boost, o LM317 somente possibilita reduzir a tensão.
O circuito desenvolvido para o ajuste de tensão com o LM317 é ilustrado na Figura 4.12 (b),
sendo Vout ajustada em função do resistor R1 e do potenciômetro R2 a partir da equação (4.1):
R2
Vout = 1, 25 1 + (4.1)
R1
Nesta seção são apresentados os materiais e métodos empregados para a obtenção das va-
riáveis de estado do sistema apresentado na Seção 3.2.2, que inclui somente a parte cinemática,
e do sistema apresentado na Seção 3.2.3, que inclui cinemática e dinâmica. As variáveis de
estado são reescritas nas equações (4.2), referente ao sistema que inclui somente cinemática, e
em (4.3), referente ao sistema que inclui cinemática e dinâmica:
h iT
x= x r yr φ (4.2)
h iT
x= xo yo θd θe θ̇d θ̇e (4.3)
4 5 6
𝜃𝑒
Encoder GPIO Algoritmos para o
FC-03 5
esquerdo lado esquerdo do RMRD
𝜃ሶ𝑒
Figura 4.13: Elementos físicos e computacionais para a obtenção dos estados referentes ao
sistema que inclui cinemática e dinâmica.
Neste trabalho, todas as variáveis de estado são obtidas por meio de encoders (Figura
4.13-1) inseridos nas rodas motorizadas. As variáveis de posição e velocidade das rodas são
encontradas por meio dos sinais recebidos dos encoders e, posteriormente, as variáveis de posi-
ção e orientação do protótipo são estimadas por odometria, utilizando a equação cinemática de
cada sistema. Desta forma, a postura (posição e orientação) do robô no sistema de coordenadas
global é obtida utilizando técnicas de posicionamento relativo, pois todas as variáveis de estado
são encontradas a partir de sensores proprioceptivos. Adota-se a técnica de posicionamento re-
lativo com encoders (odometria) devido sua facilidade de implementação em comparação com
técnicas de posicionamento absoluto.
Este trabalho usa o encoder óptico incremental rotativo, indicado com o no 1 na Figura
4.13, como o único dispositivo de aquisição de dados para obter todas as variáveis de estado do
robô. Assim, é fixado um disco de 40 aberturas no eixo de cada roda motorizada e, na região do
disco onde estão localizadas as aberturas, é posicionado o módulo FC-03 mostrado na Figura
4.14 e indicado com o no 2 na Figura 4.13.
VCC
A0
Receptor
D0
GND
Emissor LM393
Na ferramenta Simulink, a leitura dos pinos do Raspberry que recebem o sinal de tensão
de cada sensor é realizada com o bloco “GPIO read ”, apresentado na Figura 4.15. Os parâme-
tros de configuração desse bloco são o modelo do Raspberry, o número do GPIO e o período de
amostragem, ou seja, o intervalo de tempo entre cada leitura do pino respectivo. Os dados de
saída do bloco são do tipo binário (0 ou 1).
Saída do bloco
Figura 4.15: Bloco do Simulink para leitura de sinal digital dos pinos GPIO.
2π [radianos]
kenc =
40 [aberturas]
e a velocidade angular da roda, por sua vez, é obtida medindo o intervalo de tempo entre dois
pulsos e realizando o produto de kenc pela função inversa do intervalo de tempo. A forma de
implementação dessas operações é descrita em mais detalhes no Apêndice D. Além do sinal de
trigger, o bloco indicado com o no 4 também tem como entrada a variável “sent. rot. D”, isto
é, o sentido de rotação da roda direita. Se a roda rotaciona tendendo a avançar o robô (para
frente), é atribuído o valor 1 à entrada “sent. rot. D”, caso contrário, é atribuído o valor -1.
72
Não é possível detectar o sentido de rotação da roda com o sensor adotado, pois são
utilizados somente um emissor e um receptor de luz em cada encoder, sendo necessário estimar
a variável “sent. rot.” referente a cada roda. Para isto, é desenvolvida a lógica (4.4), onde a
variável “sent. rot.” é função da velocidade da roda θ̇ e do duty cycle (DC) calculado para o
motor CC respectivo:
1 se |θ̇| = 0 e se DC > 0
−1 se |θ̇| = 0 e se DC < 0
sent. rot. = (4.4)
1 se |θ̇| > 0 e se θ̇ > 0
−1 |θ̇| > 0
se e se θ̇ < 0
onde DC é computado a partir dos algoritmos que serão apresentados na Seção 4.4.
Como a sequência de operações interna ao bloco indicado com o no 4 na Figura 4.13
somente é executada nos instantes de subida do sinal de trigger, o período de amostragem desse
bloco não é fixo e não segue o período de amostragem fundamental de 1 ms, mas é inversamente
proporcional à velocidade angular do encoder. Além disso, o período de amostragem do bloco
no 4 não apresentará valores menores que 1 ms, pois, a partir dos ensaios realizados com o
robô, verifica-se que a velocidade angular máxima das rodas não ultrapassa a quatro rotações
por segundo3 , isto é, 160 pulsos/s (motor CC à tensão máxima). Dessa forma, o intervalo de
tempo mínimo que o sinal de trigger se mantém em 0 ou 1 é:
1
0, 5 × = 3, 125 ms
160
demonstrando que o intervalo de 1 ms é suficiente como período de amostragem fundamental
neste caso, pois 1 ms < 3,125 ms.
Uma das desvantagens existentes no método utilizado para obtenção da velocidade an-
gular consiste na impossibilidade de detectar a velocidade zero. Teoricamente, o intervalo de
tempo entre dois pulsos deve ser infinito para que isso ocorra. Para isso, é desenvolvido um
algoritmo, destacado com o no 5 na Figura 4.13, que atribui valor zero à velocidade caso o
tempo decorrido ∆t, desde o último pulso, ultrapasse um intervalo máximo ∆tmax , o qual é
determinado neste trabalho como ∆tmax = 100 ms. Assim:
(
0 se ∆t > ∆tmax
θ̇ = (4.5)
θ̇ se ∆t < ∆tmax
3
Transformando a velocidade angular em linear através do raio das rodas (r = 2,93 cm), a velocidade máxima
do protótipo é de 73 cm/s, caso for designado a se mover em linha reta.
73
Figura 4.16: Tratamento do sinal, referente à velocidade, com filtro passa-baixa de segunda
ordem e frequência de corte em 200 Hz.
Para amenizar estas oscilações, o sinal é tratado com um filtro passa-baixa de segunda
ordem e frequência de corte igual a 200 Hz, destacado com o no 6 na Figura 4.13. Esse filtro
também é aplicado na medição da posição angular. Na Figura 4.16 são mostrados resultados
de um ensaio realizado para a comparação entre a medida original da velocidade, em azul, e a
velocidade filtrada, em preto, onde o ensaio consiste em uma rampa de velocidade, que permite
a observação de uma sequência contínua de velocidades com relação ao tempo.
Por fim, com a posição e velocidade angulares de cada roda, mede-se, indiretamente,
as velocidades lineares ẋo e ẏo do RMRD mediante sua equação cinemática diferencial (2.10)
destacada com o no 7 na Figura 4.13, quando considerado o sistema que envolve ambos modelos
cinemático e dinâmico. Assim, são obtidos todos os estados x = [ xo yo θd θe θ̇d θ̇e ]T .
O vetor de estados x = [ xr yr φ ]T , referente ao sistema que inclui somente a cinemática, é
obtido com os mesmos métodos ilustrados na Figura 4.13, sendo necessário somente considerar
a equação cinemática diferencial (3.15).
74
Nesta seção são apresentados os materiais e métodos utilizados para realizar a atuação
no protótipo, isto é, os atuadores inseridos no robô e os métodos empregados para transformar
o sinal de controle de ambos sistemas de controle cinemático e dinâmico em sinais adequados
para os atuadores. Na Figura 4.17 é ilustrado o diagrama simplificado com os elementos físicos
e computacionais que concebem o sistema de atuação do protótipo quando utilizado o sistema
de controle dinâmico. Destaca-se que, para o sistema de controle cinemático, o sinal de controle
é a velocidade calculada de cada roda u = [ θ̇d θ̇e ]T e, para o sistema de controle dinâmico,
é o torque calculado para cada roda τ = [ τd τe ]T . Cada elemento do diagrama apresentado
na Figura 4.17 será descrito no decorrer desta seção.
Modelo elétrico Algoritmos de atuação Elementos físicos
e mecânico do Linearização por
motor CC Duty Cycle
de atuação
Equação (4.12) 6
Equação 5 Equação GPIO
(4.6) (4.11) 1 20
𝜏𝑑
𝜏𝑑 𝑉𝑎 𝑑 𝑉𝑎 𝑑 𝐷𝐶𝑑 Ponte-H JGY-370
0 GPIO 2
𝜃ሶ 𝑑 3 𝜃ሶ 𝑑 4 16 1
𝜃ሶ 𝑑
|DC| 255
GPIO
Figura (4.23) (b) 14
ATmega328P
Equação (4.13) 7
𝜏𝑒
GPIO
Algoritmos para o 6
𝜃ሶ𝑒 lado esquerdo do RMRD Ponte-H JGY-370
GPIO
19
O atuador utilizado neste trabalho para tracionar as rodas fixas do RMRD é o conjunto
JGY-370, formado por um motor elétrico de corrente contínua (CC) com ímãs permanentes e
uma caixa de engrenagens redutora de velocidade acoplada ao corpo do motor. Este conjunto é
indicado com o no 1 na Figura 4.17 e mostrado na Figura 4.18 (a).
A estrutura do motor CC com ímãs permanentes consiste, basicamente, de um estator
fixo, formado por ímãs permanentes que produzem um campo magnético constante, e um rotor
móvel envolto pelo estator, formado por um eixo e enrolamentos condutores (enrolamentos de
armadura) por onde flui a corrente elétrica. A conexão entre os terminais elétricos do motor e
75
Engrenagem
coroa
(a) (b)
Figura 4.18: (a) Motor CC com caixa de engrenagens redutora e (b) esquema de redução com
engrenagens sem-fim e coroa.
sua armadura ocorre por meio de escovas (Spong et al., 2005; Craig, 2014).
A caixa de engrenagens, por sua vez, conecta o motor à roda com uma relação redutora,
pelo fato de o motor trabalhar em velocidade bem maior que a desejada para a roda. Com a
caixa de engrenagens redutora, ocorre a diminuição da velocidade e, juntamente, a elevação
do torque aplicado nas rodas. A caixa de redução é formada pela união das engrenagens sem-
fim (fixa no eixo do motor) e coroa (fixa no eixo da roda), como pode ser visto na Figura
4.18 (b). Uma característica importante desta mecânica de redução é a irreversibilidade, isto é,
bloquear a rotação frente a trações na engrenagem coroa. Porém, essa forma de redução tem
baixa eficiência com relação a outros tipos de engrenagens pelo fato de apresentar alto atrito
viscoso (Isermann, 2005). O motor do conjunto JGY-370 opera com tensão nominal de 12 V.
À tensão nominal, sem carga e com a caixa de redução, o conjunto trabalha com velocidade de
230 rpm e demanda corrente de 35 mA. As características elétricas e de operação do JGY-370
são apresentadas no Apêndice B.
A tensão aplicada no motor é controlada através do módulo ilustrado na Figura 4.19, in-
dicado com o no 2 na Figura 4.17. O principal componente deste módulo é o driver L298N, que
tem internamente dois circuitos ponte-H (ponte completa) e, portanto, pode comportar até dois
motores (saídas 1 e 2). São utilizados dois módulos, um para cada motor, alimentados com ten-
são de 14 V (Vs ) proveniente de cada Buck-Boost. O módulo ponte-H recebe em suas entradas
lógicas os sinais referentes ao duty cycle bem como à polaridade da tensão calculada e chaveia a
tensão na saída (1 ou 2) na qual o motor estiver conectado. Informações complementares sobre
o módulo ponte-H e suas características elétricas são apresentadas no Apêndice B.
L298N
Saída 1
Alimentação (Vs)
GND
Saída 2
Entradas lógicas
Figura 4.19: Módulo com o driver ponte-H dual L298N.
76
Nesta subseção serão apresentadas as técnicas utilizadas para extrair dos sinais de con-
trole, de ambos sistemas de controle, os sinais referentes ao duty cycle e à polaridade da tensão
calculada que serão aplicados nas entradas de cada módulo ponte-H.
Em uma segunda etapa, determina-se, através da tensão calculada Va , o duty cycle respec-
tivo (simbolizado aqui como DC), isto é, a largura do pulso de nível lógico alto (0 a 100% de
um período) do sinal PWM que, ao considerar seu valor médio, reproduz a tensão Va calculada
na saída do módulo ponte-H. Usualmente, o duty cycle é calculado pela equação:
Va
DC = (4.7)
Va(max)
77
A causa dessa relação não linear pode ser identificada através da comparação entre a
tensão nos terminais do motor e o sinal PWM gerado pelo ATmega328P, como mostrado na
Figura 4.21. Observando a Figura 4.21, quando o sinal PWM, em azul, está em nível lógico
baixo (0 V), o motor funciona com seus terminais em vazio, mas sua tensão de armadura, em
vermelho, não é zero nesses intervalos, dado que o motor não freia instantaneamente devido
ao momento de inércia do rotor e dado que, nesse caso, a tensão de armadura é a força contra
eletromotriz (fcem) ea , expressa pela equação (4.8):
ea = ka θ̇ (4.8)
a qual representa matematicamente o motor CC quando esse opera como gerador e com seus
terminais em vazio, isto é, sem conexão com carga elétrica.
15
10
Tensão [ V ]
-5
(a) (b)
Figura 4.21: Leituras em osciloscópio: em azul, sinal PWM gerado pelo ATmega328P e, em
vermelho, tensão medida nos terminais do motor direito. Em (a), razão cíclica de 10% e, em
(b), razão cíclica de 20%. Ensaios realizados com o RMRD suspenso.
78
Para aproximar a relação não linear entre a velocidade angular e a tensão Va calculada em
uma relação linear, é desenvolvido um método diferente de cálculo do valor de DC chamado,
neste trabalho, de linearização por duty cycle. Inicialmente, é obtida a expressão matemática
da tensão Va nos terminais do atuador em um período de onda completo do sinal PWM, a qual
pode ser escrita como:
Va = Va(max) DC + ea (1 − DC) (4.9)
isto é, a tensão nos terminais do motor é a soma ponderada da tensão máxima Va(max) , existente
nos terminais do motor no intervalo de nível lógico alto do PWM (DC), com a força contra
eletromotriz ea , existente nos terminais do motor no intervalo de nível lógico baixo do PWM
(1 − DC), ao operar como gerador. Dado que ea = ka θ̇, na equação (4.8), a equação para o
cálculo do duty cycle é obtida isolando DC na equação (4.9):
Va − ka θ̇
DC = (4.10)
Va(max) − ka θ̇
A equação (4.10) é válida somente quando Va > 0. Como Va também pode ter valores
negativos, o método de linearização por duty cycle é expresso, de forma mais completa, na
equação (4.11), a qual é indicada com o no 4 na Figura 4.17:
(
(Va − ka θ̇)/( Va(max) − ka θ̇) se Va > 0
DC = (4.11)
(Va − ka θ̇)/(−Va(max) − ka θ̇) se Va < 0
79
𝜃ሶ 𝑉𝑎(𝑜𝑢𝑡)
𝑉𝑎(𝑚𝑖𝑛)
𝑉𝑎 𝑉𝑎(𝑖𝑛)
−𝑉𝑎(𝑚𝑖𝑛) 𝑉𝑎(𝑚𝑖𝑛)
(a) (b)
Figura 4.23: (a) Não linearidade zona morta e (b) tratamento da zona morta pela tensão.
Fonte: Adaptado de (Slotine & Li, 1991).
(a) (b)
Figura 4.24: Blocos do Simulink para (a) escrita de sinal digital e (b) sinal serial nos pinos.
e é indicada com o no 6 na Figura 4.17. Por fim, a amplitude de DC é enviada à ponte-H por
meio do ATmega328P. Assim, o bloco “Serial Write” é utilizado para realizar a transferência de
dados por comunicação serial entre o Raspberry e ATmega328P. O ATmega, por sua vez, envia
o sinal PWM à ponte-H. A amplitude de DC é encontrada pela equação (4.13):
j k
uint8 = 255 |DC| (4.13)
isto é, a função piso (floor) de arredondamento aplicada ao produto de 255, referente a 8 bits
( 28 − 1 ), pelo módulo de DC. Esta equação é indicada com o no 7 na Figura 4.17. É definido
um inteiro de 8 bits pelo fato de o ATmega gerar o PWM com esta resolução. São enviados dois
valores de DC, referentes aos atuadores da direita e esquerda, na comunicação serial.
Va = ka θ̇(controle) (4.14)
portanto, além de não considerar massa e inércia, este modelo também não abrange as perdas
referentes à resistência de armadura Ra e atrito viscoso B.
Capítulo 5
Resultados e Discussões
Neste capítulo são apresentados resultados obtidos de simulação e com o protótipo desen-
volvido. Para ambas as fontes de resultados, simulação e protótipo, são testados os dois sistemas
de controle expostos no Capítulo 3, isto é, os sistemas de controle cinemático e dinâmico.
Duas trajetórias são construídas para realizar as simulações e ensaios experimentais: a
primeira trajetória consiste em uma curva suave de 180o , na qual a velocidade linear desejada
para o RMRD é constante e igual a 0,35 m/s; e a segunda trajetória é mais complexa e tem a
forma do número 8, na qual a velocidade linear desejada para o RMRD varia em função da tra-
jetória e em torno de 0,35 m/s. Em ambas as trajetórias, são inseridas rampas de velocidade no
início e fim do percurso, proporcionando, respectivamente, aceleração e desaceleração suaves
para evitar o deslizamento das rodas. Os estados iniciais de ambos os sistemas de controle para
cada trajetória são apresentados na Tabela 5.1.
Tabela 5.1: Estados iniciais dos sistemas de controle para cada trajetória.
Trajetória Sistema de controle cinemático Sistema de controle dinâmico
T
desejada x = [ xr yr φ ] x = [ xo yo θd θe θ̇d θ̇d ]T
Curva 180◦ x=[ 0 0 0 ]T x = [ −L 0 0 0 0 0 ]T
Oito (8) x=[ 0 0 π/2 ]T x = [ −L 0 π/2cd 0 0 0 ]T
81
82
Os parâmetros estimados do protótipo são mostrados nas Tabelas 5.2, 5.3 e 5.4, e os
procedimentos para a estimação de cada um destes parâmetros são expostos no Apêndice C. Na
Tabela 5.2 são mostrados os parâmetros do modelo cinemático do protótipo. Na Tabela 5.3 são
mostrados os parâmetros do modelo dinâmico do protótipo. E na Tabela 5.4, por sua vez, são
mostrados os parâmetros do modelo matemático dos atuadores do protótipo. Destaca-se que os
parâmetros do modelo dinâmico (m, I e Ir ) e alguns parâmetros dos motores (Ra , kτ e B) são
considerados somente no sistema de controle dinâmico.
onde tf é o tempo ao final do seguimento da trajetória, e ex (t) e ey (t) são, nessa ordem, os erros
de posição em x e y durante o seguimento. Desta forma, através da posição k0 ou (k0 , k1 ) de
um vaga-lume da população, é determinada sua luminosidade, dada pela função inversa de Fobj .
As iterações do algoritmo finalizam quando a variação da luminosidade de cada vaga-lume é
pequena entre duas iterações consecutivas. O algoritmo Firefly e os resultados obtidos a partir
de sua implementação neste trabalho são descritos em mais detalhes no Apêndice C.
A faixa de valores de ganho selecionada é {0 < k0 6 100} para o sistema de controle
cinemático e {0 < k0 6 100} e {0 < k1 6 100} para o sistema de controle dinâmico. Como
resultados obtidos através da utilização do algoritmo, em síntese, o erro de posição acumulado
84
5.2 Cenário 1
Nas Figuras 5.1 a 5.6 são apresentados resultados de simulação e experimentais com o
sistema de controle cinemático. Na Figura 5.1 são mostradas a trajetória desejada no plano xy
(em azul), a trajetória realizada pelo RMRD em simulação referente ao ponto Pr (xr , yr ) (em
vermelho) e a trajetória realizada pelo protótipo referente ao ponto Pr (xr , yr ) (em preto).
Figura 5.1: Trajetória no plano xy. Resultados com o sistema de controle cinemático e para a
trajetória com curva de 180o .
(em azul), a velocidade linear do RMRD em simulação (em vermelho) e a velocidade linear do
protótipo (em preto). Em todos os casos, a velocidade linear é referente ao ponto Pr do RMRD
p
e é calculada como vlinear = ẋr2 + ẏr2 .
Figura 5.2: Velocidade linear ao decorrer da trajetória. Resultados com o sistema de controle
cinemático e para a trajetória com curva de 180o .
Na Figura 5.4, é apresentada a velocidade angular para as rodas direita e esquerda, como
variável de entrada u = [ θ̇d θ̇e ]T , obtida de simulação (em azul) e com o protótipo (em
preto), e na Figura 5.5, são expostos os gráficos da tensão de armadura calculada dos atuadores
direito e esquerdo obtida de simulação (em azul) e com o protótipo (em preto).
Figura 5.4: Velocidade angular das rodas como entrada. Resultados com o sistema de controle
cinemático e para a trajetória com curva de 180o .
86
Figura 5.5: Tensão calculada para os atuadores. Resultados com o sistema de controle
cinemático e para a trajetória com curva de 180o .
Na Figura 5.6, é mostrada a velocidade angular das rodas direita e esquerda, como va-
riável de estado, obtida de simulação (em azul) e com o protótipo (em preto). A obtenção da
velocidade angular das rodas do protótipo é realizada através dos encoders.
Figura 5.6: Velocidade angular das rodas. Resultados com o sistema de controle cinemático e
para a trajetória com curva de 180o .
Como pode ser observado na Figura 5.1, o protótipo demonstra bom desempenho no se-
guimento da trajetória com o sistema de controle cinemático, com erro de posição pequeno no
seguimento, próximo de 1 cm, como mostrado na Figura 5.3. A velocidade linear do protótipo
também se mantém próxima da velocidade linear desejada, entretanto apresenta um comporta-
mento oscilatório durante todo o percurso, como mostrado na Figura 5.2. Quanto às simulações,
os resultados obtidos são iguais aos desejados e o RMRD segue a trajetória sem erros de posição
e velocidade como pode ser visto nas Figuras 5.1 e 5.2, pois não existe incertezas nos parâme-
tros do modelo, a não linearidade zona morta dos atuadores não é considerada nas simulações
e as tensões calculadas não alcançam as tensões máximas permitidas nos atuadores em nenhum
momento da trajetória.
Observa-se na Figura 5.4 uma diferença relevante entre as velocidades angulares de en-
trada u = [ θ̇d θ̇e ]T obtidas de simulação e obtidas com o protótipo. A mesma situação pode
ser observada entre as tensões calculadas obtidas de simulação e obtidas com o protótipo, como
mostrado na Figura 5.5. Para as velocidade angulares, essa diferença é próxima de 4 rad/s e,
para as tensões, próxima de 2 V. Possivelmente, o principal fator que causa esta diferença é o
fato de não serem considerados, no sistema de controle cinemático, parâmetros como o coefi-
ciente de atrito viscoso (B) e resistência de armadura (Ra ), que produzem perdas no sistema.
87
Assim, essas perdas são compensadas elevando as velocidades de entrada u = [ θ̇d θ̇e ]T e
consequentemente a tensão calculada para cada atuador, de modo a diminuir os erros de posi-
ção e velocidade durante o seguimento. As velocidades angulares reais das rodas do protótipo,
por sua vez, permanecem próximas das velocidades obtidas de simulação, como mostrado na
Figura 5.6.
Nas Figuras 5.7 a 5.12 são apresentados resultados de simulação e experimentais com o
sistema de controle dinâmico. Na Figura 5.7 são mostradas a trajetória desejada no plano xy
(em laranja), a trajetória realizada pelo RMRD em simulação referente ao ponto Pr (xr , yr ) (em
vermelho) e a trajetória realizada pelo protótipo referente ao ponto Pr (xr , yr ) (em preto).
Figura 5.7: Trajetória no plano xy. Resultados com o sistema de controle dinâmico e para a
trajetória com curva de 180o .
Na Figura 5.8, são expostos os gráficos da velocidade linear desejada ao decorrer da tra-
jetória (em laranja), a velocidade linear do RMRD em simulação (em vermelho) e a velocidade
linear do protótipo (em preto). Nestes três casos, a velocidade linear é referente ao ponto Pr do
p
RMRD e é calculada como vlinear = ẋr2 + ẏr2 .
Figura 5.8: Velocidade linear ao decorrer da trajetória. Resultados com o sistema de controle
dinâmico e para a trajetória com curva de 180o .
88
Na Figura 5.10, tem-se o torque calculado para as rodas direita e esquerda, como variável
de entrada u = [ τd τe ]T , obtido de simulação (em laranja) e com o protótipo (em preto), e
na Figura 5.11, têm-se os sinais da tensão de armadura calculada para os atuadores direito e
esquerdo obtidos de simulação (em laranja) e com o protótipo (em preto).
Figura 5.10: Torque calculado para as rodas. Resultados com o sistema de controle dinâmico
e para a trajetória com curva de 180o .
Figura 5.11: Tensão calculada para os atuadores. Resultados com o sistema de controle
dinâmico e para a trajetória com curva de 180o .
Na Figura 5.12, é apresentada a velocidade angular das rodas direita e esquerda, como
variável de estado, obtida de simulação (em laranja) e com o protótipo (em preto). A obtenção
da velocidade angular das rodas do protótipo é realizada através dos encoders.
89
Figura 5.12: Velocidade angular das rodas. Resultados com o sistema de controle dinâmico e
para a trajetória com curva de 180o .
Como pode ser observado na Figura 5.7, o protótipo demonstra, novamente, bom desem-
penho no seguimento da trajetória, com erro de posição pequeno durante o seguimento, de no
máximo 4 cm, como mostrado na Figura 5.9, porém maior comparado ao erro obtido com o
sistema de controle cinemático. A velocidade linear do protótipo também se mantém próxima
da velocidade linear desejada, como pode ser visto na Figura 5.8 e, além disso, mantém-se mais
comportada em comparação à velocidade linear com o sistema de controle cinemático mostrada
na Figura 5.2. Esse comportamento mais oscilatório da velocidade referente à implementação
do sistema de controle cinemático ocorre, possivelmente, pelo sistema de controle cinemático
possuir somente um ganho integrativo, referente à integral do erro de velocidade, enquanto o
sistema de controle dinâmico tem, também, um ganho proporcional, referente ao erro de velo-
cidade. Quanto às simulações, novamente os resultados obtidos são iguais aos desejados e o
RMRD segue a trajetória sem erros de posição e velocidade como pode ser visto nas Figuras
5.7 e 5.8.
Observa-se nas Figuras 5.10 e 5.11, principalmente nos sinais de torque e tensão relaci-
onados à roda e ao atuador esquerdo, respectivamente, uma pequena diferença entre os sinais
obtidos de simulação e os sinais obtidos com o protótipo, associada, possivelmente, à incerteza
nos valores de atrito viscoso (B), resistência de armadura (Ra ), constante de torque (kτ ) e cons-
tante de fcem (ke ). Conforme a Figura 5.5, a diferença entre as tensões reais e de simulação
aumenta no caso do sistema de controle cinemático, pelo fato de tais parâmetros não serem
considerados neste sistema de controle.
As velocidades angulares reais das rodas do protótipo, por sua vez, permanecem mais
próximas das velocidades obtidas de simulação, como mostrado na Figura 5.12. Entretanto,
observa-se nas Figuras 5.6 e 5.12, oscilações de maior frequência, ou ruídos, causados pela
imprecisão na medição de velocidade através dos encoders, como discutido na Subsubseção
4.3.2.2. Estes ruídos também são observados nos sinais de torque e tensão calculados mos-
trados nas Figuras 5.10 e 5.11, respectivamente, e são causados, principalmente, pelos ruídos
existentes nas velocidades angulares medidas, uma vez que estas variáveis são realimentadas
na equação linearizante (3.31), no cancelamento da dinâmica (2.39) e no modelo dos atuadores
(4.6). O ruído é menor nos sinais de entrada de velocidade angular u = [ θ̇d θ̇e ]T e tensão
calculada, mostrados nas Figuras 5.4 e 5.5, respectivamente, referentes ao sistema de controle
90
cinemático, pelo fato de ser realimentada somente a orientação φ na equação linearizante (3.20)
e pelo fato de o modelo dos atuadores (4.14), considerado no sistema de controle cinemático,
ser simplificado a uma constante e não precisar da realimentação da velocidade angular obtida
através dos encoders.
Nas Figuras 5.13 a 5.15 são apresentados resultados de simulação e experimentais com o
sistema de controle cinemático. Na Figura 5.13 são mostradas a trajetória desejada no plano xy
(em azul), a trajetória realizada pelo RMRD em simulação referente ao ponto Pr (xr , yr ) (em
vermelho) e a trajetória realizada pelo protótipo referente ao ponto Pr (xr , yr ) (em preto).
Figura 5.13: Trajetória no plano xy. Resultados com o sistema de controle cinemático e para
a trajetória em formato de 8.
Na Figura 5.14, são mostradas a velocidade linear desejada ao decorrer da trajetória (em
azul), a velocidade linear do RMRD em simulação (em vermelho) e a velocidade linear do
protótipo (em preto). Nesses três casos, a velocidade linear é referente ao ponto Pr do RMRD
p
e é calculada como vlinear = ẋr2 + ẏr2 .
91
Figura 5.14: Velocidade linear ao decorrer da trajetória. Resultados com o sistema de controle
cinemático e para a trajetória em formato de 8.
Como pode ser observado na Figura 5.13, o protótipo demonstra bom desempenho no
seguimento da trajetória com o sistema de controle cinemático, tendo novamente erro de posição
baixo no seguimento, pouco maiores de 1 cm, como mostrado na Figura 5.15. A velocidade
linear do protótipo também se mantém próxima da velocidade linear desejada mesmo com a
variação de velocidade natural da trajetória em formato de 8, contendo erros, na maior parte do
tempo, de no máximo 0,02 m/s em módulo.
Nas Figuras 5.16 a 5.18 são apresentados resultados de simulação e experimentais com
o sistema de controle dinâmico. Na Figura 5.16 são mostradas a trajetória desejada no plano
xy (em laranja), a trajetória realizada pelo RMRD em simulação referente ao ponto Pr (xr , yr )
(em vermelho) e a trajetória realizada pelo protótipo referente ao ponto Pr (xr , yr ) (em preto), e
na Figura 5.17, têm-se a velocidade linear desejada (em laranja), a velocidade linear do RMRD
em simulação (em vermelho) e a velocidade linear do protótipo (em preto), onde a velocidade
p
linear é referente ao ponto Pr do RMRD e é calculada como vlinear = ẋr2 + ẏr2 .
92
Figura 5.16: Trajetória no plano xy. Resultados com o sistema de controle dinâmico e para a
trajetória em formato de 8.
Figura 5.17: Velocidade linear ao decorrer da trajetória. Resultados com o sistema de controle
dinâmico e para a trajetória em formato de 8.
5.3 Cenário 2
Nesta seção são expostos resultados experimentais para a trajetória com curva suave de
o
180 e por meio da implementação do sistema de controle dinâmico. O objetivo, neste segundo
cenário, é realizar uma variação do valor de alguns parâmetros dos modelos dinâmico do robô e
dos atuadores para analisar a aptidão do protótipo e seu comportamento no seguimento de traje-
tória diante de diferenças entre os valores dos parâmetros conhecidos pelo sistema de controle
e os valores dos parâmetros nominais estimados do protótipo. Os parâmetros selecionados para
a variação de seus valores são a massa m do protótipo, o momento de inércia I do protótipo, o
momento de inércia Ir de cada roda mais rotor e os coeficientes de atrito viscoso Bd e Be . Em
um primeiro ensaio, estes cinco parâmetros, conhecidos pelo sistema de controle, são reduzidos
em 20% de seus valores nominais contidos nas Tabelas 5.3 e 5.4 e, em um segundo ensaio, seus
valores nominais são acrescidos em 20%.
Na Figura 5.19 são apresentadas a trajetória desejada no plano xy (em laranja) e a traje-
tória realizada pelo protótipo, referente ao ponto Pr (xr , yr ), ao reduzir em 20% os valores dos
parâmetros conhecidos pelo sistema de controle (em linha preta tracejada) e ao aumentar em
20% os valores dos mesmos parâmetros (em linha preta contínua). Na Figura 5.20, por sua vez,
são mostradas a velocidade linear desejada ao decorrer da trajetória (em laranja), a velocidade
linear do protótipo ao reduzir em 20% os valores dos parâmetros conhecidos pelo sistema de
controle (em cinza) e a velocidade linear do protótipo ao aumentar em 20% os valores dos mes-
mos parâmetros (em preto). Nesses três casos, a velocidade linear é referente ao ponto Pr do
p
RMRD e é calculada como vlinear = ẋr2 + ẏr2 .
Na Figura 5.21, por fim, são expostos, à esquerda, os erros de posição em x e y do
94
Figura 5.19: Trajetória no plano xy. Resultados com o sistema de controle dinâmico, para a
trajetória com curva de 180o e com variação nos parâmetros m, I, Ir , Bd e Be .
Figura 5.20: Velocidade linear. Resultados com o sistema de controle dinâmico, para a
trajetória com curva de 180o e com variação nos parâmetros m, I, Ir , Bd e Be .
protótipo ao reduzir em 20% os valores dos parâmetros conhecidos pelo sistema de controle
e, à direita, os erros de posição em x e y do protótipo ao aumentar em 20% os valores dos
parâmetros conhecidos pelo sistema de controle.
Figura 5.21: Erros de posição em x e y. Resultados com o sistema de controle dinâmico, para
a trajetória com curva de 180o e com variação nos parâmetros m, I, Ir , Bd e Be .
Comparando, por meio da Figura 5.19, os resultados dos dois cenários de variação no
valor dos parâmetros, observa-se que o protótipo tende a fazer uma curva ligeiramente mais
fechada quando os parâmetros são menores que o nominal e uma curva ligeiramente mais aberta
quando os parâmetros são maiores que o nominal. Percebe-se, com isto, que aumentando ou
95
diminuindo o valor dos parâmetros, são especificadas ao sistema de controle cargas, referentes à
massa, inércia e atrito, maiores ou menores, respectivamente, o que induz o sistema de controle
a gerar sinais de controle diferentes em cada situação, causando diferenças entre a trajetória
percorrida pelo robô e a trajetória desejada. Entretanto, mesmo com a inserção de erros de
magnitude de 20% dos valores nominais dos parâmetros, o protótipo com o sistema de controle
dinâmico implementado se mantém estável durante o seguimento de trajetória.
5.4 Cenário 3
Nesta seção, são expostos resultados experimentais para a trajetória com curva suave de
o
180 e por meio da implementação dos sistemas de controle cinemático e dinâmico. O objetivo
neste cenário é não utilizar a técnica linearização por duty cycle e analisar o desempenho do
protótipo com cada um dos dois controladores quando empregado o método usual para o cálculo
do duty cycle do sinal PWM.
Nas Figuras 5.22 a 5.24 são apresentados resultados experimentais com o sistema de
controle cinemático. No ensaio realizado com o protótipo referente a esta subseção, o ganho do
sistema de controle cinemático é selecionado como k0 = 5 em vez de k0 = 10, como na Tabela
5.5 pois, em ensaios com o ganho k0 = 10, o protótipo se desvia do caminho e não consegue se
manter na trajetória. Na Figura 5.22 são mostradas a trajetória desejada no plano xy (em azul)
e a trajetória realizada pelo protótipo sem aplicar a técnica linearização por Duty Cycle (em
preto), onde a trajetória realizada pelo protótipo é referente ao ponto de referência Pr (xr , yr ) do
RMRD.
Figura 5.22: Trajetória no plano xy. Resultados com o sistema de controle cinemático, para a
trajetória com curva de 180o e sem a linearização por duty cycle.
96
Na Figura 5.23, tem-se a velocidade linear desejada ao decorrer da trajetória (em azul) e
a velocidade linear do protótipo sem aplicar a técnica linearização por duty cycle (em preto).
Nesses dois casos, a velocidade linear é referente ao ponto Pr do RMRD e é calculada como
p
vlinear = ẋr2 + ẏr2 . Na Figura 5.24, por sua vez, são mostrados, à esquerda, os erros de
posição em x e y do protótipo e, à direita, o erro de velocidade linear do protótipo, ambos sem
aplicar a técnica linearização por Duty Cycle.
Figura 5.23: Velocidade linear. Resultados com o sistema de controle cinemático, para a
trajetória com curva de 180o e sem a linearização por duty cycle.
Em comparação com a linearização por duty cycle, quando empregado o método usual
para o cálculo do DC, observa-se erros maiores de posição e velocidade durante o seguimento,
como mostrado na Figura 5.24. Conforme a Figura 5.22, também pode ser visto certa dificul-
dade do protótipo permanecer na trajetória após a curva. O mesmo pode ser visto no perfil de
velocidade do protótipo, na Figura 5.23, demonstrando um comportamento mais oscilatório na
rampa inicial de velocidade e a partir da curva.
Nas Figuras 5.25 a 5.27 são apresentados resultados experimentais com o sistema de con-
trole dinâmico. Na Figura 5.25 são mostrados a trajetória desejada no plano xy (em laranja)
97
e a trajetória realizada pelo protótipo, referente ao ponto Pr (xr , yr ), sem aplicar a técnica li-
nearização por duty cycle (em preto). Na Figura 5.26, por sua vez, têm-se a velocidade linear
desejada ao decorrer da trajetória (em laranja) e a velocidade linear do protótipo sem aplicar a
técnica linearização por duty cycle (em preto). Nestes dois casos, a velocidade linear é referente
p
ao ponto Pr do RMRD e é calculada como vlinear = ẋr2 + ẏr2 . Por fim, na Figura 5.27 são
expostos, à esquerda, os erros de posição em x e y do protótipo e, à direita, o erro de velocidade
linear do protótipo, ambos sem aplicar a técnica linearização por Duty Cycle.
Figura 5.25: Trajetória no plano xy. Resultados com o sistema de controle cinemático, para a
trajetória com curva de 180o e sem a linearização por duty cycle.
Figura 5.26: Velocidade linear. Resultados com o sistema de controle cinemático, para a
trajetória com curva de 180o e sem a linearização por duty cycle.
Com relação aos atuadores do protótipo, nota-se o efeito da folga existente na caixa de
redução de velocidade, que compromete bastante o seguimento de trajetória pelo protótipo du-
rante alguns ensaios experimentais não mostrados neste capítulo. O comportamento observado
são solavancos bruscos nas duas rodas, com o sentido de rotação das mesmas alternando re-
pentinamente. Esse problema é visível quando são ajustados valores maiores para os ganhos
de ambos sistemas de controle e em curvas mais fechadas, com raio de curvatura pequeno, que
aproximam a velocidade de uma das rodas a zero ou, inclusive, alternam o sentido de rotação
da mesma.
Para o acionamento dos atuadores, os sinais de tensão são calculados diretamente através
do modelo do motor CC (4.14), quando implementado o sistema de controle cinemático, e do
modelo do motor CC (4.6), quando implementado o sistema de controle dinâmico, de modo que
não são utilizadas estratégias mais avançadas, como o controlador PID de velocidade. Dessa
forma, é fundamental o desenvolvimento e aplicação da técnica linearização por duty cycle,
como um dos fatores que proporcionam capacidade ao protótipo para o seguimento de trajetória,
conforme mostrado na Seção 5.2, referente ao cenário 1.
Com respeito aos elementos de sensoriamento, obtém-se resultados satisfatórios referen-
tes à estimação da posição do robô por odometria, apesar de ser uma técnica de posicionamento
relativo. Para todos os ensaios que disponibilizaram os resultados da Seção 5.2, relativa ao ce-
nário 1, os erros reais de posição entre o ponto final das trajetórias desejadas e o protótipo, após
finalizar o percurso, são, no máximo, de 5 centímetros em x e y. Dentre os fatores que causam
estes erros, pode-se citar as incertezas nos parâmetros do modelo cinemático do RMRD, o desli-
zamento das rodas durante o seguimento e a precisão dos encoders. Além disso, como discutido
na Subsubseção 4.3.2.2, o método empregado para calcular a velocidade angular através do en-
coder, medindo o tempo entre pulsos consecutivos, produz erros proporcionais à velocidade,
afetando a qualidade da variável medida.
99
Durante ensaios, verifica-se também que, devido aos solavancos e à folga, o sentido de
rotação das rodas alterna aleatoriamente, tornando a lógica (4.4) inválida, de modo que o sentido
de rotação deixa de ser estimado corretamente neste caso. A lógica (4.4) também se torna
inválida em situações onde o sentido de rotação da roda alterna muito rápido, como se verifica
durante o ensaio realizado referente à Subseção 5.4.1. Ao final da trajetória, o protótipo se move
para trás para corrigir os erros de posição e velocidade, mas, na trajetória estimada da Figura
5.22, ele continua se movendo para frente. Esse comportamento ocorre no instante próximo a
17 segundos dos gráficos das Figuras 5.23 e 5.24.
Dentre os fatores, com relação à arquitetura experimental, que facilitam a implementação
de outras estratégias de controle, têm-se a ferramenta Matlab/Simulink, a qual se demonstra um
software adequado pela variedade de recursos que possui para o projeto e implementação de
sistemas de controle e demais lógicas. Quanto à unidade de processamento Raspberry Pi 3 B,
esta possui alto poder computacional em comparação a plataformas de prototipagem e micro-
controladores utilizados em outros trabalhos. Entretanto, a plataforma Raspberry juntamente
com suporte oferecido pelo Simulink para o acesso aos seus periféricos apresenta algumas limi-
tações quando utilizadas as interfaces GPIO para a prototipagem. Pode-se citar, por exemplo, a
geração de sinal PWM com baixa resolução, como discutido na Subseção 4.1.3. Desta forma, é
essencial o emprego do microcontrolador ATmega328P, como uma unidade de processamento
auxiliar, pois, apesar de ter velocidade de processamento menor, contém mais recursos voltados
à entrada e saída de sinais digitais e analógicos.
Além disso, a implementação de outras estratégias de controle de movimento é possível
desde que necessitem apenas da realimentação de variáveis de posição e velocidade referentes
às rodas e ao robô, pelo fato de o protótipo conter apenas o sensor encoder para a medição
destas grandezas. Para estratégias de controle que necessitem da realimentação de corrente ou
tensão, por exemplo, referentes aos atuadores e amplificadores de potência, como as expostas
na Subseção 1.2.1, seria necessário o emprego de sensores para a medição destas informações.
Por outro lado, o projeto de outros sistemas de controle pode conter tanto sinal de velocidade
das rodas quanto de torque nas rodas como variáveis de entrada do protótipo, dado que ambos
sinais podem ser transformados, via software, para sinal PWM, conforme comentado na Seção
4.4.2.
Capítulo 6
Conclusão
100
101
103
104
berg. Citado 7 vezes nas páginas 24, 32, 33, 35, 39, 40 e 60.
Kanayama, Y., Kimura, Y., Miyazaki, F. & Noguchi, T. (1990). A stable tracking control
method for an autonomous mobile robot, Proceedings., IEEE International Conference on
Robotics and Automation, IEEE Comput. Soc. Press, pp. 384–389. Citado na página 23.
Keviczky, L., Bars, R., Hetthéssy, J. & Bányász, C. (2019). Control Engineering, Advanced
Textbooks in Control and Signal Processing, Springer Singapore, Singapore.
URL: http://link.springer.com/10.1007/978-981-10-8297-9 Citado na página 115.
Khooban, M. H. (2014). Design an intelligent proportional-derivative (PD) feedback lineari-
zation control for nonholonomic-wheeled mobile robot, Journal of Intelligent and Fuzzy
Systems 26(4): 1833–1843. Citado 8 vezes nas páginas 23, 43, 44, 51, 54, 57, 58 e 59.
Kim, D. & Oh, J. (1999). Tracking control of a two-wheeled mobile robot using input-output
linearization, Control Engineering Practice 7(3): 369–373. Citado 2 vezes nas páginas 28
e 48.
Lipschutz, S. & Lipson, M. (2011). Álgebra Linear: Coleção Schaum. Citado na página 110.
Luca, A. D., Oriolo, G., Paone, L. & Giordano, P. R. (2002). Experiments in visual feedback
control of a wheeled mobile robot, Proceedings - IEEE International Conference on Ro-
botics and Automation 2(May): 2073–2078. Citado na página 28.
Lwin, Y. Y. & Yamamoto, Y. (2012). Obstacle-responsive navigation scheme of a wheeled
mobile robot based on look-ahead control, Industrial Robot 39(3): 282–293. Citado na
página 49.
Martins, F. N., Sarcinelli-Filho, M. & Carelli, R. (2017). A Velocity-Based Dynamic Model
and Its Properties for Differential Drive Mobile Robots, Journal of Intelligent and Robotic
Systems: Theory and Applications 85(2): 277–292. Citado na página 29.
MathWorks (2019a). MATLAB: The Language of Technical Computing.
URL: https://www.mathworks.com/help/matlab/index.html Citado na página 64.
MathWorks (2019b). Simulink: Simulation and Model-Based Design.
URL: https://www.mathworks.com/help/simulink/index.html Citado na página 65.
MathWorks (2020). MathWorks Incorporation.
URL: https://www.mathworks.com/ Citado 2 vezes nas páginas 63 e 65.
Microchip Technology Incorporation (2018). megaAVR Data Sheet, Technical report.
URL: http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-
168A-PA-328-P-DS-DS40002061A.pdf Citado 2 vezes nas páginas 66 e 67.
Mirzaeinejad, H. & Shafei, A. M. (2018). Modeling and trajectory tracking control of a
two-wheeled mobile robot: Gibbs-Appell and prediction-based approaches, Robotica
36(10): 1551–1570. Citado na página 40.
Mobile Industrial Robots A/S (2020). Polux - Mobile Industrial Robots.
URL: https://www.mobile-industrial-robots.com/en/ Citado na página 19.
Mohammadi, M. & Shahri, A. M. (2013). Adaptive nonlinear stabilization control for a Qua-
drotor UAV: Theory, simulation and experimentation, Journal of Intelligent and Robotic
Systems: Theory and Applications 72(1): 105–122. Citado na página 25.
Mu, J., Yan, X. G., Spurgeon, S. K. & Mao, Z. (2017). Nonlinear sliding mode control of a
two-wheeled mobile robot system, International Journal of Modelling, Identification and
106
Control 27(2): 75–83. Citado 6 vezes nas páginas 24, 25, 26, 27, 28 e 29.
Nascimento, T. P., Dórea, C. E. T. & Gonçalves, L. M. G. (2018). Nonlinear model predic-
tive control for trajectory tracking of nonholonomic mobile robots: A modified approach,
International Journal of Advanced Robotic Systems 15(1): 1–14. Citado na página 24.
Nguyen, T. T., Duong, V. T., Nguyen, H. H., Nguyen, T. P. & Tran, V. T. (2019). Remote
discrete-time model reference adaptive control of a two-wheeled mobile robot, 9(4): 1325–
1334. Citado na página 28.
Nijmeijer, H. & Schaft, A. V. D. (1990). Nonlinear Dynamical Control Systems, Springer New
York, New York, NY. Citado na página 23.
Nukulwuthiopas, W., Laowattana, S. & Maneewarn, T. (2002). Dynamic modeling of a one-
wheel robot by using Kane’s method, Proceedings of the IEEE International Conference
on Industrial Technology, Vol. 1, IEEE, pp. 524–529. Citado na página 42.
Oriolo, G., Luca, A. D. & Vendittelli, M. (2002). WMR control via dynamic feedback lineariza-
tion: Design, implementation, and experimental validation, IEEE Transactions on Control
Systems Technology 10(6): 835–852. Citado 6 vezes nas páginas 26, 27, 28, 29, 49 e 50.
Ortigoza, R. S., Aranda, M. M., Ortigoza, G. S., Guzman, V. M. H., Vilchis, M. A. M., Gonza-
lez, G. S., Lozada, J. C. H. & Carbajal, M. O. (2012). Wheeled mobile robots: A review,
IEEE Latin America Transactions 10(6): 2209–2217. Citado na página 18.
Ortigoza, R. S., Sanchez, J. R. G., Guzman, V. M. H., Sanchez, C. M. & Aranda, M. M. (2016).
Trajectory Tracking Control for a Differential Drive Wheeled Mobile Robot Considering
the Dynamics Related to the Actuators and Power Stage, IEEE Latin America Transactions
14(2): 657–664. Citado 2 vezes nas páginas 23 e 50.
Peng, S. & Shi, W. (2018). Adaptive fuzzy output feedback control of a nonholonomic wheeled
mobile robot, IEEE Access 6: 43414–43424. Citado na página 24.
Pereira, A. A. d. A. & Lopes, A. N. D. (2018). Implementação de um Controlador PID para
o Rastreamento da Velocidade Angular de um Motor CC, Anais da Mostra Nacional de
Robótica - MNR 2018, Divinópolis - MG. Citado na página 25.
Raspberry Pi Foundation (2020a). Raspberry Pi 3 Model B.
URL: https://www.raspberrypi.org/products/raspberry-pi-3-model-b/ Citado 2 vezes nas
páginas 63 e 64.
Raspberry Pi Foundation (2020b). Raspberry Pi Documentation.
URL: https://www.raspberrypi.org/documentation/ Citado 2 vezes nas páginas 64 e 65.
Reck, R. M. & Sreenivas, R. S. (2015). Developing a new affordable DC motor laboratory
kit for an existing undergraduate controls course, Proceedings of the American Control
Conference 2015-July: 2801–2806. Citado na página 64.
Rossomando, F. G. & Soria, C. M. (2015). Design and implementation of adaptive neural PID
for non linear dynamics in mobile robots, IEEE Latin America Transactions 13(4): 913–
918. Citado 2 vezes nas páginas 24 e 28.
Roy, S., Nandy, S., Kar, I. N., Ray, R. & Shome, S. N. (2017). Robust control of nonholonomic
wheeled mobile robot with past information: Theory and experiment, Proceedings of the
Institution of Mechanical Engineers. Part I: Journal of Systems and Control Engineering
231(3): 178–188. Citado 2 vezes nas páginas 27 e 29.
107
A matriz jacobiana é a matriz constituída pelas derivadas parciais de uma ou mais funções
vetoriais. Supondo as variáveis x1 (t) e x2 (t) das funções vetoriais f1 , f2 e f3 e o vetor formado
por estas funções:
f1 (x1 , x2 )
f(x1 , x2 ) = f2 (x1 , x2 ) (A.1)
f3 (x1 , x2 )
a matriz jacobiana de f(x1 , x2 ) é dada por:
∂f1/∂x1 ∂f1/∂x2
𝑦 𝑦𝑅
𝜃𝑒 𝑥𝑅
𝑃𝑜 𝜙
𝑦𝑜
𝜃𝑑
𝑥𝑜 𝑥
𝑂
Figura A.1: Vista superior do RMRD. Referencial global (x, y) e referencial local (xR , yR ).
Fonte: Adaptado de (Siegwart et al., 2011).
Conforme a Figura A.1, a matriz de rotação referente aos RMRs relaciona, especifica-
109
110
mente, as velocidades ẋo , ẏo e φ̇, no sistema de coordenadas Oxy, com as velocidades ẋR ,
ẏR e φ̇, no sistema de coordenadas do robô Po xR yR . Já a matriz jacobiana característica do
RMRD, por exemplo, relaciona as velocidades ẋo , ẏo e φ̇, no sistema de coordenadas Oxy, com
as velocidades das rodas θ̇d e θ̇e , no espaço das juntas (Siegwart et al., 2011).
span{u1 , u2 , ..., uk }
Para o motor CC de ímãs permanentes, a relação entre o torque em seu eixo τm e a corrente
de armadura ia é dada pela constante de torque kτ , expressa como:
τm = kτ ia (A.3)
ea = ka θ̇m (A.4)
Se o equipamento opera como um motor, seu circuito elétrico é composto como na Fi-
gura A.2, onde Ra é resistência de armadura, La a indutância de armadura, ea a força contra
𝐿𝑎 𝑅𝑎
+
+ 𝑖𝑎
𝑉𝑎 𝑒𝑎
–
–
dia
Va = La + Ra ia + ea (A.5)
dt
Se o motor está acoplado a uma caixa de redução de velocidade para tracionar uma roda,
o torque total produzido pelo conjunto é dado pela soma do torque requerido pela carga e do
torque referente às perdas:
onde Im e Iw são, nesta ordem, as inércias do rotor e da carga, Bm e Bw são, nesta ordem, o atrito
viscoso presente nos apoios do rotor e da carga, µ é a relação de transformação da mecânica
de redução (µ > 1) e θ̈ e θ̇ são, nesta ordem, aceleração e velocidade angulares da roda. Os
termos (Iw + µ2 Im ) e (Bw + µ2 Bm ) também são chamados de momento de inércia efetivo e
amortecimento efetivo, respectivamente (Craig, 2014). Da mesma forma, pode-se dizer que o
conjunto também apresenta uma constante de torque kτ e constante de fcem ka efetivas, que
relacionam, nesta ordem, ia com o torque total τtotal e ea com a velocidade da roda θ̇:
τtotal = kτ ia (A.7)
ea = ka θ̇ (A.8)
Assumindo que a constante de tempo elétrica La /Ra é muito menor que a constante de
tempo mecânica Im /Bm , a indutância de armadura La pode ser negligenciada (Spong et al.,
2005). Considerando, também, o coeficiente de atrito viscoso efetivo B = (Bw + µ2 Bm ) e
denotando τ = τcarga , a equação (A.9) é reescrita como:
Ra Ra B
Va = τ+ + ka θ̇ (A.10)
kτ kτ
Apêndice B
112
113
VCC
Receptor
Emissor A0
D0
Receptor GND
Disco Saída
𝑉
Aberturas
𝑡 LM393
Emissor
(a) (b)
Figura B.1: (a) Representação esquemática do encoder incremental e (b) módulo FC-03.
Nas Tabelas B.4 e B.5 são apresentadas as características de operação do conjunto JGY-
370, formado por um motor elétrico de corrente contínua e uma caixa de engrenagens redutora
de velocidade, e as características elétricas do módulo ponte-H, respectivamente.
ilustrado na Figura B.2 (a). O principal componente deste módulo é o driver L298N, que
possui internamente dois circuitos ponte-H (ponte completa) e, portanto, pode comportar até
dois motores (saídas 1 e 2). O esquema de um circuito ponte-H é ilustrado na Figura B.2
(b). São utilizados dois módulos, um para cada motor, alimentados com tensão de 14 V (Vs )
proveniente de cada Buck-Boost.
Vs
L298N
& &
Saída 1
Saída 1
Alimentação (Vs)
IN1 & &
GND
Saída 2
Entradas
IN2
EN-A
(a) (b)
Figura B.2: (a) Módulo com o driver ponte-H dual L298N e (b) esquema interno ao L298N
referente à saída 1.
Tabela C.1: Valores da tensão de armadura (Va ), corrente de armadura (Ia ) e velocidade
angular (θ̇) obtidos do ensaio com os atuadores direito (D) e esquerdo (E).
No Va [V] Ia [mA] θ̇ [rad/s]
- D E D E D E
1 0,89 1,03 31,5 25,5 1,62 1,81
2 1,88 1,98 34,7 29,2 3,62 3,64
3 2,90 3,10 38,0 33,6 5,74 5,96
4 3,83 3,99 40,7 36,6 7,71 7,68
5 4,88 5,10 43,9 39,0 9,85 9,70
115
116
estar sobre os atuadores. Dado, também, que a corrente de armadura é proporcional ao torque
pela relação ia = τm /kτ , a equação C.1 é reescrita como:
Va = Ra ia + ka θ̇ (C.2)
Considerando os dados da Tabela C.1, o modelo (C.2) do atuador para as cinco medições
de Va , ia e θ̇ é escrito como:
V = Mp̂ (C.3)
onde:
Va1 ia1 θ̇1 " #
. . .. Ra
V = .. ; M = .. . ; p̂ =
ka
Va5 ia5 θ̇5
e obtendo a solução por mínimos quadrados de (C.3) dada por:
obtém-se a estimativa dos parâmetros Ra e ka , dos quais os valores são mostrados, para cada
atuador, na Tabela C.2. O valor da constante de torque kτ é considerado igual ao valor da
constante de força contra eletromotriz ka , e o coeficiente de atrito viscoso B de cada atuador
será obtido na Subseção C.3 a partir de ensaios com o protótipo no chão.
𝑏 𝑟𝑒
𝑃𝑟
𝑏 𝑟𝑑 𝑃𝑜
A estimação destes três parâmetros é realizada através de dois ensaios. O primeiro ensaio
é realizado para a estimação de rd e re , e o segundo ensaio é realizado para a estimação de
b. O primeiro ensaio consiste em manter somente uma das rodas motorizadas apoiada no chão
inclinando moderadamente o protótipo e, com esta configuração, aplicar um degrau de tensão
por um intervalo de tempo definido no atuador respectivo à roda apoiada ao chão e guiar esta
roda em um caminho retilíneo. Com isso, o raio da roda apoiada ao chão é estimado através da
equação (C.5), que é função do deslocamento linear ∆d realizado pela roda, dado em metros, e
do deslocamento angular ∆θ obtido do encoder respectivo, dado em radianos. A equação (C.5)
é expressa como:
∆d
r= (C.5)
∆θ
Este ensaio foi realizado para as duas rodas motorizadas, e os valores de raio encontrados
foram rd = 0,0292 m e re = 0,0293 m.
O segundo ensaio, por sua vez, consiste em manter o protótipo no chão e aplicar um
degrau de tensão por um intervalo de tempo definido somente no atuador direito, a título de
exemplo, de modo a rotacionar o protótipo. Com isso, a distância b é estimada através da
equação (C.6), que é função do número de revoluções ∆φ realizado pelo protótipo, dado em
revoluções, e do deslocamento angular ∆θ obtido do encoder direito, dado em radianos. A
equação (C.6) é expressa como:
rd ∆θ
b= (C.6)
4 π ∆φ
e o valor da distância entre cada roda motorizada e o Po foi b = 0,121 m.
ki
Gi (s) = i = 1, 2 (C.7)
Ti s + 1
onde T1 e T2 são, nesta ordem, as constantes de tempo dos modelos referentes ao primeiro e
segundo ensaio, e k1 e k2 são, respectivamente, os ganhos dos modelos referentes ao primeiro e
segundo ensaio.
No gráfico à esquerdo na Figura C.2, é apresentada a resposta de velocidade resultante
do primeiro ensaio (em azul), o qual é realizado com o protótipo suspenso para se obter o
parâmetro Ir , bem como a resposta de velocidade do respectivo modelo aproximado (em preto).
No gráfico à direita na Figura C.2, é apresentada a resposta de velocidade resultante do segundo
ensaio (em azul), o qual é realizado com o protótipo no chão para se obter o parâmetro I,
bem como a resposta de velocidade do respectivo modelo aproximado (em preto). A partir dos
modelos aproximados apresentados na Figura C.2 (em preto), obteve-se as constantes de tempo
T1 = 0,029 s e T2 = 0,095 s.
Obtidas as constantes de tempo T1 e T2 , são necessárias, para o cálculo de Ir , I, Bd e Be
as equações que representam os sistemas de primeira ordem referentes a cada ensaio, as quais
são retiradas da formulação de Lagrange do RMRD (2.28):
Figura C.2: Respostas de velocidade angular da roda direita frente à aplicação de um degrau
de tensão no motor direito com o protótipo suspenso (à esquerda) e no chão (à direita).
C.3.1 Obtenção de Ir
W(s) 1/ka
= (C.13)
Va (s) T1 s + 1
120
onde:
Ir Ra
T1 = (C.14)
kτ ka
C.3.2 Obtenção de Bd , Be e I
onde o torque τ pode ser expresso, a partir do modelo do atuador descrito na equação (4.6),
como sendo:
kτ kτ ka
τ= Va − θ̇ − B θ̇ (C.18)
Ra Ra
W(s) k2
= (C.21)
Va (s) T2 s + 1
121
onde:
kτ /Ra
k2 = (C.22)
kτ ka /Ra + B
2Ic2 + Ir
T2 = (C.23)
kτ ka /Ra + B
Duas constantes de tempo do protótipo são estimadas nesta seção e são referentes a dois
cenários. O primeiro cenário diz respeito à movimentação de translação pura do protótipo,
do qual é retirada a constante de tempo Tv , e o segundo cenário, por sua vez, diz respeito à
movimentação de rotação pura do protótipo, do qual é retirada a constante de tempo Tφ .
C.4.1 Obtenção de Tv
mr2 + 2Ir
θ̈ = τ (C.26)
2
onde o torque τ pode ser expresso, a partir do modelo do atuador descrito na equação (4.6),
como sendo:
kτ kτ ka
τ= Va − θ̇ − B θ̇ (C.27)
Ra Ra
mr2 + 2Ir
kτ kτ ka
θ̈ = Va − + B θ̇ (C.28)
2 Ra Ra
mr2 + 2Ir
kτ ka kτ
W(s)s + + B W(s) = Va (s) (C.29)
2 Ra Ra
W(s) kv
= (C.30)
Va (s) Tv s + 1
onde:
kτ /Ra
kv = (C.31)
kτ ka /Ra + B
mr2 + 2Ir
Tv = (C.32)
2(kτ ka /Ra + B)
Por fim, conhecidos todos os parâmetros do lado direito da equação (C.32), calcula-se Tv ,
que resulta em Tv = 0,045 s.
C.4.2 Obtenção de Tφ
onde o torque τ pode ser expresso, a partir do modelo do atuador descrito na equação (4.6),
como sendo:
kτ kτ ka
τ= Va − θ̇ − B θ̇ (C.36)
Ra Ra
W(s) kφ
= (C.39)
Va (s) Tφ s + 1
onde:
kτ /Ra
kφ = (C.40)
kτ ka /Ra + B
2Ic2 + Ir
Tφ = (C.41)
kτ ka /Ra + B
Por fim, conhecidos todos os parâmetros do lado direito da equação (C.41), calcula-se Tφ ,
que resulta em Tφ = 0,095 s.
• Todos os vaga-lumes são unissex, de modo que um vaga-lume seja atraído pelos outros;
• A atratividade de um vaga-lume é proporcional ao seu brilho, assim, o menos brilhante
se moverá em direção ao mais brilhante. O brilho e, consequentemente, a atratividade
diminuem à medida que a distância aumenta;
• Se um vaga-lume, em particular, for mais brilhante que todos os outros, ele se moverá
somente de forma aleatória.
Por fim, o terceiro termo da equação (C.42) se refere ao movimento aleatório do vaga-
lume i. O movimento aleatório de cada vaga-lume também é reduzido a cada iteração por
outro parâmetro do algoritmo, chamado de fator de redução do parâmetro de aleatoriedade ∆α .
O fluxograma do algoritmo Firefly é mostrado na Figura C.3.
125
INÍCIO
Nº máx.
de iterações é atingido OU não
variação da 𝐹𝑜𝑏𝑗 dos vaga-lumes é pequena ao
decorrer das iterações?
sim
FIM
Figura C.3: Fluxograma do algoritmo Firefly.
onde tf é o tempo ao final do seguimento da trajetória, e ex (t) e ey (t) são, nesta ordem, os erros
de posição em x e y durante o seguimento. Com relação ao espaço de solução, os vaga-lumes
se movimentam em um espaço unidimensional, definido por uma faixa de valores do ganho k0
quando considerado o controlador cinemático, ou bidimensional, dentro de faixas de valores do
ganho k0 e do ganho k1 quando considerado o controlador dinâmico.
126
Figura C.4: Ganho k0 versus erro para cada vaga-lume e cada iteração. Simulações referentes
ao sistema de controle cinemático.
Figura C.5: Ganho k0 versus k1 para cada vaga-lume e cada iteração. Simulações referentes
ao sistema de controle dinâmico.
Figura C.6: (a) Ganho k0 versus erro e (b) ganho k1 versus erro para cada vaga-lume e cada
iteração. Simulações referentes ao sistema de controle dinâmico
Nas Figuras C.6 (a) e (b), são apresentadas as vistas “k0 versus erro” e “k1 versus erro”,
respectivamente, do espaço tridimensional cujos eixos são (k0 , k1 , erro). Conclui-se, nova-
mente, a partir da direção com a qual os vaga-lumes se movimentam e a partir da tendência
da superfície formada pelos vaga-lumes, que o erro de posição acumulado diminui conforme
aumentam simultaneamente os ganhos k0 e k1 .
Ao configurar os ganhos em cada um dos sistemas de controle implementados no protó-
tipo, o RMRD apresentou comportamentos instáveis durante o seguimento de trajetória, como
solavancos bruscos nas rodas, ao atribuir valores altos a estes parâmetros. Assim, os maiores
128
valores dos ganhos que não causaram instabilidade durante o seguimento foram k0 = 10 para o
sistema de controle cinemático, e k0 = 25 e k1 = 25 para o sistema de controle dinâmico.
Apêndice D
Algoritmos e Lógicas
129
130
3 4
(a) (b)
Figura D.2: Subsistema no ambiente Simulink para obtenção do deslocamento e velocidade
angulares da roda direita. (a) Visão externa e (b) interna.
(a)
19 𝜃ሶ 𝑑 𝜃ሶ𝑒
𝑥𝑟 , 𝑦𝑟 𝜃ሶ 𝑑 𝜃ሶ𝑒
7
1 – Equação linearizante; 5 – Cálculo do deslocamento e velocidade angulares;
2 – Modelo matemático do atuador; 6 – Detecção de velocidade zero;
3 – Linearização por Duty Cycle; 7 – Equação de saída.
4 – Entrada da variável sent. rot.;
Sistema Mecatrônico
131
𝑥𝑑 , 𝑦𝑑 𝑒𝑥 , 𝑒𝑦 𝜏𝑑 , 𝜏𝑒 𝑉𝑎 𝑑
(𝑥ሶ 𝑑 , 𝑦ሶ 𝑑 )
1ൗ
GPIO 𝑠
1 20 Encoder J
𝒚𝑑 𝒌0 3 4 Ponte H JGY-370
GPIO direito 1ൗ
0 𝑠
16 GPIO
𝒚ሶ 𝑑 𝒌1 1 2 26
FC-03
255|DC| 6
GPIO 5 7
14
ATmega328p
𝒚ሷ 𝑑
FC-03 Algoritmos para o
Algoritmos para o GPIO
GPIO lado esquerdo do
lado esquerdo do 5
6 RMRD
RMRD Encoder
Ponte H JGY-370
GPIO esquerdo
19 𝜃ሶ𝑑 𝜃ሶ𝑒
𝜃ሶ𝑑 𝜃ሶ𝑒
(b)
(𝑥ሶ 𝑟 , 𝑦𝑟ሶ )
8
9
Diagramas dos Sistemas de Controle e
Figura E.1: Diagrama em blocos completo dos sistemas de controle (a) cinemático e (b)