Você está na página 1de 132

UNIVERSIDADE ESTADUAL DO OESTE DO PARANÁ

CAMPUS DE FOZ DO IGUAÇU


PROGRAMA DE PÓS-GRADUAÇÃO EM
ENGENHARIA ELÉTRICA E COMPUTAÇÃO

DISSERTAÇÃO DE MESTRADO

DESENVOLVIMENTO DE PROTÓTIPO DE ROBÔ


MÓVEL COM RODAS DIFERENCIAL PARA
IMPLEMENTAÇÃO DE ESTRATÉGIAS DE CONTROLE
DE MOVIMENTO: APLICAÇÃO DA TÉCNICA
REALIMENTAÇÃO LINEARIZANTE

MATEUS LUIZ WILHELM

FOZ DO IGUAÇU
2020
Mateus Luiz Wilhelm

Desenvolvimento de Protótipo de Robô Móvel com Rodas


Diferencial para Implementação de Estratégias de Controle
de Movimento: Aplicação da Técnica Realimentação
Linearizante

Dissertação de Mestrado apresentada ao Programa de


Pós-Graduação em Engenharia Elétrica e Computa-
ção da Universidade Estadual do Paraná como parte
dos requisitos para obtenção do título de Mestre em
Engenharia Elétrica e Computação. Área de concen-
tração: Sistemas Elétricos e Computação.

Orientador: Romeu Reginatto


Coorientador: Sandro Battistella

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.

Wilhelm, Mateus Luiz


Desenvolvimento de protótipo de robô móvel com rodas
diferencial para implementação de estratégias de controle
de movimento: aplicação da técnica realimentação
linearizante / Mateus Luiz Wilhelm; orientador(a), Romeu
Reginatto; coorientador(a), Sandro Battistella, 2020.
132 f.

Dissertação (mestrado), Universidade Estadual do Oeste


do Paraná, Centro de Engenharias e Ciências Exatas,
Programa de Pós-Graduação em Engenharia Elétrica e
Computação, 2020.

1. Arquitetura experimental de protótipo. 2. Robótica


móvel. 3. Realimentação linearizante. 4. Seguimento de
trajetória. I. Reginatto, Romeu. II. Battistella, Sandro.
III. Título.
Desenvolvimento de Protótipo de Robô Móvel com Rodas
Diferencial para Implementação de Estratégias de Controle
de Movimento: Aplicação da Técnica Realimentação
Linearizante

Mateus Luiz Wilhelm

Esta Dissertação de Mestrado foi apresentada ao Programa de Pós-Graduação em Engenharia


Elétrica e Computação e aprovada pela Banca Examinadora assim constituída:

Prof. Dr. Romeu Reginatto - (Orientador)


Universidade Estadual do Oeste do Paraná - UNIOESTE

Prof. Dr. Sandro Battistella - (Coorientador)


Universidade Estadual do Oeste do Paraná - UNIOESTE

Prof. Dr. Ubirajara Franco Moreno


Universidade Federal de Santa Catarina - UFSC

Prof. Dr. Marcos Fonseca Mendes


Universidade Estadual do Oeste do Paraná - UNIOESTE

Data da defesa: 14 de dezembro de 2020.


Resumo

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.

Palavras-chave: Arquitetura Experimental de Protótipo, Robótica Móvel, Controle Não Linear,


Realimentação Linearizante, Seguimento de Trajetória.
Abstract

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.

Keywords: Prototype Experimental Architecture, Mobile Robotics, Nonlinear Control, Feed-


back Linearization, Trajectory Tracking.
Agradecimentos

Agradeço a Deus por guiar minha vida.


Agradeço ao meu orientador Prof. Dr. Romeu Reginatto e ao meu coorientador Prof. Dr.
Sandro Battistella, pela orientação e auxílio essenciais para o desenvolvimento deste trabalho.
Agradeço aos professores do PGEEC pelo conhecimento transmitido e pela contribuição
em minha formação profissional.
Agradeço à fundação CAPES pelo apoio financeiro.
Agradeço à minha família pelo amor e compreensão que sempre demonstraram.
Por fim, agradeço aos meus colegas de mestrado pelo companheirismo.
Sumário

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

2 Modelo Matemático do RMRD 32


2.1 Conceitos Iniciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2 Modelo Cinemático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.1 Modelo Cinemático do RMRD . . . . . . . . . . . . . . . . . . . . . . 35
2.2.2 Restrições Cinemáticas do RMRD . . . . . . . . . . . . . . . . . . . . 37
2.3 Modelo Dinâmico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.3.1 Modelo Dinâmico do RMRD . . . . . . . . . . . . . . . . . . . . . . 40
2.3.2 Equações de Estados . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3 Controle por Realimentação Linearizante 44


3.1 Conceitos Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.1.1 Derivada de Lie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.2 Grau Relativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.3 Linearização em sistemas SISO . . . . . . . . . . . . . . . . . . . . . 46
3.1.4 Linearização em sistemas MIMO . . . . . . . . . . . . . . . . . . . . 46
3.2 Aplicação da Realimentação Linearizante no RMRD . . . . . . . . . . . . . . 48
3.2.1 Técnica Look-Ahead para o Seguimento de Trajetória . . . . . . . . . . 50
3.2.2 Controle Embasado no Modelo Cinemático do RMRD . . . . . . . . . 51
3.2.3 Controle Embasado nos Modelos Cinemático e Dinâmico do RMRD . . 54
3.2.4 Dinâmicas Internas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4 Descrição do Protótipo de RMRD 60


4.1 Unidade de Processamento de Informação . . . . . . . . . . . . . . . . . . . . 63
4.1.1 Raspberry Pi 3 B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.1.2 Matlab e Simulink . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.1.3 Microcontrolador ATmega328P . . . . . . . . . . . . . . . . . . . . . 66
4.2 Fontes de Energia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.1 Reguladores de Tensão . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3 Elementos de Sensoriamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.3.1 Elementos Físicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.3.2 Elementos Computacionais . . . . . . . . . . . . . . . . . . . . . . . . 71
4.4 Elementos de Atuação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.1 Elementos Físicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.2 Elementos Computacionais . . . . . . . . . . . . . . . . . . . . . . . . 76

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

Referências Bibliográficas 103

A Definições e Conceitos Matemáticos 109


A.1 Matriz Jacobiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
A.2 Matriz de Rotação dos RMRs . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
A.3 Espaço Gerado ou Span . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
A.4 Obtenção do Modelo Matemático do Motor CC . . . . . . . . . . . . . . . . . 110

B Conceitos e Características dos Dispositivos do Sistema Mecatrônico 112


B.1 Características Elétricas dos Reguladores de Tensão . . . . . . . . . . . . . . . 112
B.2 Dispositivos de Sensoriamento . . . . . . . . . . . . . . . . . . . . . . . . . . 112
B.3 Dispositivos de Atuação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

C Estimação dos Parâmetros do Protótipo 115


C.1 Parâmetros do Motor CC com a Caixa de Redução . . . . . . . . . . . . . . . 115
C.2 Parâmetros do Modelo Cinemático . . . . . . . . . . . . . . . . . . . . . . . . 116
C.3 Parâmetros do Modelo Dinâmico . . . . . . . . . . . . . . . . . . . . . . . . . 117
C.3.1 Obtenção de Ir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
C.3.2 Obtenção de Bd , Be e I . . . . . . . . . . . . . . . . . . . . . . . . . . 120
C.4 Constantes de Tempo do Protótipo . . . . . . . . . . . . . . . . . . . . . . . . 121
C.4.1 Obtenção de Tv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
C.4.2 Obtenção de Tφ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
C.5 Sintonia dos Ganhos dos Sistemas de Controle . . . . . . . . . . . . . . . . . . 123
C.5.1 Algoritmo de Otimização Firefly . . . . . . . . . . . . . . . . . . . . . 124
C.5.2 Implementação do Algoritmo Firefly e Resultados . . . . . . . . . . . . 125

D Algoritmos e Lógicas 129


D.1 Código C no ATmega328P . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
D.2 Cálculo da Velocidade e Posição Relativa das Rodas . . . . . . . . . . . . . . . 130

E Diagramas dos Sistemas de Controle e Sistema Mecatrônico 131


Lista de Figuras

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

q Vetor de coordenadas generalizadas


qR Vetor de coordenadas generalizadas do referencial do RMR
qI Vetor de coordenadas generalizadas do referencial inercial
J Matriz Jacobiana
A Matriz das restrições de Pfaff
S Matriz do espaço nulo de A(q)
M Matriz de inércia
E Matriz de transformação de entrada
η Vetor das variáveis de velocidade angular de cada roda motorizada do RMRD
u Vetor de variáveis de entrada
x Vetor de variáveis de estado
y Vetor de variáveis de saída
D Matriz de desacoplamento
ν Vetor de variáveis de entrada do sistema linearizado
r Grau relativo
Po Ponto central entre as rodas motorizadas do RMRD
xo Posição do ponto Po no eixo x
yo Posição do ponto Po no eixo y
φ Orientação do robô
θd Posição angular da roda direita do RMRD
θe Posição angular da roda esquerda do RMRD
Pr Ponto de referência da técnica Look-Ahead localizado à frente do ponto Po
xr Posição do ponto Pr no eixo x
yr Posição do ponto Pr no eixo y
x Vetor de variáveis de estado
vd Velocidade linear da roda direita do RMRD
ve Velocidade linear da roda esquerda do RMRD
τd Torque referente à roda direita do RMRD
τe Torque referente à roda esquerda do RMRD
Vad Tensão de armadura referente ao motor CC direito
Vae Tensão de armadura referente ao motor CC esquerdo
ea Força contra eletromotriz
Va(max) Tensão máxima aplicada nos terminais do motor CC
Va(min) Tensão de limiar da descontinuidade zona morta do atuador
yd Trajetória desejada: vetor de variáveis de posição desejadas para o seguimento
de trajetória
xd Posição desejada no eixo x
yd Posição desejada no eixo y
ex Erro de posição em x referente ao seguimento de trajetória
ey Erro de posição em y referente ao seguimento de trajetória
λj j-ésimo multiplicador de Lagrange
b Distância entre cada roda motorizada e o ponto Po
rd Raio da roda direita do RMRD
re Raio da roda esquerda do RMRD
m Massa do RMRD
I Momento de inércia do RMRD com relação ao eixo vertical que passa por Po
Ir Momento de inércia efetivo referente a cada roda motorizada e seu respectivo
rotor com relação aos seus eixos de rotação
Ra Resistência de armadura do motor CC
B Coeficiente de atrito viscoso
Kτ Constante de torque do motor CC
Ka Constante de tensão do motor CC
Tv Constante de tempo associada ao movimento de translação pura do protótipo
Tφ Constante de tempo associada ao movimento de rotação pura do protótipo
L Distância de Look-Ahead: distância entre os pontos Po e Pr
k0 Ganho proporcional referente ao erro de posição
k1 Ganho integrativo referente ao erro de velocidade
Kenc Constante do encoder
sent.rot. Variável de sentido de rotação para as rodas motorizadas
Fobj Função objetivo do algoritmo de otimização Firefly
Lista de Siglas e Abreviaturas

AOB Active Observer


ARM Advanced RISC Machine
CC Corrente Contínua
CCI Centro de Curvatura Instantâneo
CI Circuito Integrado
CPU Central Processing Unit
DC Duty Cycle
fcem Força Contra Eletromotriz
GPIO General Purpose Input/Output
I2C Inter-Integrated Circuit
IDE Integrated Development Environment
LAN Local Areal Network
LED Light Emitting Diode
MIMO Multi-Input Multi-Output
PC Personal Computer
PD Proporcional Derivativo
PI Proporcional Integral
PID Proporcional Integral Derivativo
PWM Pulse-Width Modulation
RAM Random Access Memory
RL Realimentação Linearizante
RMR Robô Móvel com Rodas
RMRD Robô Móvel com Rodas Diferencial
SISO Single-Input Single-Output
SMC Sliding Mode Controller
SPI Serial Peripheral Interface
SO Sistema Operacional
SSH Secure Shell
USB Universal Serial Bus
Capítulo 1

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.

(a) (b) (c)


Figura 1.1: Exemplos de RMRs. (a) MiR200, (b) Patrolis e (c) Pioneer 3-DX.
Fonte: (a) (Mobile Industrial Robots A/S, 2020). (b) (Segurança Eletrônica, 2018).
(c) (Adept Technology Inc., 2011)

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.

1.1 Navegação de Robôs Móveis

A função de um robô móvel consiste em executar tarefas designadas se movendo de um


local a outro dentro de um ambiente conhecido ou desconhecido e levando em consideração os
dados obtidos de seus sensores. O contexto que envolve a execução de tarefas e o planejamento
de movimento é referido na robótica como navegação do robô móvel (Rubio et al., 2019). A
navegação envolve vários processos que também são abordados de forma individual como áreas
de conhecimento e de estudo dentro da robótica móvel. Esses processos incluem: cognição das
tarefas designadas, planejamento de caminho, controle de movimento do robô, percepção e
sensoriamento do ambiente, localização e construção de mapa do ambiente (Siegwart et al.,
2011). Estas áreas de estudo são organizadas e relacionadas como ilustrado na Figura 1.3.
Tarefa/missão desejada

Cognição; Caminho Atuadores


Controle de
Planejamento
movimento
de caminho
Mapa global; Ambiente do
Posição mundo real
Localização; Dados Sensoriamento Sensores
Construção
e percepção
de mapa

Figura 1.3: Organização geral das operações de um robô móvel autônomo para sua navegação.
Fonte: (Tzafestas, 2018).

Assim, segundo Tzafestas (2018), um robô autônomo deve:

• utilizar seus sensores para obter dados do ambiente (percepção);


• calcular e conhecer, a partir dos dados dos sensores, sua posição e configuração no ambi-
ente (localização);
• decidir suas ações para executar a tarefa desejada/designada, com auxílio de um modelo
ou mapa do ambiente e considerando sua localização (cognição);
• definir como se deslocar ao destino desejado (planejamento de caminho);
• e, por fim, a partir do caminho planejado, calcular os sinais de controle, como forças e
torques, a serem aplicados nos atuadores, os quais tracionam o robô para seguir o caminho
desejado (controle de movimento).

O processo de localização não inclui somente conhecer a posição absoluta do veículo,


mas também sua posição relativa a um objeto ou mesmo sua posição com relação ao mapa
21

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).

1.1.1 Controle de Movimento de RMRs

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

Figura 1.4: Diagrama simplificado da estrutura de controle unificada.


Fonte: Adaptado de (Al-Mutib et al., 2015).

De acordo com a Figura 1.4, as variáveis xd , yd φd da trajetória desejada são utilizadas


como referência para o controlador, o qual entrega a força fv e o torque τw a serem aplicados
no RMR para realizar a trajetória. Dependendo do RMR utilizado, as variáveis fv e τw devem
ser traduzidas, através do modelo do RMR, em sinais respectivos a cada uma de suas rodas sob
atuação, no caso do RMRD, o torque nas rodas direita e esquerda.
Por sua vez, quando a estrutura é separada, dois controladores são aplicados em cascata
e atuam de maneira individual e separada em cada um dos modelos (Chwa, 2010). A estrutura
separada também é referida como backstepping. Na técnica backstepping, as velocidades linear
e angular desejadas do robô, resultantes de um controlador cinemático, são utilizadas como
referência para um controlador dinâmico (Tzafestas, 2014). Na Figura 1.5 é ilustrada a estrutura
separada, onde vc e wc são, nesta ordem, os sinais de controle de velocidade linear e velocidade
angular, provenientes do controlador cinemático.
𝑥𝑑 𝑥 𝑥
𝑦𝑑 𝑣𝑐 𝑓𝑣 𝑣 𝑦 𝑦
𝜙𝑑 𝜔𝑐 𝜏𝜔 𝜔 𝜙 𝜙
Trajetória Controlador Controlador Modelo 1 Modelo 1
+_ +_ Saída
desejada cinemático dinâmico dinâmico 𝑠 cinemático 𝑠

Figura 1.5: Diagrama simplificado da estrutura de controle separada.


Fonte: Adaptado de (Chwa, 2010).

De acordo com a Figura 1.5, as variáveis xd , yd φd da trajetória desejada são utilizadas


como referência para um controlador cinemático, o qual computa os sinais de controle de ve-
locidades linear vc e angular wc . Estes sinais de controle, por sua vez, são utilizados como
referência para um controlador dinâmico, o qual entrega a força fv e o torque τw a serem apli-
cados no RMR para o seguimento de trajetória.
Os robôs móveis com rodas são sistemas MIMO (Multi-Input Multi-Output) e, além disso,
normalmente são subatuados, ou seja, têm menos entradas de controle do que variáveis de
estado (Tzafestas, 2014). RMRs também são sistemas não lineares e, dependendo do tipo do
robô, podem apresentar restrições não holonômicas (Sarkar et al., 1994), isto é, restrições de
velocidade, como no caso do RMRD que, apesar de ser capaz de alcançar qualquer postura
(posição e orientação) no plano cartesiano, não pode se mover lateralmente. Neste sentido, as
estratégias de controle de movimento propostas na literatura são desenvolvidas para atender a
essas características dos robôs móveis.
23

Vários trabalhos empregam controladores não lineares embasados na teoria de Lyapunov,


requeridos para as não linearidades existentes no modelo cinemático do RMRD. Em resumo, um
controlador de velocidade (linear e angular do robô) é projetado para fazer os erros de posição
convergirem a zero assintoticamente. Como exemplo, tem-se os trabalhos de Kanayama et al.
(1990), Sousa et al. (2016), Fateh & Arab (2015), Esmaeili et al. (2017) e Sánchez et al. (2018).
Em todos esses trabalhos, esta estratégia é utilizada para a tarefa de seguimento de trajetória.
Outra estratégia de controle muito empregada é a Realimentação Linearizante (RL). Essa
estratégia consiste em, a partir de uma realimentação de estados, linearizar parcial ou comple-
tamente um sistema não linear (Slotine & Li, 1991). É comum, também, a técnica Look-Ahead
ser considerada juntamente com a realimentação linearizante. A técnica Look-Ahead (Yun &
Yamamoto, 1992) consiste em deslocar o ponto de referência do veículo à sua frente. Essa
modificação é realizada para contornar o problema referente às restrições não holonômicas. As
coordenadas desse ponto de referência são escolhidas como a saída do sistema que representa o
robô. Alguns exemplos de autores que introduziram a RL nos RMRs e desenvolveram a técnica
Look-Ahead são Yun & Yamamoto (1992) e D’andréa-Novel et al. (1995).
Dentre outros trabalhos que utilizaram a RL, pode-se citar, também: Khooban (2014),
que aplica a RL na estrutura unificada composta pela da cinemática e dinâmica; Diaz & Kelly
(2016) e Ortigoza et al. (2016), que aplicam a RL no modelo cinemático do RMRD; e Alves
(2018), que aplica a RL no modelo dinâmico, no qual inclui também a dinâmica dos atuadores.
A realimentação linearizante, entretanto, tem algumas limitações. Como ela é uma abor-
dagem embasada no modelo a ser linearizado, não é necessariamente robusta, e pode ser muito
sensível diante de incertezas paramétricas, dinâmicas não modeladas e perturbações (Nijmeijer
& Schaft, 1990; Slotine & Li, 1991). Por isso, a realimentação linearizante também é vista
como uma estratégia de simplificação de modelo. Assim, é comum a sobreposição de outras
estratégias de controle no sistema linear obtido, como uma etapa secundária do projeto de con-
trole.
Desta forma, outras técnicas de controle também são aplicadas nos RMRs, buscando lidar
com problemas como: incertezas paramétricas, que podem ser causadas por medições impre-
cisas dos parâmetros do modelo do robô; variação de parâmetros no tempo, que pode ocorrer
devido à carga e descarga de objetos no chassi do robô; e incertezas não paramétricas, como
dinâmicas não modeladas e perturbações externas (Shojaei et al., 2010). Entre essas técnicas
se incluem o controle adaptativo, controle preditivo, controle por modos deslizantes, bem como
técnicas inteligentes voltadas para aprendizagem, como por exemplo, redes neurais e lógica
fuzzy (Tzafestas, 2018; Rubio et al., 2019). Além disso, frequentemente essas técnicas são uti-
lizadas em conjunto, buscando um desempenho melhor na realização da tarefa designada ao
robô. Também, quando são considerados ambos modelos, cinemático e dinâmico, técnicas dis-
tintas são muitas vezes dispostas em cascata, atuando individualmente em cada modelo. Vários
trabalhos desenvolvidos nesse contexto são apresentados a seguir, os quais tratam do problema
de controle de seguimento de trajetória.
24

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.

1.2 Sistema Mecatrônico de RMRs

Um sistema mecatrônico consiste na integração sinérgica dos subsistemas mecânico, ele-


trônico e de processamento de informação (Janschek, 2012). Nos RMRs, esses subsistemas
envolvem os atuadores, como motores para tração ou esterçamento das rodas, sensores e de-
mais elementos eletrônicos relacionados ao acionamento dos atuadores e ao sensoriamento. O
subsistema de processamento de informação corresponde ao cérebro do sistema mecatrônico
25

e é formado por hardware, software, estratégia de controle e demais algoritmos (Boukas &
Al-Sunni, 2012).

1.2.1 Sistema de Atuação

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).

1.2.2 Sistema de Sensoriamento

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

O posicionamento absoluto, por sua vez, é proporcionado por sensores exteroceptivos.


Algumas estratégias utilizadas no posicionamento absoluto envolvem a inserção de três ou mais
transmissores em posições conhecidas no ambiente, que exercem a função de sinalizadores e
pontos de referência, e a inserção de um receptor no robô. Com isso, o posicionamento do robô
pode ser determinado pela técnica de trilateração, onde é realizada a medição da distância entre
o receptor e cada transmissor, ou pela técnica de triangulação, no qual o receptor fixado no
robô pode ser direcionado, possibilitando medir o ângulo em que se encontra cada transmissor
quando detectado pelo receptor. De forma contrária, um transmissor pode ser fixado no robô e
os receptores inseridos no ambiente (Tzafestas, 2014).
Outra estratégia existente para o posicionamento absoluto é a instalação de uma ou mais
câmeras acima do espaço de movimentação do RMR (por exemplo, no teto) e direcionadas para
baixo. Nessa técnica, a determinação da posição e orientação do veículo no plano cartesiano é
realizada por processamento de imagem. Alguns trabalhos que utilizam essa técnica de posicio-
namento são: Kim & Oh (1999), que obtém dados de posição por uma câmera e, sobre o RMR,
é fixado um marcador para ser identificado no processamento de imagem; Luca et al. (2002),
que calcula a posição e orientação do RMR a partir do processamento de imagem de uma câ-
mera, em que três LEDs (Light Emitting Diode) são posicionados sobre o robô nos vértices de
um triângulo isósceles que aponta para a parte dianteira do veículo; e Villegas et al. (2019),
que estima a posição e orientação a partir de um sistema de visão formado por seis câmeras e
marcadores refletivos sobre o robô.

1.2.3 Arquitetura Experimental e Implementação dos Sistemas de Controle

Em geral, os sistemas de controle e o processamento de informação no sistema meca-


trônico são realizados em um ou mais microcomputadores. Dessa forma, os microcomputa-
dores, na função de unidade de processamento de informação do sistema mecatrônico, devem
apresentar, entre suas principais características, capacidade de processamento em tempo real e
interfaces de entrada e saída de sinais (Isermann, 2005). No contexto dos RMRs, tais interfaces
proporcionam, em resumo, o recebimento de sinais provenientes dos sensores e a transmissão
dos sinais de controle para os atuadores. Como unidades de processamento de protótipos expe-
rimentais de baixo custo do RMRD, é comum o emprego de microcontroladores (Fateh & Arab,
2015; Chen et al., 2018), plataformas de prototipagem embasadas em microcontroladores (por
exemplo, as plataformas Arduino) (Mu et al., 2017), microprocessadores (Goswami & Padhy,
2018) e até PCs portáteis (Oriolo et al., 2002; Huang et al., 2020). Geralmente, os sistemas de
controle dos RMR são implementados em tempo contínuo nas unidades de processamento do
robô. Entretanto, como as unidades de processamento são computadores digitais, é realizada,
em alguns trabalhos, a discretização dos controladores, principalmente quando são especifica-
dos períodos de amostragem relativamente altos nos experimentos práticos (Coelho & Nunes,
2005; Rossomando & Soria, 2015; Nguyen et al., 2019).
29

Em conjunto com a unidade de processamento embarcada no protótipo, normalmente é


utilizado um computador de mesa, o qual contém o software para o projeto, desenvolvimento
e implementação dos sistemas de controle e para demais programações. A conexão entre o
computador e a unidade de processamento no robô é realizada por algum protocolo de comuni-
cação sem fio, como Bluetooth (Chen et al., 2018), Zigbee (Fateh & Arab, 2015) ou com uma
rede LAN (Local Areal Network), dedicada para a comunicação entre os dois dispositivos, na
qual a conexão ocorre através de um roteador ou outro equipamento de rede (Roy et al., 2017;
Goswami & Padhy, 2018).
Além de comportar o software para o desenvolvimento e configuração da estratégia de
controle, o computador de mesa também exerce a função de interface entre o usuário e o robô.
Essa interface pode ser usada, por exemplo, para a configuração e o envio da trajetória dese-
jada e de condições e estados iniciais. Ela também possibilita a supervisão e o monitoramento
durante a execução da trajetória através do recebimento de informações do robô (Sousa et al.,
2016; Mu et al., 2017; Chen et al., 2018; Goswami & Padhy, 2018). Em outros casos, o com-
putador de mesa também é responsável pela execução do sistema de controle de movimento,
enviando, em tempo real, os sinais de controle para o microcomputador contido no robô. Nesse
caso, o microcomputador é responsável pelo processamento e envio dos sinais dos sensores ao
computador de mesa, pelo processamento e envio dos sinais de controle provenientes do compu-
tador de mesa ao sistema de atuação do robô e, em alguns casos, responsável por implementar
estratégias de controle de níveis mais baixos, como o controlador de velocidade PID (Oriolo
et al., 2002; Shojaei et al., 2011; Roy et al., 2017).

1.3 Justificativa

Em vários trabalhos práticos, a arquitetura experimental e as estratégias de controle são


utilizadas com protótipos de baixo custo desenvolvidos pelos próprios autores. Por outro lado,
há trabalhos nos quais, em vez de protótipos de baixo custo, são utilizados robôs de pesquisa
comerciais, como o RMRD Pioneer 3-DX mostrado na Figura 1.1 (c). Contudo, os RMRs
comerciais, em geral, apresentam uma arquitetura fechada e sua entrada de controle é restrita
às velocidades linear e angular desejadas do robô, isto é, não aceitam, por exemplo, os sinais de
torque calculado para as rodas ou tensão calculada para os motores como entrada (Shojaei et al.,
2011). Além disso, eles têm controladores PID para o controle de velocidade de cada motor CC,
que calculam as velocidades de referência dos motores a partir das velocidades linear e angular
desejadas geradas pelo controle de movimento (Martins et al., 2017; Begnini et al., 2018). É
comum, especialmente quando são utilizados robôs comerciais, o projeto de controladores de
movimento que gerem as velocidades linear e angular como sinais de controle (Taheri-Kalani
& Khosrowjerdi, 2014).
Como motivação, busca-se nesse trabalho dominar com certa profundidade e abordar na
30

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.

1.4 Objetivos do Trabalho

O presente trabalho tem como objetivo geral o desenvolvimento de um protótipo de


RMRD com arquitetura aberta, no qual seja possível a implementação e teste de estratégias
de controle de movimento. O protótipo consiste em um sistema mecatrônico, compreendendo,
portanto, elementos mecânicos, eletrônicos e unidades de processamento de informação, as
quais contêm o sistema de controle e demais algoritmos. Visando atender o objetivo geral, são
listados os objetivos específicos:

• Realizar estudo sobre os modelos cinemático e dinâmico do RMRD;


• Realizar estudo sobre as estratégias de controle empregadas em RMRs, em especial a
realimentação linearizante, e definir dois sistemas de controle distintos, embasados na
realimentação linearizante, a serem testados no protótipo;
• Construir o protótipo do RMRD, o qual consiste no conjunto formado pelos sistemas
mecânico, elétrico e eletrônico, pelo sistema de controle de movimento e pelos demais
algoritmos responsáveis pela transformação de sinais de controle em sinais adequados
para os atuadores do protótipo bem como responsáveis pela obtenção das variáveis de
estado a partir das informações dos sensores do protótipo;
• Realizar simulações e ensaios experimentais com o protótipo, avaliar o desempenho do
protótipo em conjunto com cada um dos sistemas de controle definidos e comparar os
resultados de simulação com resultados experimentais.
• Avaliar aspectos de construção do protótipo, como os elementos físicos de atuação e
sensoriamento e as unidades de processamento utilizadas, bem como avaliar técnicas im-
plementadas, como os algoritmos e lógicas empregados nos sistemas de atuação e senso-
riamento.
31

1.5 Organização da Dissertação

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

Modelo Matemático do RMRD

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.

2.1 Conceitos Iniciais

A área de estudo da mecânica trata, basicamente, da modelagem matemática de sistemas


mecânicos. Tal área pode ser ramificada nas subáreas “cinemática”, “dinâmica estática” e “di-
nâmica cinética” (Janschek, 2012), como ilustrado na Figura 2.1. Na cinemática, estuda-se o
movimento de pontos e corpos no espaço, que inclui deslocamentos, velocidades e acelerações
translacional e rotacional, sem considerar as forças e torques que causam esses movimentos, ou
a energia envolvida. Isto é, a cinemática considera somente o aspecto geométrico. Na dinâmica
cinética, no entanto, estuda-se a ação mútua entre os movimentos translacional e rotacional e a
existência de forças e torques. A dinâmica estática também leva em conta a aplicação de forças
e torques, porém em um ponto ou corpo estacionário, em estado de equilíbrio (Isermann, 2005).

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).

𝜙𝑧

𝑧
𝑦
𝑥

𝜙𝑥 𝜙𝑦

Figura 2.3: Representação esquemática dos seis graus de liberdade.


Fonte: Adaptado de (Billingsley, 2006).

2.2 Modelo Cinemático

O modelo cinemático de um RMR descreve uma relação entre as coordenadas generali-


zadas qR no espaço das juntas, referente aos eixos de rotação e esterçamento das rodas, e as
coordenadas generalizadas qI no espaço de trabalho, usualmente disposto em um ponto fixo no
ambiente em que o veículo se encontra. O espaço das juntas é considerado como o referencial
local (ao robô) e o espaço de trabalho é o referencial inercial (Siegwart et al., 2011). A rela-
34

çã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)

q̇R = J−1 q̇I (2.2)

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, q̇, t) = 0 (2.3)

a qual é função das coordenadas generalizadas q, das velocidades generalizadas q̇ e do tempo


t, onde q e q̇ têm dimensão n. Caso tal restrição possa ser convertida em:

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)

2.2.1 Modelo Cinemático do RMRD

O modelo cinemático do RMRD considerado para este trabalho é fundamentado em Tza-


festas (2014). O RMRD contém duas rodas fixas (e motorizadas) acopladas uma em cada lado
do chassi, com seus eixos de rotação alinhados. O robô também tem duas rodas castor (de au-
toalinhamento não motorizadas) para proporcionar um equilíbrio estável para toda a estrutura.

𝜙ሶ 𝑃𝑟 (𝑥𝑟 ,𝑦𝑟)
𝑦
𝑃𝑟 𝑣𝑒
𝑧
𝜙 𝑣𝑜
𝑦𝑜 𝜃ሶ𝑒
𝑃𝑜 𝑃𝑜 (𝑥𝑜 ,𝑦𝑜 )
𝑣𝑑

𝜃ሶ𝑑
𝑥 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

onde qI = [ xo yo φ ]T e qR = [ θd θe ]T . No espaço de trabalho (referencial inercial


Oxy), xo e yo são as coordenadas do ponto Po central entre as rodas motorizadas e φ é o ângulo
de orientação do robô em torno do eixo z. No espaço das juntas, θd é a posição angular da roda
direita e θe a posição angular da roda esquerda. O modelo cinemático direto do RMRD é dado
pela seguinte expressão:
    
ẋo cos φ −sen φ 0 ẋoR
 ẏo  =  sen φ cos φ 0   ẏoR  (2.7)
    

φ̇ 0 0 1 φ̇

onde ẋoR e ẏoR são, respectivamente, a velocidade linear em xR e a velocidade linear em yR ,


isto é, no referencial do robô Po xR yR , conforme a Figura 2.4, e a matriz corresponde à matriz
de rotação. Considerando ainda a Figura 2.5, essas variáveis de velocidade podem ser escritas
em função da velocidade linear da roda direita vd e esquerda ve :
   
1
ẋoR + 12 ve
v
2 d
 ẏoR  =  0 (2.8)
   

1 1
φ̇ v − 2b ve
2b d

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

velocidades no espaço de trabalho q̇I = [ ẋo ẏo φ̇ ]T :


   
1 1
ẋo r cos φ
2 d
r cos φ
2 e
" #
  1 1 θ̇d
 ẏo  =  2 rd sen φ r sen φ (2.10)
 
2 e 
1 1 θ̇e
φ̇ r
2b d
− 2b re

ou, em uma forma mais compacta:


q̇I = Jq̇R

2.2.2 Restrições Cinemáticas do RMRD

O equacionamento das restrições cinemáticas do RMRD é realizado aqui segundo Si-


egwart et al. (2011) e Yun & Yamamoto (1992). Assim, duas são as restrições de movimento
que podem existir nos tipos de roda empregados nos RMRs. A primeira restrição diz respeito à
não derrapagem lateral e a outra ao não deslizamento longitudinal da roda. Tais conceitos são
analisados a seguir para os dois tipos de roda empregados no RMRD considerado neste traba-
lho: a roda castor e, em especial, a roda fixa, que impõe de fato as restrições cinemáticas ao
robô. Os aspectos construtivos das rodas são ilustrados na Figura 2.6.

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)

A restrição de não deslizamento longitudinal estabelece que todo movimento na direção


da velocidade linear v deve acompanhar uma quantidade condizente de movimento rotacional,
de modo a existir um rolamento puro no ponto de contato com o chão, conforme a equação
(2.12):
ẋ cos φ + ẏ sin φ = rθ̇ (2.12)

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)

Para a restrição de não deslizamento longitudinal de cada roda motorizada acoplada ao


chassi, as equações (2.14) e (2.15) são obtidas somando e subtraindo o termo bφ̇, respectiva-
mente, à equação (2.12):
ẋo cos φ + ẏo sin φ + bφ̇ = rd θ̇d (2.14)

ẋo cos φ + ẏo sin φ − bφ̇ = re θ̇e (2.15)

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

O procedimento para descobrir quais restrições são holonômicas ou não-holonômicas é


apresentado de forma breve neste trabalho e está baseado em Yun & Yamamoto (1992). Primei-
ramente, é definida uma matriz S(q)n×(n−m) formada por dois (n − m = 5 − 3) vetores coluna
linearmente independentes que estão no espaço nulo de A(q), ou seja, A(q)S(q) = 0, onde n é
o número de coordenadas generalizadas do vetor (2.6) e m é o número de restrições. Assim:
39

 
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

O número de restrições holonômicas e não-holonômicas é determinado pela involutivi-


dade do espaço gerado span { s1 (q), s2 (q) } (ver Apêndice A.3), através de algumas fer-
ramentas matemáticas referentes sistemas não lineares e a conceitos de álgebra linear, como
por exemplo, o teorema de Frobenius e os conceitos de Lie Bracket (Tzafestas, 2014; Yun &
Yamamoto, 1992). Assim, é possível constatar que há duas restrições não-holonômicas e uma
holonômica. A primeira restrição não-holonômica é a própria equação (2.13). A segunda é
obtida pela soma das equações (2.14) e (2.15) e expressa como:
rd re
ẋo cos φ + ẏo sin φ = θ̇d + θ̇e (2.18)
2 2

A restrição holonômica é obtida pela subtração das equações (2.14) e (2.15). Dessa forma:

2bφ̇ = rd θ̇d − re θ̇e (2.19)

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)

Segundo Janschek (2012), a existência de restrições holonômicas indica que há coordena-


das generalizadas redundantes, no caso a coordenada φ, que pode ser determinada através das
coordenadas θd e θe e isolando o termo φ na equação (2.20):
rd re
φ= θd − θe (2.21)
2b 2b

Retirando a coordenada φ do vetor (2.6) se obtém um vetor de coordenadas independen-


tes, de dimensão n igual a quatro, denominada de coordenadas mínimas:
h iT
q= xo yo θd θe (2.22)

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

2.3 Modelo Dinâmico

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

para i = ( 1, · · · , n ), onde n é o número de coordenadas generalizadas. Na equação (2.24),


qi é a coordenada generalizada, fi é a força generalizada, ou seja, força para movimento de
translação e torque para movimento de rotação, aji é o elemento definido na equação (2.5) re-
ferente às restrições, e λj o multiplicador de Lagrange (Janschek, 2012). Os multiplicadores
de Lagrange, quanto ao seu significado físico, representam as forças aplicadas no sistema para
atender às condições das restrições, isto é, as forças requeridas para manter as restrições (Golds-
tein et al., 2002). Quando um sistema não tem restrições, a formulação de Lagrange se resume
aos três primeiros termos da equação (2.24). A função de Lagrange L é definida como sendo:

L = Ek − Ep (2.25)

onde Ek é a energia cinética total e Ep a energia potencial total do sistema (Isermann, 2005).

2.3.1 Modelo Dinâmico do RMRD

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

para i = ( 1, · · · , n ) com n = 4, isto é, número de coordenadas do vetor (2.22), necessárias


para definir a configuração do RMRD. A energia cinética total Ek do RMRD, composto pelo
chassi e as duas rodas, é dada por:

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

onde o parâmetro m é a massa total do RMRD, Ir é o momento de inércia efetivo referente


a cada roda motorizada e seu respectivo rotor com relação aos seus eixos de rotação, I é o
momento de inércia total do RMRD com relação ao eixo vertical que passa por Po , rd e re o
raio das rodas direita e esquerda, nesta ordem, e b a distância entre cada roda motorizada e o
ponto Po . Assim, na equação (2.27), o primeiro termo à direita da igualdade se refere à energia
cinética de translação total do RMRD, o segundo termo à energia cinética de rotação das duas
rodas com relação aos seus eixos de rotação e o terceiro termo à energia cinética de rotação do
RMRD com relação ao eixo z. Substituindo a equação (2.27) na equação (2.26), obtém-se:

i=1 → mẍo = −(sen φ)λ1 − (cos φ)λ2


i=2 → mÿo = (cos φ)λ1 − (sen φ)λ2
(2.28)
i=3 → (Icd + Ir )θ̈d − Ice 2 θ̈e
2
= τd + 12 rd λ2
i=4 → (Ice 2 + Ir )θ̈e − Icd 2 θ̈d = τe + 12 re λ2

onde τd e τe são os torques aplicados em cada roda motorizada. Em formato de matriz, a


expressão (2.28) se torna:
      
m 0 0 0 ẍo 0 0 " # sen φ cos φ " #
 0 m 0 0  ÿo   0 0  τ  − cos φ sen φ  λ
d 1
= − (2.29)
      
Icd 2 + Ir −Ice 2 − 12 rd
   
 0 0  θ̈d   1 0  τe  0  λ2
0 0 −Icd 2 Ice 2 + Ir θ̈e 0 1 0 − 12 re

ou, em uma forma mais compacta:

M(q)q̈ = E(q)τ − A(q)T λ (2.30)

em que M(q)n×n (4×4) é a matriz de inércia, E(q)n×p (4×2) é a matriz de transformação de


entrada, τ o vetor de entrada, como os torques nas rodas, de dimensão p = 2, λ o vetor de
multiplicadores de Lagrange de dimensão m = 2 e A(q)m×n (2×4) a matriz de restrições não-
holonômicas. Segundo Sarkar et al. (1994), a matriz E(q) é composta somente por 0 e 1 neste
caso, pois as variáveis no referencial do robô são as próprias variáveis das juntas (θ̇d e θ̇e ).
42

2.3.2 Equações de Estados

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

e, como A(q)q̇ = 0, a matriz S(q) pode ser definida como sendo:

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:

q̈ = S(q)η̇ + Ṡ(q)η (2.34)

Substituindo a equação (2.34) na equação (2.29) e multiplicando ambos os lados da equa-


ção (2.29) por S(q)T , obtém-se:
 
S(q)T M(q) S(q)η̇ + Ṡ(q)η = I2×2 τ (2.35)

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

η̇ = −(ST MS)−1 (ST MṠη) + (ST MS)−1 τ (2.36)

Definindo o vetor de estados como:


" #
q h iT
x= = xo yo θd θe θ̇d θ̇e (2.37)
η

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):

τ = α(x) + β(x)u = (ST MṠη) + (ST MS)u (2.39)

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)

Na Figura 2.7 é ilustrado o diagrama de blocos do sistema em malha fechada obtido.


Campion et al. (1991) também argumenta que esta realimentação de estados reduz o sistema
(2.38) na forma mais simples (2.40) a qual depende somente das restrições não-holonômicas.

Equação (2.40)

𝒙ሶ = 𝒇 𝒙 + 𝑮 𝒙 𝒖
Equação (2.39) Equação (2.38)
𝒖 𝝉 𝒙ሶ 1 𝒙
𝝉 = 𝜶(𝒙) + 𝜷 𝒙 𝒖 𝒙ሶ = 𝒇𝑎 (𝒙) + 𝑮𝑎 (𝒙)𝝉
𝑠

(𝜃𝑑 , 𝜃𝑒 , 𝜃ሶ 𝑑 , 𝜃ሶ𝑒 ) (𝜃𝑑 , 𝜃𝑒 , 𝜃ሶ 𝑑 , 𝜃ሶ𝑒 )

Figura 2.7: Realimentação para o cancelamento de não linearidades referentes à dinâmica.


Fonte: Adaptado de (Khooban, 2014).
Capítulo 3

Controle por Realimentação Linearizante

Neste capítulo é apresentada a técnica denominada Realimentação Linearizante, ou Li-


nearização por Realimentação (Feedback Linearization), a qual consiste em uma técnica de
controle para sistemas não lineares, que lineariza o sistema parcial ou completamente através
da realimentação de estados (Slotine & Li, 1991). Também, são apresentados dois sistemas de
controle embasados na realimentação linearizante para o problema de seguimento de trajetória.
A primeira abordagem de controle, descrita na Subseção 3.2.2, é motivada no trabalho de Diaz
& Kelly (2016), que modela somente as características cinemáticas do RMRD. A segunda abor-
dagem de controle, similar à primeira e descrita na Subseção 3.2.3, é motivada no trabalho de
Khooban (2014), no qual, além da cinemática, são modeladas as características dinâmicas do
robô diferencial, como exposto na Subseção 2.3.1. Portanto, espera-se uma eficiência menor da
primeira abordagem em comparação à segunda, principalmente quando se trabalha com robôs
de massa elevada e/ou em velocidades altas (Shojaei et al., 2010). Assim, é explorado mais o
resultado dos trabalhos que desenvolveram o controle linearizante para o modelo do RMRD.

3.1 Conceitos Preliminares

A Realimentação Linearizante (RL) é caracterizada como uma estratégia para controle de


sistemas não lineares. A ideia principal é, a partir de uma realimentação de estados não linear,
fazer com que a dinâmica do sistema (não linear) em malha fechada seja linear. Dependendo
do tipo de sistema existem duas formas de linearização que podem ser empregadas. A primeira
forma, mais geral, torna possível a linearização completa, ou seja, da entrada para todos os
estados e, por isso, é chamada de linearização entrada-estado. A segunda forma torna possível
apenas uma linearização parcial pois, nesse caso, ocorre entre a entrada e a saída do sistema,
portanto, é chamada de linearização entrada-saída (Slotine & Li, 1991).
A seguir, são apresentadas ferramentas preliminares para a realimentação linearizante e
formulações matemáticas referentes à linearização entrada-saída, a qual é utilizada neste traba-
lho. Fundamentados em Slotine & Li (1991), Isidori (1995) e Hangos et al. (2004), os concei-
tos e formulações são: a Derivada de Lie, como uma ferramenta matemática; o Grau Relativo,

44
45

como uma propriedade geométrica; e as formulações para a linearização entrada-saída em sis-


temas Single-Input Single-Output (SISO) e Multiple-Input Multiple-Output (MIMO).

3.1.1 Derivada de Lie

Considerando uma função escalar h(x) ∈ R e um campo vetorial f(x) ∈ Rn , ambos


infinitamente diferenciáveis, a derivada de Lie é uma função escalar escrita como Lf h, dada
pelo gradiente de h na direção do vetor f, representada na equação abaixo:

∂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

3.1.2 Grau Relativo

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)

e calculando a derivada primeira da saída:

∂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)

Lg Lf r−1 h(xo ) 6= 0 (3.3)

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:

y (r) = Lf r h(x) + Lg Lf r−1 h(x)u (3.4)

3.1.3 Linearização em sistemas SISO

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)

Assim, o sistema 3.1 é transformado em um sistema parcialmente linear (quando r < n)


com comportamento entrada-saída igual a uma cadeia de integradores, isto é, com função de
transferência:
1
H(s) = r (3.7)
s

3.1.4 Linearização em sistemas MIMO

Em sistemas MIMO, a linearização entrada-saída é alcançada de forma similar aos siste-


mas SISO. Assumindo o sistema não linear, MIMO e afim na entrada:

ẋ = 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 q é a quantidade de variáveis de saída, p é a quantidade de variáveis de entrada e n é a


quantidade de variáveis de estado e, considerando que o sistema (3.8) permite a linearização
entrada-saída, as condições (3.2) e (3.3) são analisadas para cada elemento do vetor de saída
y = [ h1 . . . hq ]T , de modo que, ao final, encontra-se um vetor de graus relativos ( r1 , . . . , rq )
bem definidos em um ponto xo . Ainda, o escalar r = r1 + . . . + rq pode ser calculado, e
é denominado como grau relativo total. Cada grau relativo ri (com i = 1, . . . , q) é definido
como o menor número inteiro necessário para que ao menos uma entrada uj (com j = 1, . . . , p)
surja em yi (ri ) , isto é, Lgj Lf ri −1 hi (xo )uj 6= 0 para ao menos um j. A derivada de ordem ri da
equação de saída yi é, então, definida como:
p
X
yi (ri ) ri
= Lf hi + Lgj Lf ri −1 hi uj (3.9)
j=1

e, realizando esse procedimento para cada saída yi , obtém-se:


  r1 
y1 (r1 )

Lf h1
 ..   ..
 . =  + D(x)u (3.10)

.
yq (rq ) Lf rq hq

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)

A realimentação de estados (3.11) é denominada lei de controle de desacoplamento (tam-


bém equação linearizante) e D(x) denominada matriz de desacoplamento, uma vez que, após a
realimentação, a entrada νi passa a afetar somente a saída yi .
48

3.2 Aplicação da Realimentação Linearizante no RMRD

Conforme Tzafestas (2014), os modelos matemáticos que descrevem os RMRs pertencem


à classe dos sistemas não lineares afins na entrada (Input-Affine Nonlinear Systems). Um sistema
não linear MIMO afim na entrada tem a equação de estados na forma:
p
X
ẋ = f(x) + gj (x)uj (3.13)
j=1

onde x = [ x1 x2 . . . xn ]T é o vetor das variáveis de estado e u = [ u1 u2 . . . up ]T é


o vetor das variáveis de entrada. Esta é a classe de sistemas não lineares na qual é possível apli-
car a realimentação linearizante (Slotine & Li, 1991). A característica que distingue o sistema
afim é a entrada ter uma relação linear com a equação de estados (Hangos et al., 2004). Tal
característica pode ser identificada na equação de estados (2.40) obtida para o RMRD. Neste
sentido, há vários trabalhos que desenvolveram a realimentação linearizante para os robôs mó-
veis com rodas, inclusive quando apresentam restrições não-holonômicas, as quais não podem
ser eliminadas como no caso das restrições holonômicas. Alguns exemplos são os trabalhos de
Campion et al. (1991), Sarkar et al. (1994), D’andréa-Novel et al. (1995) e, especialmente, Yun
& Yamamoto (1992), do qual os principais resultados são apresentados neste trabalho.
Yun & Yamamoto (1992) inicialmente mostra, a partir da condição de involutividade, que
o sistema descrito pela equação (2.40) não pode ser linearizado do ponto de vista entrada-estado.
Esse fato tem relação com a existência das duas restrições não-holonômicas equacionadas em
(2.13) e (2.18). Portanto, o método a ser aplicado consiste na linearização entrada-saída. Se a
equação de saída do modelo no espaço de estados for escolhida como as coordenadas do ponto
Po , ilustrado na Figura 2.5, a linearização entrada-saída pode ser aplicada somente por meio
de uma realimentação de estados dinâmica. A realimentação dinâmica é mais geral e engloba
a realimentação estática, o que a torna mais complexa. Conforme Hangos et al. (2004), a re-
alimentação de estados estática produz uma relação instantânea entre as variáveis de estado e
a entrada, enquanto na realimentação dinâmica são introduzidas dinâmicas adicionais, aumen-
tando o número de variáveis de estado. Deve-se notar que a expressão “dinâmica”, neste caso,
não faz referência com o modelo dinâmico do RMR. Assim, para ser possível a linearização
entrada-saída com realimentação de estados estática, outra equação de saída pode ser escolhida,
como as coordenadas do ponto Pr localizado à frente de Po , também ilustrado na Figura 2.5.
Essa técnica é conhecida como Look-Ahead e é inspirada no comportamento de se observar
um ponto ou região à frente ao conduzir um veículo. Diversos trabalhos foram elaborados utili-
zando essas estratégias, nos quais a maioria dos autores emprega a técnica Look-Ahead e aborda
o problema de seguimento de trajetória. Na Figura 3.1 é ilustrado um organograma destas es-
tratégias e os principais aspectos de trabalhos que as utilizaram. Alguns desses trabalhos são
citados a seguir.
49

[ c ] – Somente modelo cinemático; Kim & Oh (1999) [c,+]


[ d ] – Considera modelo dinâmico; Coelho & Nunes (2005) [d]
[ + ] – Apresenta resultados experimentais; Shojaei et al. (2011) [d,+]
Look-Ahead Lwin & Yamamoto (2012) [c,+]
Khooban (2014) [d]
𝑥𝑟
𝑦= 𝑦 Taheri-Kalani & Khosrowjerdi (2014) [d]
𝑟 Al-Mutib et al. (2015) [d]
Realimentação de Diaz & Kelly (2016) [c]
estados estática Ortigoza et al. (2016) [c]
𝑥𝑜 Capraro et al. (2017) [d,+]
𝑦= 𝑦
Linearização 𝑜 Alves et al. (2018) [d,+]
entrada-saída

Realimentação Realimentação de 𝑥𝑜
Linearizante 𝑦= 𝑦 Oriolo et al. (2002) [ c , + ]
estados dinâmica 𝑜

Linearização
entrada-estado

Figura 3.1: Variantes da realimentação linearizante para o RMRD.

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.

3.2.1 Técnica Look-Ahead para o Seguimento de Trajetória

Neste trabalho, é utilizada a linearização entrada-saída por realimentação de estados es-


tática, que inclui a técnica Look-Ahead, como ilustrado na Figura 3.1. Além disso, o problema
de controle abordado neste trabalho é o seguimento de trajetória. O seguimento de trajetória
consiste em fazer a saída do sistema y(t) = [ xr yr ]T , dada por algum ponto de referência no
robô (xr , yr ), seguir uma trajetória desejada yd (t) = [ xd yd ]T , como ilustrado na Figura 3.2.
Na prática, o robô deve percorrer um caminho geométrico parametrizado no tempo, ou seja,
seguir um “robô fictício” que se move pelo caminho geométrico com o tempo (Vieira, 2005;
Aguiar, 2017).
robô real
𝑦 robô fictício
caminho
𝑃𝑜 geométrico
𝑦𝑑
𝑒𝑦
𝑦𝑟 𝑃𝑟

𝑡
𝑥
𝑂
𝑥𝑟 𝑒𝑥 𝑥𝑑
Figura 3.2: O problema de seguimento de trajetória com a técnica Look-Ahead.
Fonte: Adaptado de (Oriolo et al., 2002).

Na Figura 3.2, ex e ey são os erros de posição nos eixos x e y, respectivamente, entre a


trajetória desejada yd (t) e a saída y(t) do sistema, definidos como ex = xd − xr e ey = yd − yr .
Com base em Sarkar et al. (1994), a equação de saída, que atende a técnica Look-Ahead e a
tarefa de seguimento de trajetória, pode ser escrita como:
51

" # " # " #


h1 xr xo + L cos φ
y = h(x) = = = (3.14)
h2 yr yo + L sen φ
onde xr e yr são as coordenadas do ponto Pr no referencial inercial e L é a distância entre Po e
Pr . Po é o ponto central entre as rodas motorizadas, com coordenadas xo e yo , Pr é o ponto de
referência do robô deslocado a uma distância L de Po e phi a orientação do veículo. Assim, é
obtido o modelo no espaço de estados, que contém ambas características cinemática e dinâmica
do robô, composto pela equação de estados (2.40) e pela equação de saída (3.14).
As Subseções 3.2.3 e 3.2.2 são dedicadas para detalhar a linearização entrada-saída por
realimentação de estados estática aplicada ao RMRD e considerando o problema de seguimento
de trajetória, conforme exposto por Yun & Yamamoto (1992) e utilizado nos trabalhos de Diaz
& Kelly (2016) e Khooban (2014). Na Subseção 3.2.2 é descrito o sistema de controle com
base no modelo cinemático do RMRD, que é resultante da Subseção 2.2.1, e na Subseção 3.2.3
é descrito o sistema de controle com base no modelo cinemático e dinâmico do RMRD que, por
sua vez, é resultante da Subseção 2.3.2.

3.2.2 Controle Embasado no Modelo Cinemático do RMRD

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)

Partindo para os procedimentos de linearização entrada-saída, a derivada primeira de y1 é


dada por:
ẏ1 = Lg h1 u

onde o termo Lg h1 resulta em:

∂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

A derivada primeira do vetor de saída é, desta forma, expressa como:


" # " #" #
Lg h1 cd b cos φ − cd L sen φ ce b cos φ + ce L sen φ θ̇d
ẏ = u= (3.17)
Lg h2 cd b sen φ + cd L cos φ ce b sen φ − ce L cos φ θ̇e

ou, de maneira mais reduzida:


ẏ = Lg h(x)u

A condição expressa na equação (3.3) é cumprida devido Lg h1 (x) 6= 0 e Lg h2 (x) 6= 0 e,


como pode ser observado em (3.17), as duas entradas θ̇d e θ̇e surgiram na derivada primeira de
ambas saídas y1 e y2 . Portanto, o sistema tem grau relativo (r1 , r2 ) = (1, 1) e grau relativo total
r = 2. Comparando a equação (3.17) com (3.10), observa-se que a matriz de desacoplamento é
53

expressa por: " #


cd b cos φ − cd L sen φ ce b cos φ + ce L sen φ
D(x) = (3.18)
cd b sen φ + cd L cos φ ce b sen φ − ce L cos φ
a qual tem determinante diferente de zero e dado por:

det(D) = −2cd ce bL (3.19)

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

Conforme a equação (3.21), y1 é igual à integral de ν1 e y2 é igual à integral de ν2 . Dessa


forma, as entradas de controle ν1 e ν2 são as velocidades desejadas ẋd e ẏd respectivamente, isto
é, as velocidade desejada nos eixos x e y, assim:

ν1 = ẋd
(3.22)
ν2 = ẏd

Caso a técnica Look-Ahead não seja aplicada, resulta que L = 0 e, consequentemente,


det(D) = 0 pela equação (3.19). Desta forma, não é possível linearizar o sistema por realimen-
tação de estados estática caso a equação de saída seja escolhida como o ponto central Po , pois a
lei de controle de desacoplamento (3.20), neste caso, não existe (Yun & Yamamoto, 1992). É in-
teressante notar, também, que a equação (3.20) é 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 velocidades angulares calculadas. Na Figura
3.4 é ilustrado o modelo em blocos que representa o sistema linearizado descrito em (3.21).

Equação (3.20) Equação (3.15) Equação (3.16)


(𝑥ሶ 𝑑 , 𝑦ሶ 𝑑 ) 𝒖 𝒙ሶ 1 𝒙 (𝑥𝑟 , 𝑦𝑟 )
𝝂 𝒖 = 𝑫−1 𝝂 𝒙ሶ = 𝒈 𝒙 𝒖 𝒚 = 𝒉(𝒙) 𝒚
𝑠

𝜙 𝜙

Figura 3.4: Linearização entrada-saída aplicada no modelo cinemático do RMRD.

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

do ponto de referência Pr do RMRD, também no referencial inercial.


Por fim, conforme Diaz & Kelly (2016), ainda é projetado, em uma malha externa, um
controlador linear de seguimento para o sistema linearizado (3.21), sendo que a malha interna
consiste na realimentação de estados para a equação linearizante (3.20). Esse controlador linear
de seguimento consiste em acrescentar termos à equação (3.22) referentes aos erros de posição
ex e ey escolhendo, assim, as novas entradas ν1 e ν2 como:

ν1 = ẋd + k0 ex
(3.23)
ν2 = ẏd + k0 ey

onde k0 é o ganho do controlador, de modo que, ao substituir a equação (3.23) na equação


(3.21), obtém-se a dinâmica do erro de seguimento:

ė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 𝝂 𝒙ሶ = 𝒈 𝒙 𝒖 𝒚 = 𝒉(𝒙)
𝑠

𝜙 𝜙
𝒚ሶ 𝑑

(𝑥𝑟 , 𝑦𝑟 )

Figura 3.5: Controlador linear com a linearização entrada-saída aplicada ao modelo


cinemático do RMRD.

Como ilustrado na Figura 3.5, a saída y = [ xr yr ]T é realimentada para o cálculo do


erro de posição e = [ ex ey ]T a partir da posição desejada yd = [ xd yd ]T . O erro de
posição e a velocidade desejada ẏd = [ ẋd ẏd ]T são utilizados, por sua vez, para o cálculo da
entrada de controle ν = [ ν1 ν2 ]T de acordo com a lei de controle de seguimento (3.23).

3.2.3 Controle Embasado nos Modelos Cinemático e Dinâmico do RMRD

O segundo sistema de controle, embasado em ambos modelos cinemático e dinâmico do


RMRD, é retirado do artigo de Khooban (2014) e intitulado, nesta dissertação, como sistema
de controle dinâmico. O modelo no espaço de estados, dado pelas equações (2.40) e (3.14), é
reproduzido aqui em mais detalhes:
55

   
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

onde os termos Lf h1 e Lg h1 , nessa ordem, são:


 
cos φ (cd bθ̇d + ce bθ̇e )
sen φ (cd bθ̇d + ce bθ̇e )
 
 
 
∂h1 h i  θ̇d 
f = 1 0 −cd L sen φ ce L sen φ 0 0  
∂x 
 θ̇e 

 
 0 
0

= cd b cos φ θ̇d + ce b cos φ θ̇e − cd L sen φ θ̇d + ce L sen φ θ̇e


 
0 0
 0 0 
 
∂h1 h 
i 0 0  
g = 1 0 −cd L sen φ ce L sen φ 0 0   0 0 =0

∂x  
 
 1 0 
0 1
56

e os termos Lf h2 e Lg h2 da derivada primeira de y2 , calculados da mesma forma, resultam em:

∂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

ou, de forma mais reduzida:


ẏ = Lf h(x)

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 =

onde os termos Lf 2 h1 e Lg Lf h1 resultam, respectivamente, em:

∂(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 φ

A condição expressa na equação (3.3) é cumprida devido Lg Lf h1 6= 0 e Lg Lf h2 6= 0


e, como pode ser observado em (3.28), as duas entradas θ̈d e θ̈e surgiram na derivada segunda
57

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:

det(D) = −2cd ce bL (3.30)

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:

ÿ1 = ν1 ÿ2 = ν2 (3.32)

Conforme a equação (3.32), y1 é igual à integral dupla de ν1 e y2 é igual à integral du-


pla de ν2 . Dessa forma, as entradas de controle ν1 e ν2 são as acelerações desejadas ẍd e ÿd
respectivamente, isto é, as acelerações desejada nos eixos x e y, assim:

ν1 = ẍd ν2 = ÿd (3.33)

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.31) Equação (2.39) Equação (2.38)


(𝑥ሷ 𝑑 , 𝑦ሷ 𝑑 ) 𝒖 𝝉 𝒙ሶ 1 𝒙
𝝂 𝒖 = 𝑫−1 𝝂 − 𝑳𝒇 2 𝒉(𝒙) 𝝉 = 𝜶(𝒙) + 𝜷 𝒙 𝒖 𝒙ሶ = 𝒇𝑎 (𝒙) + 𝑮𝑎 (𝒙)𝝉
𝑠

(𝜃𝑑 , 𝜃𝑒 , 𝜃ሶ 𝑑 , 𝜃ሶ𝑒 ) (𝜃𝑑 , 𝜃𝑒 , 𝜃ሶ 𝑑 , 𝜃ሶ𝑒 ) (𝜃𝑑 , 𝜃𝑒 , 𝜃ሶ 𝑑 , 𝜃ሶ𝑒 )

Equação (3.26)
(𝑥𝑟 , 𝑦𝑟 ) (𝑥𝑜 , 𝑦𝑜 , 𝜃𝑑 , 𝜃𝑒 )
𝒚 𝒚 = 𝒉(𝒙)

Figura 3.6: Linearização entrada-saída aplicada no modelo cinemático e dinâmico do RMRD.


Fonte: Adaptado de (Khooban, 2014).

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

em que k0 e k1 são os ganhos do controlador, de modo que, ao substituir a equação (3.34) na


equação (3.32), obtém-se a dinâmica do erro de seguimento:

ëx + k1 ėx + k0 ex = 0
(3.35)
ëy + k1 ėy + k0 ey = 0

onde, caso os ganhos k0 e k1 forem positivos, os erros de seguimento de trajetória ex (t) e


ey (t) convergem para zero exponencialmente (Slotine & Li, 1991). Na Figura 3.7 é ilustrado o
modelo que representa a lei de controle linear (3.34) com o sistema linearizado (3.32).
Desta forma, como ilustrado na Figura 3.7, a saída y = [ xr yr ]T e sua derivada pri-
meira ẏ = [ ẋr ẏr ]T são realimentadas para o cálculo dos erros de posição e = [ ex ey ]T
e velocidade ė = [ ėx ėy ]T a partir da posição desejada yd = [ xd yd ]T e velocidade de-
sejada ẏd = [ ẋd ẏd ]T , respectivamente. Os erros de posição e velocidade e a aceleração
desejada ÿd = [ ẍd ÿd ]T são utilizados, por sua vez, para o cálculo da entrada de controle
ν = [ ν1 ν2 ]T de acordo com a lei de controle de seguimento (3.34). Além disto, destaca-se
que enquanto no sistema de controle cinemático o sinal de entrada u corresponde à velocidade
angular calculada para cada roda u = [ θ̇d θ̇e ]T , no sistema de controle dinâmico o sinal de
entrada u é dado pela aceleração angular calculada para cada roda u = [ θ̈d θ̈e ]T , proporcional
ao torque que se deseja aplicar em cada roda.
59

Equação (3.34) Equação (2.40)


𝒙ሶ = 𝒇 𝒙 + 𝑮 𝒙 𝒖
𝒚𝑑 𝒌0
Equação (3.31) Equação (2.39) Equação (2.38)
𝝂 𝒖 𝝉 𝒙ሶ 1 𝒙
𝒚ሶ 𝑑 𝒌1 𝒖 = 𝑫−1 𝝂 − 𝑳𝒇 2 𝒉(𝒙) 𝝉 = 𝜶(𝒙) + 𝜷 𝒙 𝒖 𝒙ሶ = 𝒇𝑎 (𝒙) + 𝑮𝑎 (𝒙)𝝉
𝑠

𝒚ሷ 𝑑 (𝜃𝑑 , 𝜃𝑒 , 𝜃ሶ 𝑑 , 𝜃ሶ𝑒 ) (𝜃𝑑 , 𝜃𝑒 , 𝜃ሶ 𝑑 , 𝜃ሶ𝑒 ) (𝜃𝑑 , 𝜃𝑒 , 𝜃ሶ 𝑑 , 𝜃ሶ𝑒 )

Equação (3.26)
(𝑥𝑟 , 𝑦𝑟 ) (𝑥𝑜 , 𝑦𝑜 , 𝜃𝑑 , 𝜃𝑒 )
𝒚 = 𝒉(𝒙)

Equação (3.27)
(𝑥ሶ 𝑟 , 𝑦𝑟ሶ ) (𝜃𝑑 , 𝜃𝑒 , 𝜃ሶ 𝑑 , 𝜃ሶ𝑒 )
𝒚ሶ = 𝐿𝒇 𝒉(𝒙)

Figura 3.7: Controlador linear com a linearização entrada-saída aplicada ao modelo


cinemático e dinâmico do RMRD.
Fonte: Adaptado de (Khooban, 2014).

3.2.4 Dinâmicas Internas

De modo geral, quando é realizada a linearização entrada-saída (3.11) de um sistema de


grau relativo r < n, apenas r estados do sistema são afetados. Os n − r estados restantes não
são afetados e são caracterizados como a dinâmica interna (Hangos et al., 2004). Desta forma, o
sistema é dividido em duas partes, uma parte externa, dada por uma relação linear entrada-saída,
e uma parte interna, não observável, relativa às dinâmicas internas (Slotine & Li, 1991).
Em Yun & Yamamoto (1997) a estabilidade das dinâmicas internas do modelo do RMRD
sob a linearização entrada-saída por realimentação estática é analisada em dois cenários. No
primeiro cenário o robô está parado, e as dinâmicas zero são estudadas, e no segundo cenário
a estabilidade das dinâmicas internas é analisada com o robô em movimento, especificamente
quando se move para frente e quando se move para trás. A dinâmica zero, no contexto de
sistemas não lineares, é definida como a dinâmica interna de determinado sistema quando sua
saída é mantida em zero através de sua entrada (Slotine & Li, 1991). No resultado apresentado
do primeiro cenário, as dinâmicas zero são estáveis, mas não assintoticamente estáveis, e no
resultado exposto do segundo cenário, por sua vez, o robô tem um comportamento estável
quando se move para frente, mas instável ao se mover para trás.
Capítulo 4

Descrição do Protótipo de RMRD

Neste capítulo é descrito o desenvolvimento do sistema mecatrônico do protótipo do


RMRD. Essencialmente, um sistema mecatrônico é a integração sinérgica dos subsistemas
mecânico, eletrônico e de processamento de informação (Janschek, 2012). O subsistema de
processamento de informação corresponde ao cérebro do sistema mecatrônico e é formado ba-
sicamente por hardware, software e o sistema de controle (Boukas & Al-Sunni, 2012). Neste
sentido, são apresentados nas próximas seções as plataformas utilizadas para o processamento
de informação, o software e ferramentas escolhidos para a programação, as fontes de energia
elétrica e todos os elementos, mecânicos, eletrônicos e algoritmos, relacionados à atuação e ao
sensoriamento do sistema mecatrônico. O sistema de controle, já apresentado no Capítulo 3,
não será mostrado aqui.
A concepção de um RMRD neste trabalho tem como finalidade disponibilizar um pro-
tótipo para estudos acadêmicos, de escala laboratorial e com arquitetura aberta, de modo a
proporcionar a prototipagem e implementação de estratégias de controle. Com respeito à apli-
cação, o protótipo é desenvolvido para um ambiente fechado (indoor) e para a execução de
tarefas primárias, como o seguimento de trajetória. O veículo é construído em dimensões redu-
zidas, com massa e inércia pequenas e para se mover a velocidades baixas, próximo de 0,3 m/s,
com o qual também não se busca realizar experimentos a partir da inserção de cargas adicionais
sobre o chassi onde o objetivo, neste cenário, seria variar as grandezas de massa e inércia.
A geometria e posicionamento das rodas do protótipo são inspirados no modelo cinemá-
tico do RMRD, entretanto, a configuração e conjunto dos elementos que concebem o protótipo,
referentes a seu sistema mecatrônico e chassi, são propostos neste trabalho. O chassi do protó-
tipo é composto principalmente de madeira e, em algumas partes, de estruturas metálicas para o
suporte das rodas. Na Figura 4.1 é mostrado o protótipo desenvolvido, em dois ângulos diferen-
tes, onde são indicados também os principais componentes físicos de seu sistema mecatrônico,
os quais serão apresentados ao decorrer do capítulo. Nas Figuras 4.2, 4.3 e 4.4 são apresentadas
características de construção do protótipo onde, conforme as Figuras 4.2 e 4.3, são indicadas as
dimensões do chassi e a posição dos principais componentes fixados sobre a estrutura e, con-
forme as Figuras 4.3 e 4.4, é indicada a configuração e posição das rodas motorizadas e castor
sob o chassi.

60
61

ATmega328P Bateria Li-Ion


Raspberry Pi
Regulador LM317 Bateria Li-Po Reguladores
Buck-Boost
Drivers Ponte-H

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

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. 313
121
14

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

-25,-77) (-25,-58) 11 (0,-91)


10 10 (113,-18) (150,-18) 9

8 50 mm 50 mm

Figura 4.3: Dimensões do protótipo e posicionamento de elementos físicos do sistema


mecatrônico. Vista inferior313com valores em milímetro.
121 121
29

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.

Com relação ao sistema mecatrônico, na Figura 4.5 é ilustrado o diagrama simplificado


da conexão entre seus elementos físicos, apresentados ao decorrer do capítulo, e os sinais de
tensão trocados entre si. A Figura 4.5 também mostra a comunicação sem fio entre a unidade
principal de processamento de informação, presente no protótipo, e o computador de mesa, que
contém o software para a construção do sistema de controle. Conexões com fio para alimentação
são caracterizadas em linha contínua, e para transmissão de dados são caracterizadas em linha
tracejada.

5V Li-Ion 5 V Li-Po 14,8 V 14,8 V


4 10400 mAh 3600 mAh 5 Buck-Boost Buck-Boost LM317
5V 14 V 14 V 3,3 V 7
6
RaspBerry Serial - 3,3 V
T ATmega328p 3
R
Roteador Wi-Fi PWM - 5 V
PI 3 B
Cabo ethernet Ponte-H 10
Digital - 3,3 V
de par trançado 1 PWM - 5 V
Ponte-H PWM - 14 V
Computador Digital - 3,3 V
PWM - 14 V Atuador 9
de mesa
Atuador
Matlab/Simulink 2
Digital - 3,3 V 8
Sensor
Digital - 3,3 V
Sensor
Figura 4.5: Diagrama simplificado do sistema mecatrônico construído (elementos físicos).

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 Unidade de Processamento de Informação

O dispositivo adotado como a unidade principal de processamento é o Raspberry Pi mo-


delo B da terceira geração (Figura 4.5-1), criado pela fundação Raspberry Pi R (Raspberry Pi
Foundation, 2020a) e lançado no ano de 2016. Em comparação às outras plataformas existentes
no mercado, as características fundamentais que favoreceram a escolha desta plataforma foram:
potência computacional, conexão sem fio à LAN e custo relativamente baixo. Para a realização
do sistema de controle e demais programações, são adotadas as ferramentas Matlab/Simulink
da incorporação MathWorks R (MathWorks, 2020). O software Simulink oferece suporte para
integração com o Raspberry, o que favoreceu também a sua escolha, e gera código em lingua-
gem C a partir do diagrama de blocos construído no Simulink, que é posteriormente executado
na plataforma Raspberry. Assim, a programação do sistema de controle pode ser desenvolvida
no ambiente de diagramação gráfica por blocos do Simulink e, posteriormente, pode ser envi-
ada para execução diretamente na plataforma Raspberry, possibilitando, ainda, monitoramento
remoto através do computador no qual se encontra o Simulink.

4.1.1 Raspberry Pi 3 B

O Raspberry Pi é um computador em dimensões pequenas (85×56×17 mm), open-source,


capaz de executar aplicativos, acessar a Internet e desempenhar outras tarefas como um com-
putador de mesa normal (RS Components, 2016). Vários sistemas operacionais foram desen-
volvidos para o Raspberry, um dos mais populares, e também utilizado neste trabalho, é o
Raspbian, uma versão do sistema operacional (SO) Debian/Linux específica para o minicompu-
tador (Sobota et al., 2013). Na Figura 4.6 é mostrada a plataforma e seus principais elementos
e periféricos.
O Pi 3 B tem a CPU Quad-Core Broadcom BCM2837 com processadores ARM de 64 bits
64

40 pinos de uso geral (GPIO) 4 entradas USB 2.0

CPU Quad-Core BCM2837 (1,2GHz) Ethernet 10/100 Mbps

Wi-Fi (802.11 b/g/n) e Bluetooth 4.1 Saída de vídeo e som (stereo)


Interface para câmera
Slot cartão micro SD (parte inferior)
Saída HDMI
Interface para display touchscreen Entrada de energia (USB micro A)

Figura 4.6: RaspBerry Pi 3 modelo B.


Fonte: Adaptado de (RS Components, 2016).

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.

4.1.2 Matlab e Simulink

O software Matlab (MATrix LABoratory) é uma ferramenta muito empregada no âmbito


da matemática computacional e contém uma linguagem de programação de alto nível voltada
para a computação na engenharia e científica. Esse software também permite criar gráficos para
a visualização de dados e disponibiliza ferramentas para impressão de gráficos (MathWorks,
2019a). O Simulink, por sua vez, é um ambiente de diagramação gráfica por blocos que permite
65

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

Entrada digital GPIO 5 29 30 GROUND


GPIO 6 31 32 GPIO 12 Saída digital
GPIO 13 33 34 GROUND
Saída digital GPIO 19 35 36 GPIO 16 Saída digital
Entrada digital GPIO 26 37 38 GPIO 20 Saída digital
GROUND 39 40 GPIO 21 Saída digital

Figura 4.7: Pinos GPIO no Raspberry Pi 3 B (não ordenados numericamente).


Fonte: Adaptado de (Raspberry Pi Foundation, 2020b).

realizar simulação de sistemas de diversas áreas de estudo. A ferramenta Simulink fornece


vários métodos numéricos (solvers) para a simulação e modelagem de sistemas dinâmicos e
contém uma biblioteca de blocos predefinidos e personalizáveis para a construção de modelos
que representam os sistemas dinâmicos. O Simulink é uma ferramenta integrada com o Matlab,
possibilitando importar dados e exportar resultados de simulação (MathWorks, 2019b).
Um dos recursos que o Simulink oferece, relevante para este trabalho, é o pacote de su-
porte para o Raspberry Pi (Simulink suport package for Raspberry Pi hardware). Com esse
complemento, o código em linguagem C do modelo construído no Simulink é gerado automa-
ticamente. O código é embarcado no Raspberry, o qual realiza todo o processamento de forma
independente. O suporte inclui uma biblioteca de blocos para acessar várias interfaces I/O da
placa, apresentadas na Figura 4.6. Na biblioteca do suporte, há blocos para leitura e escrita nos
pinos GPIO e leitura e escrita por meio da comunicação serial, bem como através dos protoco-
los I2C e SPI (MathWorks, 2020). O Matlab/Simulink oferece este suporte para o Raspberry Pi
3 B a partir da versão R2016a.
Neste trabalho, a conexão entre o Raspberry Pi e o computador host, que contém o Simu-
link instalado, é realizada por meio de um roteador Wi-Fi, formando uma rede local dedicada
para essa função. O protocolo de comunicação que rege a conexão é o SSH (Secure Shell). A
execução do modelo no Raspberry é realizada pela opção “modo externo” 1 . A simulação em
modo externo permite interagir, através do computador host, com a aplicação sendo executada
no Raspberry, possibilitando, por exemplo, a visualização das variáveis (sinais) do modelo e a
modificação de parâmetros em determinados blocos durante a execução no Raspberry.
Como ilustrado na Figura 4.8, são construídos dois diagramas em blocos no ambiente Si-
mulink para cada sistema de controle (cinemático e dinâmico) apresentados no Capítulo 3. Um
diagrama em blocos, de cada sistema de controle, é desenvolvido para a obtenção de resultados
de simulação com o modelo matemático do RMRD, portanto, esse diagrama é executado so-
1
A simulação em modo externo estabelece um canal de comunicação entre o Simulink, no computador de mesa,
e o Raspberry, que executa o código gerado em linguagem C (MathWorks, 2020).
66

mente no Simulink. O outro diagrama é desenvolvido para a obtenção de resultados experimen-


tais com o protótipo e, assim, é executado no Raspberry, por meio da opção “modo externo” do
Simulink. Nesse caso, o computador de mesa somente é utilizado para a elaboração do sistema
de controle, para a construção da trajetória desejada e para a visualização de dados recebidos
do raspberry. A execução do sistema de controle fica, então, a cargo do Raspberry.

Diagramas em blocos no Simulink

Sistema de controle cinemático Sistema de controle dinâmico


(Diaz, 2016) (Khooban, 2014)

Resultados de simulação Resultados experimentais Resultados de simulação Resultados experimentais


Simulink Simulink → Raspberry Simulink Simulink → Raspberry

Figura 4.8: Organograma dos modelos em blocos desenvolvidos no Simulink.

Neste trabalho, os sistemas de controle são construídos em tempo contínuo e todos os


diagramas em blocos são executados com período de amostragem2 de 1 milissegundo, empre-
gando o método numérico Runge-Kutta de quarta ordem. O período de amostragem é encon-
trado a partir de ensaios experimentais com o protótipo, com o princípio de minimizar seu
valor. Verifica-se que intervalos de tempo abaixo de 1 ms geram processamento elevado no
Raspberry, causando lentidão durante a execução em modo externo dos diagramas em blocos.
Quanto à construção dos sistemas de controle em tempo contínuo, essa aproximação pode ser
realizada quando o período de amostragem selecionado para executar o sistema de controle
é relativamente pequeno em comparação com a constante de tempo da planta (Craig, 2014).
Conforme apresentado no Apêndice C, são calculadas duas constantes de tempo do protótipo
através da formulação de Lagrange (2.28) do RMRD e através dos parâmetros estimados do
protótipo, obtendo-se a constante de tempo Tv = 45 milissegundos quando o protótipo realiza
um movimento de translação puro, e a constante de tempo Tφ = 95 milissegundos quando o
protótipo realiza um movimento de rotação puro. Com estes resultados, considera-se válido o
desenvolvimento dos sistemas de controle em tempo contínuo.

4.1.3 Microcontrolador ATmega328P

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).

O ATmega328P, apresentado na Figura 4.9 (b), é o microcontrolador usado na plataforma


Arduino UNO, mostrado na Figura 4.9 (a). Assim, a programação pode ser realizada em lin-
guagem C/C++ em um computador através da IDE (Integrated Development Environment)
Arduino. Para a gravação de código, o microcontrolador é inserido na plataforma e essa é co-
nectada ao computador via USB. Basicamente, o Raspberry envia dois valores de duty cycle,
respectivos a cada motor, ao microcontrolador. A conexão entre os dois dispositivos é reali-
zada por comunicação serial RX/TX, com baudrate de 230.400 bits por segundo. O ATmega
recebe esses valores e, por fim, gera os sinais PWM para cada motor. O código do ATmega
desenvolvido para essa função é mostrado no Apêndice D. Apesar de a tensão de operação do
microcontrolador (5 V) ser maior que a do Raspberry (3,3 V), não é necessário limitar a ten-
são nessa conexão, pois a informação somente transita no sentido Raspberry→ATmega, e o
microcontrolador interpreta a tensão de 3,3 V como nível lógico alto.

4.2 Fontes de Energia

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ô.

4.2.1 Reguladores de Tensão

A bateria Li-Ion fornece a tensão adequada (5 V) para as unidades de processamento,


porém, dois reguladores de tensão são empregados para adequar a tensão fornecida pelo con-
junto de baterias Li-Po (14,8 V) aos atuadores e sensores. O primeiro regulador é um conversor
CC/CC buck-boost (XLSEMI, 2020), ilustrado na Figura 4.11, para os atuadores.
O buck-boost associa um conversor redutor (buck) com um conversor elevador (boost) de
tensão, assim, através de um potenciômetro, a tensão na saída pode ser ajustada e fixada com um
valor maior ou menor que a tensão de entrada. Duas unidades buck-boost são utilizadas, uma
para cada atuador, com tensão de saída ajustada em 14 V. O principal motivo de recorrer a estes
conversores é a possibilidade de fixar a tensão de saída independente da tensão de entrada, dado
que a tensão do conjunto de baterias Li-Po varia de 16,8 V (carregada) a 13,6 V (descarregada).

𝑖𝑛 +

𝑜𝑢𝑡 +
𝑖𝑛 –

𝑜𝑢𝑡 –

Figura 4.11: Buck-Boost DSN6000AUD.


69

O segundo regulador de tensão é o CI (Circuito Integrado) LM317 (ST Microelectronics,


2010), ilustrado na Figura 4.12 (a).

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

4.3 Elementos de Sensoriamento

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)

onde xo e yo são as coordenadas do ponto central Po entre as rodas do RMRD, xr e yr são as


coordenadas do ponto de referência Pr à frente do RMRD, φ é a orientação do RMRD e θd e θe
são a posição angular das rodas direita e esquerda, respectivamente. Há pouca diferença entre as
técnicas utilizadas para encontrar os estados de cada sistema, visto que a orientação φ é função
de θd e θe , conforme a equação (2.21), e que xr e yr são as coordenadas xo e yo acrescidas do
deslocamento L (distância de Look-Ahead). Na Figura 4.13 é ilustrado o diagrama simplificado
com os elementos físicos e computacionais do sistema de sensoriamento do protótipo. Cada
elemento deste diagrama será descrito no decorrer desta seção.
70

Elementos físicos de Algoritmos de 𝑥ሶ 𝑜 1ൗ


𝑠
sensoriamento sensoriamento J 7
Deslocamento e Filtro passa-baixa 𝑦𝑜ሶ 1ൗ
𝑠
velocidade angulares de segunda ordem
Cinemática
Encoder GPIO 𝜃𝑑 𝜃𝑑 diferencial
FC-03 26 𝜃𝑑
direito Detecção de
2 3
1 velocidade zero 𝒙
𝜃ሶ𝑑
sent. rot. D 𝜃ሶ𝑑 𝜃ሶ𝑑 𝜃ሶ𝑑 𝜃ሶ𝑑

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.

4.3.1 Elementos Físicos

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

Figura 4.14: Módulo óptico FC-03.


71

Este módulo contém, essencialmente, um LED infra-vermelho (emissor), um fototransis-


tor (receptor) e o CI comparador LM393. Por meio do pino D0 se tem acesso ao sinal digital
proveniente do comparador. O sinal digital comuta entre 0 V e 3,3 V, que é a tensão de alimen-
tação fornecida pelo regulador LM317 ao FC-03. O pino D0 referente a cada módulo das rodas
direita e esquerda é conectado diretamente aos pinos do Raspberry. Informações complemen-
tares sobre a implementação e conceitos do encoder e do módulo FC-03 são apresentados no
Apêndice B.

4.3.2 Elementos Computacionais

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.

Considerando, a título de exemplo, somente os elementos de sensoriamento do lado di-


reito do protótipo, o sinal de saída do bloco “GPIO read ” é, em seguida, atribuído como o sinal
de trigger do bloco indicado com o no 4 na Figura 4.13 por meio da porta “Trigger”, indicada
com o no 3. Assim, a sequência de operações interna a esse bloco somente é executada nos ins-
tantes de subida (na transição de 0 para 1) do sinal de trigger, ou seja, quando ocorre a transição
da passagem para a obstrução da luz no encoder. O bloco indicado com o no 4 contém, por sua
vez, os algoritmos para a obtenção da posição θd e velocidade θ̇d angulares da roda a partir dos
sinais do encoder. Em síntese, a posição angular da roda é calculada através da contagem dos
pulsos do encoder multiplicada pela constante do enconder kenc :

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.

4.3.2.1 Estimação de Velocidade Zero

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

4.3.2.2 Tratamento do Sinal de Velocidade

Outra desvantagem dessa estratégia é seu erro, proporcional à velocidade do encoder e


causado pela limitação do período de amostragem, ou seja, 1 ms. Dessa forma, o pior cenário é
observado na velocidade máxima da roda, quando rotaciona a quatro rotações por segundo, isto
é, próximo a 25 rad/s. Como pode ser observado na Figura 4.16, quando a velocidade angular
da roda se encontra próxima de 25 rad/s, a velocidade medida, em azul, oscila dentro de uma
faixa de aproximadamente 4 rad/s de largura.

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.

4.3.2.3 Obtenção das Variáveis de Posição no Plano Cartesiano

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

4.4 Elementos de Atuação

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

Figura 4.17: Elementos físicos e computacionais para atuação referentes ao sistema de


controle dinâmico.

4.4.1 Elementos Físicos

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

Motor Caixa de Engrenagem


engrenagens sem-fim

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

4.4.2 Elementos Computacionais

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.

4.4.2.1 Modelo Matemático do Motor CC com Caixa de Redução

Considerando inicialmente o sistema de controle dinâmico, é necessário encontrar, em


uma primeira etapa, a relação entre o torque em cada roda e a tensão de armadura no atuador
respectivo. Essa relação consiste no modelo elétrico e mecânico do motor CC, cuja equação
básica pode ser expressa por:
   
Ra Ra B
Va = τ+ + ka θ̇ (4.6)
kτ kτ

Quando o motor CC é acoplado à caixa de redução, Va é a tensão nos terminais do motor


CC, τ é o torque requerido pela carga, θ̇ é a velocidade angular do atuador, Ra é a resistência de
armadura do motor CC, kτ é a constante de torque efetiva, ka é a constante de tensão efetiva e
B é o coeficiente de atrito viscoso efetivo. O termo “efetivo” é utilizado quando o parâmetro se
refere ao conjunto formado pelo motor CC mais a caixa de redução. A equação (4.6) é indicada
com o no 3 na Figura 4.17 e sua obtenção é descrita no Apêndice A.
Assim, conhecendo a velocidade θ̇ de cada roda e o torque τ requerido pela carga em
cada roda, pode-se descobrir a tensão de armadura Va a ser aplicada no atuador respectivo. A
“carga” está constituída pelos momentos de inercia Ir de cada rotor com a roda, pelo momento
de inércia I do chassi do RMRD e pela massa total m do robô, contemplados inicialmente na
formulação de Lagrange (2.29). O torque τ se refere, então, ao sinal obtido pelo controlador
para atender a essa carga, dada uma trajetória desejada.

4.4.2.2 Linearização por Duty Cycle

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

onde Va(max) é a tensão de alimentação da ponte-H (14 V) e, consequentemente, a tensão má-


xima que pode ser aplicada ao motor. Entretanto, por meio de um ensaio realizado com o robô
no chão, observa-se uma relação não linear da velocidade angular da roda com relação à tensão
Va calculada para o atuador respectivo. Esta relação é apresentada na Figura 4.20, referente ao
ensaio que consiste em aplicar uma rampa de Va e obter as respostas de DC e da velocidade.

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).

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 aplicação da equação (4.10) no lugar da equação (4.7) resulta em um comportamento


mais linear da velocidade com relação a Va , como apresentado na Figura 4.22.

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).

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

4.4.2.3 Tratamento por Descontinuidade da Zona Morta do Atuador

Observando o início da rampa da Figura 4.22, identifica-se a não linearidade descontínua


zona morta, que retrata o comportamento da saída de um sistema específico ser zero enquanto
a amplitude da entrada não exceder determinado valor mínimo (Slotine & Li, 1991), como
ilustrado na Figura 4.23 (a):

𝜃ሶ 𝑉𝑎(𝑜𝑢𝑡)
𝑉𝑎(𝑚𝑖𝑛)

𝑉𝑎 𝑉𝑎(𝑖𝑛)

zona morta −𝑉𝑎(𝑚𝑖𝑛)

−𝑉𝑎(𝑚𝑖𝑛) 𝑉𝑎(𝑚𝑖𝑛)
(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).

O valor mínimo de tensão de armadura (Va(min) ) identificado é aproximadamente 2 V. Para


diminuir o efeito desta zona morta, é aplicada a descontinuidade de tensão ilustrada na Figura
4.23 (b). Assim, dada uma tensão de armadura (Va(in) ), o tratamento da zona morta retorna
o novo valor de tensão (Va(out) ). Esse tratamento é aplicado exatamente antes de empregar a
linearização por duty cycle, conforme indicado com o no 5 na Figura 4.17.

4.4.2.4 Obtenção da Polaridade e Amplitude do Duty Cycle

Na ferramenta Simulink, para escrita da polaridade e amplitude de DC nos pinos do Rasp-


berry, são utilizados, respectivamente, os blocos “GPIO Write” e “Serial Write”, apresentados
na Figura 4.24. Os parâmetros de configuração principais do bloco “GPIO Write” são o modelo
do Raspberry e o número do GPIO, e para o bloco “Serial Write” são o modelo do Raspberry, a
porta de comunicação serial e a taxa de transferência (baudrate).

(a) (b)
Figura 4.24: Blocos do Simulink para (a) escrita de sinal digital e (b) sinal serial nos pinos.

A polaridade de DC é enviada diretamente à ponte-H, a qual interpreta este dado através


de dois sinais binários, (0 e 1, ou 1 e 0), atribuídos em dois de seus pinos de entrada lógica.
80

Assim, a condição executada para associar a polaridade de DC aos dois pinos é:


(
1 se DC > 0
pino 1 = e pino 2 = N OT (IN1) (4.12)
0 se DC < 0

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.

4.4.2.5 Modelo Matemático do Atuador para o Sistema de Controle Cinemático

A mesma sequência de operações apresentada na Figura 4.17 é utilizada para o sistema


de controle cinemático, com exceção do modelo elétrico e mecânico do motor CC. Para esse
sistema de controle, é necessário encontrar uma relação entre a velocidade de cada roda e a
tensão de armadura no atuador correspondente. Essa relação é uma simplificação da modelo
(4.6) para um modelo matemático em que não existe torque e, consequentemente, corrente
elétrica. Dessa forma, o modelo simplificado do atuador é dado por:

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

Para fins de organização, os resultados obtidos de simulação e de ensaios experimentais


são divididos em três cenários. No cenário 1, referente à Seção 5.2, são expostos resultados de
simulação e experimentais para as duas trajetórias, bem como com os dois sistemas de controle.
No cenário 2, referente à Seção 5.3, são expostos resultados experimentais somente para a tra-
jetória com curva suave de 180o e por meio da implementação do sistema de controle dinâmico.
O objetivo neste segundo cenário é realizar uma variação no valor de alguns parâmetros dos
modelos dinâmico do robô e dos atuadores para analisar o desempenho do protótipo com o sis-
tema de controle dinâmico frente à variação no valor dessas variáveis. No cenário 3, referente
à Seção 5.4, são expostos resultados experimentais somente para a trajetória com curva suave
de 180o e com os dois sistemas de controle. O objetivo nesse terceiro cenário é não utilizar a
técnica linearização por duty cycle, mas analisar o desempenho do protótipo com cada um dos
dois sistemas de controle quando empregado o método usual para o cálculo do duty cycle do
sinal PWM.

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.

Tabela 5.2: Parâmetros do protótipo referentes ao modelo cinemático.


Parâmetro Unidade Descrição Valor
rd [m] Raio da roda direita 0,0292
re [m] Raio da roda esquerda 0,0293
b [m] Distância entre Po e cada roda motorizada 0,1210

Tabela 5.3: Parâmetros do protótipo referentes ao modelo dinâmico.


Parâmetro Unidade Descrição Valor
m [kg] Massa do robô 1,93
I [kg.m2 ] Inércia do robô 0,090
Ir [kg.m2 ] Inércia de cada roda mais rotor 0,001

Tabela 5.4: Parâmetros do protótipo referentes ao modelo matemático dos atuadores.


Parâmetro Unidade Descrição Valor
Rad [Ω] Resistência de armadura do motor direito 8,45
Rae [Ω] Resistência de armadura do motor esquerdo 7,72
kad [V s / rad] Constante de fcem do atuador direito 0,47
kae [V.s/rad] Constante de fcem do atuador esquerdo 0,51
kτ d [kgf.m/A] Constante de torque do atuador direito kad
kτ e [kgf.m/A] Constante de torque do atuador esquerdo kae
Bd [kgf.m.s/rad] Atrito viscoso efetivo (lado direito) 0,007
Be [kgf.m.s/rad] Atrito viscoso efetivo (lado esquerdo) 0,005

Os valores da distância de Look-Ahead e dos ganhos referentes aos sistemas de controle


cinemático e dinâmico são apresentados na Tabela 5.5. A sintonia dos ganhos de ambos siste-
mas de controle é detalhada na Seção 5.1. Destaca-se, também, que a distância de Look-Ahead
é a mesma para ambos sistemas de controle, e seu valor foi aproximado a b = 0, 121 e arredon-
dado a L = 0, 1, onde b é a distância entre Po e cada roda motorizada.

Tabela 5.5: Parâmetros do protótipo referentes aos controladores.


Parâmetro Descrição Valor
k0 (sistema de controle cinemático) Ganho proporcional de erro de posição 10
k0 (sistema de controle dinâmico) Ganho proporcional de erro de posição 25
k1 (sistema de controle dinâmico) Ganho proporcional de erro de velocidade 25
L [m] Distância de Look-Ahead 0,1
83

Na Figura E.1 contida no Apêndice E, é ilustrado o diagrama de blocos completo dos


dois sistemas de controle implementados no protótipo. Nesses diagramas, são evidenciadas
com indicações em azul algumas variáveis (sinais) do sistema e de quais pontos do sistema são
recolhidas, as quais são escolhidas para expor os resultados neste capítulo.

5.1 Sintonia dos Ganhos dos Sistemas de Controle

O ganho k0 do sistema de controle cinemático e os ganhos k0 e k1 do sistema de controle


dinâmico são determinados através do algoritmo Firefly (em português, Vaga-lume), o qual é
um algoritmo de otimização meta-heurístico embasado na inteligência de enxames de partícu-
las (Yang, 2010). Nesse algoritmo, em resumo, uma população de vaga-lumes é distribuída em
um espaço de solução n-dimensional, os quais se movimentam de forma aleatória e de forma
inteligente, buscando se aproximar de outros vaga-lumes da população de maior “luminosi-
dade”, isto é, que estão localizados em regiões ótimas do espaço de solução. A movimentação
aleatória proporciona uma busca mais exploratória e, ao mesmo tempo, a inteligência de cada
vaga-lume proporciona uma busca mais intensificada em regiões ótimas do espaço de solução
n-dimensional.
Neste trabalho, o algoritmo é utilizado somente com base em simulações do RMRD, e é
executado separadamente para cada sistema de controle. O algoritmo possui como variáveis de
entrada somente o ganho k0 ou os ganhos k0 e k1 , dependendo do sistema de controle consi-
derado. Assim, os vaga-lumes se movimentam em um espaço unidimensional, dentro de uma
faixa de valores do ganho k0 do controlador cinemático, ou bidimensional, dentro de faixas de
valores do ganho k0 e do ganho k1 do controlador dinâmico. A variável de saída do algoritmo,
isto é, a função objetivo Fobj , é determinada como o erro de posição acumulado do robô durante
o seguimento de trajetória, que representa o quanto o veículo se afasta do caminho geométrico
ao decorrer do seguimento. A função objetivo é expressa matematicamente como:
Z tf q
Fobj = ex (t)2 + ey (t)2 dt (5.1)
0

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

diminui gradativamente conforme aumenta o ganho k0 no sistema de controle cinemático e, da


mesma forma, o erro de posição acumulado diminui gradativamente conforme aumentam si-
multaneamente os ganhos k0 e k1 no sistema de controle dinâmico. Entretanto, ao configurar os
ganhos em cada um dos sistemas de controle implementados no protótipo, o RMRD apresenta
comportamentos instáveis durante o seguimento de trajetória, como solavancos bruscos nas ro-
das, ao atribuir valores altos a estes parâmetros. Assim, os maiores valores dos ganhos que não
causam instabilidade durante o seguimento são k0 = 10 para o sistema de controle cinemático,
e k0 = 25 e k1 = 25 para o sistema de controle dinâmico.

5.2 Cenário 1

5.2.1 Resultados para a Trajetória com Curva Suave de 180o

Nesta subseção, são expostos resultados de simulação e experimentais para a trajetória


com curva suave de 180o empregando, em separado, o sistema de controle cinemático, na Sub-
subseção 5.2.1.1, e o sistema de controle dinâmico, na Subsubseção 5.2.1.2.

5.2.1.1 Resultados com o Sistema de Controle Cinemático

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 .

Na Figura 5.2, são apresentadas a velocidade linear desejada ao decorrer da trajetória


85

(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.3, são mostrados, à esquerda, os erros de posição em x e y obtidos de simu-


lação (em laranja) e com o protótipo (em preto) e, à direita, o erro de velocidade linear obtido
de simulação (em laranja) e com o protótipo (em preto).

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 .

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.

5.2.1.2 Resultados com o Sistema de Controle Dinâmico

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.9, são apresentados, à esquerda, os erros de posição em x e y obtidos de


simulação (em laranja) e com o protótipo (em preto) e, à direita, o erro de velocidade linear
obtido de simulação (em laranja) e com o protótipo (em preto).

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 .

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.

5.2.2 Resultados para a Trajetória em Formato de 8

Nesta subseção, são expostos resultados de simulação e experimentais para a trajetória


em formato de 8 empregando os sistemas de controle cinemático, na Subsubseção 5.2.2.1, e
dinâmico, na Subsubseção 5.2.2.2. Além disso, serão apresentados somente sinais referentes
à posição e velocidade linear do RMRD, sem abordar sinais de controle e de velocidade das
rodas, buscando analisar mais o desempenhos dos sistemas de controle nas simulações e com o
protótipo frente à trajetória mais complexa em formato de 8.

5.2.2.1 Resultados com o Sistema de Controle Cinemático

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.

Na Figura 5.15, são expostos, à esquerda, os erros de posição em x e y obtidos de simu-


lação (em laranja) e com o protótipo (em preto) e, à direita, o erro de velocidade linear obtido
de simulação (em laranja) e com o protótipo (em preto).

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.

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.

5.2.2.2 Resultados com o Sistema de Controle Dinâmico

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.

Na Figura 5.18, são apresentados, à esquerda, os erros de posição em x e y obtidos de


simulação (em laranja) e com o protótipo (em preto) e, à direita, o erro de velocidade linear
obtido de simulação (em laranja) e com o protótipo (em preto).

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.

Observando a Figura 5.16, referente ao sistema de controle dinâmico, percebe-se um


distanciamento entre o protótipo em algumas partes do caminho geométrico desejado durante
o seguimento, com erros de posição pouco maiores de 4 cm em alguns instantes, conforme a
Figura 5.18. Quanto à velocidade linear do protótipo mostrada na Figura 5.17, também se pode
observar diferenças em comparação com a velocidade desejada, com erros de até 4 cm/s.
93

Diferente do esperado, resultam erros de seguimento de trajetória menores com a imple-


mentação do sistema de controle cinemático no protótipo em comparação com a implementação
do sistema de controle dinâmico. A causa mais relevante desse resultado pode estar associada
com a baixa velocidade de seguimento selecionada e os baixos valores de massa e inércia do
protótipo. Caso os parâmetros de massa e inércia fossem maiores, o sistema de controle cine-
mático possivelmente apresentaria resultados piores quando implementado no protótipo, visto
que somente abrange o modelo cinemático. Em segundo lugar, a existência de imprecisões
nos parâmetros do modelo dinâmico podem estar agravando o desempenho do protótipo com
o sistema de controle dinâmico, possuindo resultados piores que com o sistema de controle
cinemático ao comparar, por exemplo, as Figuras 5.16 e 5.13.
No endereço de página web disponibilizado a seguir, pode-se acessar capturas de vídeo
realizadas do protótipo (https://youtu.be/KgyuMhyUv90), onde é mostrado o seguimento da
trajetória com curva suave de 180o e da trajetória em formato de 8 através da implementação do
sistema de controle dinâmico.

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.

5.4.1 Resultados com o Sistema de Controle Cinemático

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.

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.

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.

5.4.2 Resultados com o Sistema de Controle Dinâmico

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.

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.
98

Novamente, em comparação com a linearização por duty cycle, quando empregado o


método usual para o cálculo do DC, observam-se erros muito maiores de posição e velocidade
durante o seguimento, como mostrado na Figura 5.27. A partir da Figura 5.25, verifica-se
um distanciamento maior entre o robô e o caminho geométrico durante a curva e, por meio
da Figura 5.27, percebe-se que o protótipo está sempre adiantado com relação à trajetória em
aproximadamente 20 cm, pois apresenta erros de posição no eixo x negativos antes da curva e
positivos após a curva. Em comparação com os resultados obtidos ao implementar o sistema de
controle cinemático, mostrados na Subseção 5.4.1, os erros de posição e velocidade também são
maiores, contudo o protótipo realiza uma trajetória suave, sem oscilações em torno da trajetória,
bem como não necessita de redução nos ganhos dos controladores para manter a estabilidade..

5.5 Aspectos do Protótipo e da Arquitetura Experimental

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

Neste trabalho é descrito o desenvolvimento e construção de um protótipo com arquite-


tura aberta do robô móvel com rodas diferencial para a implementação e teste de sistemas de
controle de movimento de robôs móveis com roda. São apresentadas estratégias de controle
de movimento aplicadas frequentemente nos RMRs, incluindo a realimentação linearizante, a
qual é exposta com mais detalhes neste trabalho. Também são apresentados conceitos relacio-
nados à composição de protótipos, à arquitetura experimental que envolve os ensaios práticos e
à implementação de sistemas de controle.
São empregados motores CC para a tração das rodas direita e esquerda do RMRD e os
sensores utilizados se resumem unicamente a encoders ópticos, dos quais são obtidos o deslo-
camento e velocidade angular das rodas direita e esquerda.
Utiliza-se a plataforma Raspberry Pi, localizada no robô, como a unidade de processa-
mento principal para a execução das estratégias de controle. O desenvolvimento e implemen-
tação das estratégias de controle testadas no protótipo, por sua vez, são realizadas através da
ferramenta Matlab/Simulink instalada em um computador de mesa, a qual possui suporte para
o Raspberry. A conexão entre o computador e a unidade de processamento no robô é realizada
através de uma rede local (LAN) dedicada. Em relação ao sensoriamento e obtenção dos es-
tados, além da medição do deslocamento e velocidade angular de cada roda, a estimação da
posição do protótipo no referencial inercial é realizada por odometria. Com respeito ao acio-
namento do RMRD, são aplicadas técnicas para calcular a tensão para os motores CC a partir
dos sinais provenientes do controle de movimento e, incluído nas técnicas associadas ao acio-
namento, é desenvolvido um método diferente para o cálculo do duty cycle do PWM, o qual é
destinado como sinal de entrada dos drivers ponte-H. Este método é nomeado neste trabalho
como linearização por duty cycle e é desenvolvido buscando linearizar a relação entre a tensão
calculada para os terminais do motor CC e a velocidade angular medida na roda respectiva.
O protótipo desenvolvido, juntamente com as técnicas de sensoriamento e acionamento,
possibilitam a implementação de estratégias de controle de movimento, uma vez que todos os
estados que descrevem a configuração do robô, relacionados ao movimento de seu chassi e de
suas rodas, podem ser medidos ou estimados e os sinais de tensão para os atuadores podem ser
calculados de forma adequada, tanto a partir de sinais de controle de velocidade das rodas como

100
101

para sinais de controle de torque nas rodas.


Referente ao encoder óptico, utiliza-se de mecanismos mais comuns, os quais são com-
postos por um disco de 40 aberturas e sem detecção de sentido de rotação. Desta forma, é
aplicada uma lógica para determinar o sentido de rotação das rodas e, além disso, a estimação
da velocidade angular é realizada a partir da medição do tempo decorrente entre dois pulsos
consecutivos. Como consequência desta forma de estimação de velocidade angular, tal gran-
deza medida apresenta ruídos altos e proporcionais à velocidade, dado que o processamento das
lógicas implementadas é realizado com base no período de amostragem de 1 ms. Neste sen-
tido, é utilizado um filtro passa-baixa de segunda ordem com o objetivo de minimizar os efeitos
destes ruídos.
Com relação aos atuadores, também há problemas associados à folga existente na caixa
de redução de velocidade, que causa um comportamento indesejado no protótipo. Em alguns
ensaios experimentais não mostrados neste trabalho, observa-se solavancos bruscos nas rodas,
com o sentido de rotação das mesmas alternando repentinamente. Esses solavancos são evitados
ajustando valores mais baixos para os ganhos, em ambos sistemas de controle, e construindo
as trajetórias com curvas mais abertas, ou seja, com raio de curvatura maior, de modo a não
inverter o sentido de rotação das rodas.
As principais vantagens obtidas através da utilização do Raspberry Pi são seu poder com-
putacional, de forma que os ensaios com o protótipo podem ser realizados com período de
amostragem mínimo de até 1 ms, a facilidade de conexão da plataforma a uma rede local, pelo
fato de possuir um dispositivo de rede Wi-Fi integrado à placa e, assim, não ser necessário a
adição e configuração de módulos externos, e ter integração com a ferramenta Matlab/Simulink,
a qual possibilita a construção dos sistemas de controle pelo ambiente de diagramação gráfica
por blocos do Simulink bem como a implementação dos sistemas de controle no Raspberry.
Como desvantagens, percebem-se limitações de recursos de entrada e saída de sinais digitais e
analógicos das interfaces GPIO do Raspberry, principalmente ao associar esta plataforma com
Simulink.
Os resultados experimentais são obtidos com o protótipo por meio da implementação de
duas estratégias de controle diferentes, ambas fundamentadas na realimentação linearizante.
Em uma das estratégias é considerado somente o modelo cinemático do RMRD, e na segunda
estratégia são considerados o modelo cinemático e dinâmico do robô. Além disso, o problema
de controle abordado nos ensaios com o protótipo é o seguimento de trajetória.
Os resultados alcançados com protótipo através da implementação das duas estratégias
de controle são muito satisfatórios, uma vez que o erro de velocidade e posição obtidos são
baixos e o protótipo se mantém sempre próximo da trajetória desejada durante o seguimento.
Ao comparar os resultados obtidos dos dois sistemas de controle, observam-se diferenças nas
trajetórias realizadas pelo protótipo. É obtido um resultado ligeiramente pior do sistema de
controle dinâmico, onde o erro de posição é maior em comparação com o sistema de controle
102

cinemático. Entretanto, o protótipo apresenta movimentos mais suaves, percebidos em sua


posição e velocidade ao decorrer da trajetória, quando implementado o sistema de controle
dinâmico.
Em outros ensaios, busca-se observar a diferença de resultados quando não aplicada a téc-
nica linearização por duty cycle desenvolvida. Ao remover esta técnica e aplicar o método usual
de cálculo do duty cycle, verifica-se um desempenho consideravelmente pior de seguimento de
trajetória para ambas estratégias de controle implementadas no protótipo, o qual apresenta erros
de posição e velocidade relativamente maiores durante a execução da tarefa. Assim, conclui-se
que é essencial a aplicação da técnica linearização por duty cycle neste caso, uma vez que os
sinais de tensão são obtidos em malha aberta por meio de modelos do motor CC.
Por fim, apesar de apresentar as limitações nos elementos físicos de sensoriamento e
atuação discutidas anteriormente bem como em outras áreas do sistema mecatrônico, obtém-
se resultados consideravelmente bons com o protótipo, de modo que o RMRD construído se
apresenta bastante viável para a implementação e teste de sistemas de controle de movimento
de RMRs, em especial se equipamentos e estratégias mais sofisticados forem utilizados.

6.1 Trabalhos Futuros

Como sugestões de trabalhos futuros, propõem-se os seguintes itens:

• Aprimorar as ferramentas de obtenção das variáveis de posição e velocidade angulares,


empregando encoders de maior precisão e com detecção de sentido de rotação;
• Atribuir o papel de calcular a posição e velocidade angulares a uma unidade de pro-
cessamento auxiliar, como microcontroladores, os quais contêm periféricos dedicados à
contagem de tempo e de eventos (timers/counters);
• Empregar técnicas de posicionamento absoluto para a medição direta das coordenadas x
e y do protótipo no plano cartesiano;
• Aprimorar os elementos de atuação do protótipo, utilizando mecânicas de redução de
velocidade sem folga (backlash) ou empregar outras classes de atuadores elétricos, como
motores de passo;
• Implementar estratégias de controle de níveis mais baixos em comparação ao controle
de movimento, como o controle de velocidade dos atuadores e o controle de tensão dos
amplificadores de potência.
Referências Bibliográficas

Adept Technology Inc. (2011). Pioneer 3-DX, Adept Mobile Robots p. 2.


URL: http://www.mobilerobots.com/ResearchRobots/PioneerP3DX.aspx Citado na pá-
gina 19.
Aguiar, A. P. (2017). Single and multiple motion control of autonomous robotic vehicles, 11th
International Workshop on Robot Motion and Control, RoMoCo 2017 - Workshop Proce-
edings, Institute of Electrical and Electronics Engineers Inc., Research Center for Systems
and Technologies, Department of Electrical and Computer Engineering, Faculty of Engi-
neering, University of Porto, Portugal, pp. 172–184. Citado 2 vezes nas páginas 21 e
50.
Al-Mutib, K., Abdessemed, F., Hedjar, R., Alsulaiman, M., Bencherif, M., Faisal, M., Algabri,
M. & Mekhtiche, M. (2015). Mobile robot nonlinear feedback control based on Elman
neural network observer, Advances in Mechanical Engineering 7(12). Citado 4 vezes nas
páginas 21, 22, 24 e 49.
Alves, T. G. (2018). Sistema de controle de pose para uma cadeira de rodas inteligente, Dis-
sertação (mestrado em engenharia elétrica), Programa de Pós-Graduação em Engenharia
Elétrica da UFRGS - Universidade Federal do Rio Grande do Sul.
URL: https://lume.ufrgs.br/handle/10183/182397 Citado 2 vezes nas páginas 23 e 26.
Alves, T. G., Lages, W. F. & Henriques, R. V. (2018). Parametric Identification and Control-
ler Design for a Differential-Drive Mobile Robot, IFAC-PapersOnLine 51(15): 437–442.
Citado 2 vezes nas páginas 27 e 50.
Begnini, M., Bertol, D. W. & Martins, N. A. (2018). Practical implementation of an effective
robust adaptive fuzzy variable structure tracking control for a wheeled mobile robot, Jour-
nal of Intelligent and Fuzzy Systems 35(1): 1087–1101. Citado 2 vezes nas páginas 24 e
29.
Billingsley, J. (2006). Essentials of Mechatronics, John Wiley & Sons, Inc., Hoboken, NJ, USA.
Citado 2 vezes nas páginas 25 e 33.
Boukas, E. K. & Al-Sunni, F. M. (2012). Mechatronic systems: Analysis, design and imple-
mentation, Springer Berlin Heidelberg, Berlin, Heidelberg. Citado 2 vezes nas páginas 25
e 60.
Campion, G., D’Andréa-Novel, B. & Bastin, G. (1991). Modelling and state feedback control
of nonholonomic mechanical systems, Proceedings of the IEEE Conference on Decision
and Control, Vol. 2, pp. 1184–1189. Citado 2 vezes nas páginas 43 e 48.
Capraro, F., Rossomando, F. G., Soria, C. & Scaglia, G. (2017). Cascade Sliding Control for
Trajectory Tracking of a Nonholonomic Mobile Robot with Adaptive Neural Compensa-
tor, Mathematical Problems in Engineering 2017: 1–13. Citado na página 24.
Chen, Y. Y., Chen, Y. H. & Huang, C. Y. (2018). Wheeled mobile robot design with robustness
properties, Advances in Mechanical Engineering 10(1). Citado 3 vezes nas páginas 27,
28 e 29.

103
104

Chwa, D. (2010). Tracking control of differential-drive wheeled mobile robots using a


backstepping-like feedback linearization, IEEE Transactions on Systems, Man, and Cy-
bernetics Part A:Systems and Humans 40(6): 1285–1295. Citado na página 22.
Coelho, P. & Nunes, U. (2005). Path-following control of mobile robots in presence of uncer-
tainties, IEEE Transactions on Robotics 21(2): 252–261. Citado 4 vezes nas páginas 26,
27, 28 e 49.
Craig, J. J. (2014). Introduction to Robotics: Machanics and Control, third edn, Pearson.
Citado 5 vezes nas páginas 66, 75, 110, 111 e 112.
D’andréa-Novel, B., Campion, G. & Bastin, G. (1995). Control of Nonholonomic Wheeled
Mobile Robots by State Feedback Linearization, The International Journal of Robotics
Research 14(6): 543–559. Citado 2 vezes nas páginas 23 e 48.
Diaz, D. & Kelly, R. (2016). On modeling and position tracking control of the generalized diffe-
rential driven wheeled mobile robot, 2016 IEEE International Conference on Automatica,
ICA-ACCA 2016, Institute of Electrical and Electronics Engineers Inc., Laboratorio de Ro-
botica, Division de Fisica Aplicada, CICESE, Carretera Ensenada-Tijuana No. 3918, Zona
Playitas, Ensenada, B.C., 22860, Mexico. Citado 4 vezes nas páginas 23, 44, 51 e 54.
Esmaeili, N., Alfi, A. & Khosravi, H. (2017). Balancing and Trajectory Tracking of Two-
Wheeled Mobile Robot Using Backstepping Sliding Mode Control: Design and Experi-
ments, Journal of Intelligent and Robotic Systems: Theory and Applications 87(3-4): 601–
613. Citado 2 vezes nas páginas 23 e 26.
Fateh, M. M. (2008). On the voltage-based control of robot manipulators, International Journal
of Control, Automation and Systems 6(5): 702–712. Citado na página 26.
Fateh, M. M. & Arab, A. (2015). Robust control of a wheeled mobile robot by voltage control
strategy, Nonlinear Dynamics 79(1): 335–348. Citado 4 vezes nas páginas 23, 26, 28 e
29.
Gens ace & Tattu USA Warehouse (2020). Bateria Li-Po Gens Ace 1800mAh 7.4V 45C 2S1P.
URL: https://www.genstattu.com/ga-b-45c-1800-2s1p-deans.html Citado na página 68.
Goldstein, H., Poole, C. & Safko, J. (2002). Classical mechanics, third edit edn, Addison
Wesley. Citado na página 40.
Goswami, N. K. & Padhy, P. K. (2018). Sliding mode controller design for trajectory tracking
of a non-holonomic mobile robot with disturbance, Computers and Electrical Engineering
72: 307–323. Citado 2 vezes nas páginas 28 e 29.
Hangos, K. M., Bokor, J. & Szederkényi, G. (2004). Analysis and Control of Nonlinear Process
Systems, Springer-Verlag, London. Citado 3 vezes nas páginas 44, 48 e 59.
Huang, P., Zhang, Z. & Luo, X. (2020). Feedforward-plus-proportional–integral–derivative
controller for agricultural robot turning in headland, International Journal of Advanced
Robotic Systems 17(1). Citado na página 28.
Isermann, R. (2005). Mechatronic systems: Fundamentals, Vol. 58, Springer London, London.
Citado 5 vezes nas páginas 25, 28, 32, 40 e 75.
Isidori, A. (1995). Nonlinear Control Systems, Communications and Control Engineering,
Springer London, London. Citado na página 44.
Janschek, K. (2012). Mechatronic Systems Design, Springer Berlin Heidelberg, Berlin, Heidel-
105

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

RS Components (2016). Raspberry Pi 3 Model B, Technical report.


URL: https://www.alliedelec.com/m/d/4252b1ecd92888dbb9d8a39b536e7bf2.pdf Citado
2 vezes nas páginas 63 e 64.
Rubio, F., Valero, F. & Llopis-Albert, C. (2019). A review of mobile robots: Concepts, methods,
theoretical framework, and applications, International Journal of Advanced Robotic Sys-
tems 16(2): 1–22. Citado 4 vezes nas páginas 20, 21, 23 e 27.
Sánchez, J. R. G., Mosqueda, S. T., Ortigoza, R. S., Guzmán, V. M. H., Gutiérrez, J. S., Aranda,
M. M., Taud, H. & Melchor, M. M. (2018). Robust switched tracking control for wheeled
mobile robots considering the actuators and drivers, Sensors (Switzerland) 18(12). Citado
3 vezes nas páginas 23, 25 e 26.
Sánchez, J. R. G., Ortigoza, R. S., Mosqueda, S. T., Sánchez, C. M., Guzmán, V. M. H., Cruz,
M. A., Ortigoza, G. S. & Taud, H. (2017). Tracking control for mobile robots considering
the dynamics of all their subsystems: Experimental implementation, Complexity . Citado
na página 25.
Santos, R. P. D. & Garcia, L. S. (2017). Controle do Conversor CC-CC Buck Utilizando Comu-
nicação entre o Arduino e Simulink, Journal of Physics A: Mathematical and Theoretical.
URL: https://www.ufrgs.br/sbai17/papers/paper_100.pdf Citado 2 vezes nas páginas 25
e 27.
Sarkar, N., Yun, X. & Kumar, V. (1994). Control of Mechanical Systems With Rolling Cons-
traints:Application to Dynamic Control of Mobile Robots, The International Journal of
Robotics Research 13(1): 55–69. Citado 5 vezes nas páginas 22, 40, 41, 48 e 50.
Segurança Eletrônica (2018). Empresa de segurança e multisserviços lança robô inteligente.
URL: https://revistasegurancaeletronica.com.br/empresa-de-seguranca-e-multisservicos-
lanca-robo-inteligente/ Citado na página 19.
Shojaei, K., Shahri, A. M. & Tarakameh, A. (2010). Adaptive feedback linearizing control of
nonholonomic wheeled mobile robots in presence of parametric and nonparametric un-
certainties, Robotics and Computer-Integrated Manufacturing 27(1): 194–204. Citado 3
vezes nas páginas 23, 24 e 44.
Shojaei, K., Shahri, A. M., Tarakameh, A. & Tabibian, B. (2011). Adaptive trajectory tracking
control of a differential drive wheeled mobile robot. Citado 3 vezes nas páginas 25, 26 e
29.
Siegwart, R., Nourbakhsh, I. R. & Scaramuzza, D. (2011). Introduction to autonomous mobile
robots, Vol. 49, 2 edn, Cambridge University Press, Cambridge. Citado 8 vezes nas
páginas 18, 20, 21, 33, 34, 37, 109 e 110.
Slotine, J. & Li, W. (1991). Applied Nonlinear Control, Englewood Cliffs, New Jersey. Citado
7 vezes nas páginas 23, 44, 48, 54, 58, 59 e 79.
Sobota, J., Pı̌sl, R., Balda, P. & Schlegel, M. (2013). Raspberry pi and arduino boards in control
education, IFAC Proceedings Volumes (IFAC-PapersOnline) 10(PART 1): 7–12. Citado
na página 63.
Sousa, R. L. S., Forte, M. D. d. N., Nogueira, F. G. & Torrico, B. C. (2016). Trajectory trac-
king control of a nonholonomic mobile robot with differential drive, 2016 IEEE Biennial
Congress of Argentina, ARGENCON 2016 . Citado 4 vezes nas páginas 23, 26, 27 e 29.
Spong, M. W., Hutchinson, S. & Vidyasagar, M. (2005). Robot modeling and control, second
108

edn. Citado 2 vezes nas páginas 75 e 111.


ST Microelectronics (2010). LM117, LM217, LM317 Datasheet.
URL: https://www.alldatasheet.com/view.jsp?Searchword=LM317 Citado na página 69.
Taheri-Kalani, J. & Khosrowjerdi, M. J. (2014). Adaptive trajectory tracking control of wheeled
mobile robots with disturbance observer, International Journal of Adaptive Control and
Signal Processing 28(1): 14–27. Citado 3 vezes nas páginas 24, 29 e 49.
TP-Link Technologies (n.d.). Carregador Portátil 10400mAh TL-PB10400.
URL: https://www.tp-link.com/br/home-networking/mobile-accessory/tl-pb10400/ Ci-
tado na página 68.
Tzafestas, S. G. (2014). Introduction to Mobile Robot Control, Elsevier. Citado 13 vezes nas
páginas 18, 19, 21, 22, 27, 28, 34, 35, 37, 39, 40, 42 e 48.
Tzafestas, S. G. (2018). Mobile Robot Control and Navigation: A Global Overview, Journal of
Intelligent and Robotic Systems: Theory and Applications 91(1): 35–58. Citado 3 vezes
nas páginas 20, 23 e 27.
Vieira, F. C. (2005). Controle dinâmico de robôs móveis com acionamento diferencial, p. 106.
Citado 2 vezes nas páginas 21 e 50.
Villegas, L. M., Valenzuela, J. M. & Alcocer, R. P. (2019). A Feedback Linearization-Based
Motion Controller for a UWMR with Experimental Evaluations, Robotica 37(6): 1073–
1089. Citado na página 28.
XLSEMI (2020). XL6009 Datasheet.
URL: https://www.alldatasheet.com/datasheet-pdf/pdf/1132229/XLSEMI/XL6009E1.html
Citado na página 68.
Yang, X.-s. (2010). Nature-Inspired Metaheuristic Algorithms, number May. Citado 2 vezes
nas páginas 83 e 124.
Yun, X. & Yamamoto, Y. (1992). On feedback linearization of mobile robots, Technical Reports
(CIS) (Paper 503): 22. Citado 11 vezes nas páginas 23, 35, 37, 38, 39, 40, 42, 43, 48, 51
e 53.
Yun, X. & Yamamoto, Y. (1997). Stability analysis of the internal dynamics of a wheeled mobile
robot, Journal of Robotic Systems 14(10): 697–709. Citado na página 59.
Zhai, J.-y. & Song, Z.-b. (2019). Adaptive sliding mode trajectory tracking control for wheeled
mobile robots, International Journal of Control 92(10): 2255–2262. Citado na página 24.
Apêndice A

Definições e Conceitos Matemáticos

A.1 Matriz Jacobiana

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

Jf =  ∂f2/∂x1 ∂f2/∂x2 (A.2)


 

∂f3/∂x1 ∂f3/∂x2

A.2 Matriz de Rotação dos RMRs

𝑦 𝑦𝑅
𝜃𝑒 𝑥𝑅

𝑃𝑜 𝜙
𝑦𝑜
𝜃𝑑

𝑥𝑜 𝑥
𝑂
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).

A.3 Espaço Gerado ou Span

Supondo um conjunto formado por k vetores quaisquer {u1 , u2 , ..., uk }, o conjunto de


todas as combinações lineares possíveis destes vetores é denominado como espaço gerado ou
span de u1 , u2 , ..., uk e denotado como (Lipschutz & Lipson, 2011):

span{u1 , u2 , ..., uk }

A.4 Obtenção do Modelo Matemático do Motor CC

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)

Outro parâmetro do motor é a constante de força contra eletromotriz (fcem) ka . Quando


este dispositivo elétrico opera como gerador e seus terminais estão em vazio (sem carga elé-
trica), a relação entre a tensão ea gerada na armadura e a velocidade angular de seu rotor θ̇m é
dada pela constante ka e expressa pela equação (A.4):

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
𝐿𝑎 𝑅𝑎
+
+ 𝑖𝑎
𝑉𝑎 𝑒𝑎

Figura A.2: Circuito de armadura do motor CC.


Fonte: Adaptado de (Craig, 2014).
111

eletromotriz (fcem), proporcional à velocidade do rotor, e ia a corrente de armadura.


Neste cenário, seu modelo elétrico é expresso pela equação diferencial de primeira ordem:

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:

τtotal = τcarga + τperdas = Iw + µ2 Im θ̈ + Bw + µ2 Bm θ̇


 
(A.6)

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)

em seguida, empregando (A.6) (A.7) e (4.8), na equação (A.5), resulta em:


   
d τcarga + τperdas τcarga + τperdas
Va = La + Ra + ka θ̇ (A.9)
dt kτ kτ

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

Conceitos e Características dos Dispositivos


do Sistema Mecatrônico

B.1 Características Elétricas dos Reguladores de Tensão

Tabela B.1: Características elétricas do conversor CC/CC Buck-Boost.


Parâmetro Valor mín. Valor máx.
Tensão de entrada 3,8 V 32 V
Tensão de saída 1,25 V 35 V
Corrente de entrada - 3A
Corrente de saída - 3A

Tabela B.2: Características elétricas do regulador LM317.


Parâmetro Valor mín. Valor máx.
Diferença de tensão entrada-saída 3V 40 V
Tensão de saída 1,2 V 37 V
Corrente de carga 10 mA 1,5 A

B.2 Dispositivos de Sensoriamento

Na Figura B.1 (a) é ilustrada a representação esquemática o encoder óptico incremental


rotativo e seus principais elementos. Basicamente, conforme o disco rotaciona, suas aberturas
fazem com que a luz do elemento emissor incida no receptor (fotodetector) em pulsos. O
receptor, então, transforma estes pulsos de luz em uma forma de onda binária, da qual são
calculados o deslocamento e velocidade angulares do disco (Craig, 2014). Quanto ao modelo
físico do RMRD, é 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, ilustrado
na Figura B.1 (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.

Este módulo contém, essencialmente, um LED infra-vermelho (emissor), um fototransis-


tor (receptor) e o CI comparador LM393. Por meio do pino A0, pode-se acessar os pulsos como
um sinal de tensão analógico diretamente do fototransistor, enquanto que pelo pino D0 se tem
acesso ao sinal digital proveniente do comparador. O sinal digital comuta entre 0 V e 3,3 V,
que é a tensão de alimentação fornecida pelo regulador LM317. O pino D0 dos módulos das
rodas direita e esquerda são conectados diretamente nos pinos GPIO 26 e GPIO 5 do Raspberry,
respectivamente. Na Tabela B.3 são apresentadas algumas características elétricas do módulo
FC-03.

Tabela B.3: Características elétricas do sensor FC-03.


Parâmetro Valor
Tensão de operação 3,3 a 5 V
Consumo de corrente 15 mA

B.3 Dispositivos de Atuação

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.

Tabela B.4: Características de operação do atuador JGY-370.


Parâmetro Valor
Tensão nominal 12 V
Tensão máxima 15 V
Velocidade à tensão nominal e sem carga 230 rpm
Corrente à tensão nominal e sem carga 35 mA
Torque de imobilização (stall torque) 0,0175 kgf.m
Corrente de imobilização 1A
Relação de transformação (θ̇in /θ̇out ) 23

A tensão aplicada no motor do conjunto JGY-370 é controlada pelo módulo ponte-H


114

Tabela B.5: Características elétricas do módulo ponte-H.


Parâmetro Valor
Tensão de alimentação 4 a 35 V
Tensão de nível lógico alto 2,3 a 5 V
Tensão de nível lógico baixo -0,3 a 1,5 V
Corrente máxima por saída 2A

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.

Considerando somente a saída 1, os pinos de entrada de sinais lógicos para o comando do


módulo são EN-A, IN1 e IN2, os quais recebem sinais das unidades de processamento. O pino
EN-A recebe do ATmega328P o sinal PWM, para chavear a tensão na saída 1. Os pinos IN1 e
IN2 recebem comandos digitais diretamente do Raspberry e determinam a polaridade da tensão
na saída 1, possibilitando a inversão do sentido de rotação do motor. A polaridade da tensão é
alternada atribuindo (IN1 = 1, IN2 = 0) ou (IN1 = 0, IN2 = 1).
Apêndice C

Estimação dos Parâmetros do Protótipo

C.1 Parâmetros do Motor CC com a Caixa de Redução

Os parâmetros estimados do motor CC com a caixa de redução são a resistência de arma-


dura Ra , a constante de força contra eletromotriz efetiva ka e a constante de torque kτ efetiva.
O termo “efetivo” é utilizado quando o parâmetro se refere ao conjunto formado pelo motor
CC mais a caixa de redução. Para a estimação destes parâmetros foi realizado, inicialmente,
um ensaio em cada motor com o protótipo suspenso do chão. Este ensaio consiste na aplicação
de cinco valores de tensão nos terminais do motor e na medição da corrente elétrica e veloci-
dade angular respectivas a cada tensão aplicada. Os valores de tensão aplicados e os valores de
corrente e velocidade medidos, referentes a cada atuador, são apresentados na Tabela C.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

A estimação ou identificação dos parâmetros Ra , ka e kτ é realizada empregando o método


dos mínimos quadrados (Keviczky et al., 2019) e o modelo matemático do atuador JGY-370
expresso na equação C.1:    
Ra Ra B
Va = τ+ + ka θ̇ (C.1)
kτ kτ
onde Va é a tensão nos terminais do motor CC, τ é o torque, θ̇ é a velocidade angular do atuador,
Ra é a resistência de armadura do motor CC, kτ é a constante de torque efetiva, ka é a constante
de força contra eletromotriz efetiva e B é o coeficiente de atrito viscoso efetivo. Como o ensaio
é realizado com o robô suspenso do chão, o termo (Ra B)/kτ é negligenciado neste cenário, ou
seja, assume-se que o coeficiente de atrito viscoso B é baixo devido ao peso do protótipo não

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:

p̂ = (MT M)−1 MT V (C.4)

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.

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).
Ra [Ω] ka [V.s/rad]
D E D E
8,45 7,72 0,47 0,51

C.2 Parâmetros do Modelo Cinemático

Os parâmetros cinemáticos estimados do RMRD são a distância b entre o ponto Po e cada


roda motorizada e os raios rd e re das rodas motorizadas direita e esquerda, respectivamente,
mostrados na Figura C.1, onde Po é o ponto central entre as rodas direita e esquerda.

𝑏 𝑟𝑒
𝑃𝑟

𝑏 𝑟𝑑 𝑃𝑜

Figura C.1: Vista superior do RMRD. Parâmetros do modelo cinemático.


117

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.

C.3 Parâmetros do Modelo Dinâmico

Os parâmetros dinâmicos estimados do RMRD são a massa m do protótipo, os coeficien-


tes de atrito viscoso Bd e Be dos atuadores direito e esquerdo, respectivamente, o momento de
inercia efetivo Ir , referente a cada roda motorizada mais o rotor de seu respectivo motor com
relação aos seus eixos de rotação e o momento de inércia total I do RMRD com relação ao
eixo vertical que passa por Po , respectivamente. O ponto Po é o ponto central entre as rodas
motorizadas e, também, o centro de massa do robô neste trabalho. A massa m do protótipo
foi obtida com uma balança, apresentando valor próximo a 1,93 kg. Os parâmetros Bd e Be
foram estimados, nesta ordem, examinando a velocidade angular em regime permanente das
rodas direita e esquerda ao aplicar, com o protótipo no chão, um degrau de tensão de 12 V nos
atuadores respectivos e em instantes distintos para cada atuador.
Os parâmetros Ir e I foram estimados por meio de dois ensaios com o protótipo. O
primeiro ensaio é realizado com o protótipo suspenso do chão e com o objetivo de estimar
o momento de inércia efetivo Ir referente ao conjunto de atuação da direita e esquerda do
118

RMRD. Assume-se, no primeiro ensaio, que os momentos de inércia efetivo Ir referentes a


cada conjunto de atuação têm valores muito próximos, assim, este ensaio é realizado somente
com o conjunto de atuação direito e o valor de Ir encontrado é atribuído aos dois conjuntos de
atuação. O segundo ensaio é realizado com o protótipo no chão e com o objetivo de estimar o
momento de inércia I do RMRD.
O primeiro ensaio consiste em aplicar um degrau de tensão de 12 V no motor direito e
examinar, em regime transitório, a resposta de velocidade do sistema de primeira ordem com-
posto pelo atuador e roda direitos. O segundo ensaio, por sua vez, é o mesmo que o experimento
realizado para a estimação de Bd e Be , mas consiste em aplicar um degrau de tensão de 12 V
somente no motor direito e examinar, em regime transitório, a resposta de velocidade do sistema
de primeira ordem que inclui os atuadores, as rodas e o RMRD.
A partir da resposta de velocidade em regime transitório, obtém-se as constantes de tempo
T1 e T2 referentes aos sistemas de cada ensaio e, com isso, calcula-se os parâmetros Ir , I. A
constante de tempo de cada sistema é obtida pela aproximação da resposta de dois modelos
de primeira ordem, respectivos a cada ensaio, com a resposta de velocidade dos ensaios. Os
modelos de primeira ordem são expressos pela função de transferência (C.7):

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):

1 → mẍo = −(sin φ)λ1 − (cos φ)λ2


2 → mÿo = (cos φ)λ1 − (sin φ)λ2
(C.8)
3 → (Icd + Ir )θ̈d − Ice 2 θ̈e
2
= τd + 12 rd λ2
4 → (Ice 2 + Ir )θ̈e − Icd 2 θ̈d = τe + 12 re λ2
119

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

Na estimação de Ir é utilizada a linha 3 da equação (C.8) para representar o sistema do


primeiro ensaio, o qual é realizado com o motor direito. Como o robô está suspenso neste
ensaio, desconsidera-se o momento de inércia I do RMRD e o multiplicador de Lagrange λ2 ,
de modo que a linha 3 resulta em:
Ir θ̈d = τd (C.9)

Generalizando θ̈d = θ̈ e τd = τ e negligenciando o atrito viscoso B devido o protótipo


estar suspenso, 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.10)
Ra Ra
assim, substituindo a equação (C.10) na equação (C.9), obtém-se:
   
kτ kτ ka
Ir θ̈ = Va − θ̇ (C.11)
Ra Ra

Considerando a velocidade angular ω = θ̇ como a saída, e a tensão de armadura Va como


a entrada, a equação (C.11) é expressa, no domínio da frequência, como sendo:
   
kτ ka kτ
Ir W(s)s + W(s) = Va (s) (C.12)
Ra Ra

e, rearranjando a equação (C.12), obtém-se a função de transferência do modelo de primeira


ordem que representa o sistema referente ao primeiro ensaio:

W(s) 1/ka
= (C.13)
Va (s) T1 s + 1
120

onde:
Ir Ra
T1 = (C.14)
kτ ka

Por fim, conhecidos T1 = 0, 029 e o valor dos parâmetros do atuador direito ka , kτ e Ra


obtidos na Seção C.1, calcula-se Ir da equação (C.14), que resulta em Ir = 0,001 kg.m2 .

C.3.2 Obtenção de Bd , Be e I

Na estimação de Bd , Be e I são utilizadas as linhas 3 e 4 da equação (C.8) para representar


o sistema do segundo ensaio. Como este ensaio consiste na aplicação do degrau de tensão de
12 V somente no motor direito, as linhas 3 e 4 resultam, respectivamente, nas equações (C.15)
e (C.16):
1
(Icd 2 + Ir )θ̈d = τd + rd λ2 (C.15)
2
1
−Icd 2 θ̈d = re λ2 (C.16)
2

Generalizando θ̈d = θ̈, τd = τ , cd = c, rd = r e re = r, e substituindo λ2 da equação


(C.15) pela equação (C.16), obtém-se:

(2Ic2 + Ir )θ̈ = τ (C.17)

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

Assim, substituindo a equação (C.18) na equação (C.17), obtém-se:


   
2 kτ kτ ka
(2Ic + Ir )θ̈ = Va − + B θ̇ (C.19)
Ra Ra

Considerando a velocidade angular ω = θ̇ como a saída, e a tensão de armadura Va como


a entrada, a equação (C.19) é expressa, no domínio da frequência, como sendo:
   
2 kτ ka kτ
(2Ic + Ir )W(s)s + + B W(s) = Va (s) (C.20)
Ra Ra

e, rearranjando a equação (C.20), obtém-se a função de transferência do modelo de primeira


ordem que representa o sistema referente ao segundo ensaio:

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

Os coeficientes de atrito viscoso Bd e Be são calculados por meio da equação (C.22),


da qual os parâmetros ka , kτ e Ra , referentes a cada atuador, foram obtidos na Seção C.1,
e os valores do ganho k2 foram obtidos pelos experimentos realizados em cada atuador com
o protótipo no chão, dividindo a velocidade em regime permanente de cada roda pela tensão
respectiva aplicada. Para os experimentos realizados com os atuadores direito e esquerdo, os
valores de k2 encontrados foram, nesta ordem, 1,68 rad/(s.V) e 1,71 rad/(s.V), e os valores de
atrito viscoso calculados foram Bd = 0,0069 kgf.m.s/rad e Be = 0.0053 kgf.m.s/rad
Por fim, conhecidos T2 = 0,095 s, k2 = 1,68 rad/(s.V), c = r/2b, o valor dos parâmetros
do atuador direito ka , kτ e Ra obtidos na Seção C.1, os valores de b e do raio r da roda direita
obtidos na Seção C.2 e o valor de Ir obtido na Subseção C.3.1, calcula-se I da equação (C.23),
que resulta em I = 0,09 kg.m2 .

C.4 Constantes de Tempo do Protótipo

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

A constante de tempo Tv de translação pura é encontrada através das linhas 1, 3 e 4 da


formulação de Lagrange (C.8). Supondo rd = re e supondo a movimentação do protótipo em
linha reta com orientação φ = 0, a linha 1 da equação (C.8) resulta na equação (C.24) e as linhas
3 e 4 se tornam iguais e resultam na equação (C.25):

mẍo = −λ2 (C.24)


rd
Ir θ̈d = τd + λ2 (C.25)
2

Generalizando θ̈d = θ̈, τd = τ , rd = r, e dado que ẍo = θ̈r, a substituição de λ2 da


122

equação (C.24) pela equação (C.25) resulta em:

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

Assim, substituindo a equação (C.27) na equação (C.26), obtém-se:

mr2 + 2Ir
     
kτ kτ ka
θ̈ = Va − + B θ̇ (C.28)
2 Ra Ra

Considerando a velocidade angular ω = θ̇ como a saída, e a tensão de armadura Va como


a entrada, a equação (C.28) é expressa, no domínio da frequência, como sendo:

mr2 + 2Ir
     
kτ ka kτ
W(s)s + + B W(s) = Va (s) (C.29)
2 Ra Ra

e, rearranjando a equação (C.29), obtém-se a função de transferência do modelo de primeira


ordem que representa o protótipo quando sua movimentação se reduz à translação pura:

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φ

A constante de tempo Tφ de rotação pura é encontrada através das linhas 3 e 4 da for-


mulação de Lagrange (C.8). Supondo a movimentação do protótipo em rotação pura, de modo
que θ̈e = −θ̈d e τe = −τd , e supondo que rd = re e cd = ce , as linhas 3 e 4 da equação (C.8)
resultam, respectivamente nas equações (C.33) e (C.34):

(Icd 2 + Ir )θ̈d + Icd 2 θ̈d = τd + 12 rd λ2 (C.33)


123

−(Icd 2 + Ir )θ̈d − Icd 2 θ̈d = −τd + 12 rd λ2 (C.34)

Generalizando θ̈d = θ̈, τd = τ , rd = r, a subtração das equações (C.33) e (C.34) resulta


na equação (C.35):

(2Ic2 + Ir )θ̈ = τ (C.35)

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

Assim, substituindo a equação (C.36) na equação (C.35), obtém-se:


   
2 kτ kτ ka
(2Ic + Ir )θ̈ = Va − + B θ̇ (C.37)
Ra Ra

Considerando a velocidade angular ω = θ̇ como a saída, e a tensão de armadura Va como


a entrada, a equação (C.37) é expressa, no domínio da frequência, como sendo:
   
2 kτ ka kτ
(2Ic + Ir )W(s)s + + B W(s) = Va (s) (C.38)
Ra Ra

e, rearranjando a equação (C.38), obtém-se a função de transferência do modelo de primeira


ordem que representa protótipo quando sua movimentação se reduz à rotação pura:

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.

C.5 Sintonia dos Ganhos dos Sistemas de Controle

O ganho k0 do sistema de controle cinemático e os ganhos k0 e k1 do sistema de controle


dinâmico foram determinados através do algoritmo Firefly (em português, Vaga-lume). Neste
trabalho, o algoritmo foi utilizado somente com base em simulações do RMRD, e foi executado
124

separadamente para cada sistema de controle.

C.5.1 Algoritmo de Otimização Firefly

O algoritmo Firefly é um dos métodos referentes à inteligência de enxames de partículas


e desenvolvido por Yang (2010), sendo um tipo de algoritmo meta-heurístico embasado na
natureza, isto é, no comportamento de uma população de vaga-lumes, e aplicado para resolver
problemas de otimização. Os três princípios que caracterizam o algoritmo Firefly são:

• 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.

Basicamente, um vaga-lume i, comparado com outro vaga-lume j de maior brilho, move-


se a uma nova posição xinovo , dentro de um espaço de solução n-dimensional, obedecendo três
fatores, os quais são descritos na equação (C.42):

xinovo = xi + βj (xj − xi ) + αεi (C.42)

onde xi e xj são vetores n-dimensionais referentes à posição anterior de dois vaga-lumes i e j


quaisquer, respectivamente, εi é um vetor n-dimensional de números aleatórios, βj é a atrativi-
dade do vaga-lume j (diretamente proporcional ao brilho) e α é o parâmetro de aleatoriedade.
Primeiramente, a nova posição de um vaga-lume i depende de sua posição anterior xi . O se-
gundo termo da equação (C.42) se refere à movimentação do vaga-lume i causada pela atrativi-
dade βj do vaga-lume j. A atratividade βj é diretamente proporcional à atratividade máxima βo ,
inversamente proporcional ao fator de absorção da luz γ, que representa o desvanecimento da
luz no ar, e inversamente proporcional à distância rij entre os dois vaga-lumes. A atratividade
βj e a distância rij são calculadas através das equações (C.43) e (C.44), respectivamente:
2
βj = βo e−γrij (C.43)
q
rij = (xj 1 − xi1 )2 + (xj 2 − xi2 )2 + . . . + (xj n − xin )2 (C.44)

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

Inicializa os parâmetros do algoritmo

Gera e distribui aleatoriamente a população de vaga-lumes


Calcula a 𝐹𝑜𝑏𝑗 de cada vaga-lume com base em sua posição
Compara o brilho (𝐹𝑜𝑏𝑗 ) de cada vaga-lume com toda população

Move cada vaga-lume a uma nova posição

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.

Conforme o fluxograma da Figura C.3, o primeiro passo é a inicialização de todos os


parâmetros necessários, como a delimitação do espaço de solução, o tamanho da população
de vaga-lumes e o número máximo de iterações, além dos parâmetros das equações (C.42) e
(C.43). Ainda, antes de se iniciar o processo iterativo, a população de vaga-lumes é gerada e
distribuída aleatoriamente no espaço de solução. Dentro do processo iterativo, a função objetivo
é calculada para cada vaga-lume, com base em sua posição atual, e é traduzida em brilho. Em
seguida, o brilho de cada vaga-lume é comparado com toda a população e, caso um elemento
i possua menor brilho em comparação a outro elemento j, move-se de acordo com a equação
(C.42). Ao final de uma iteração, se o número máximo de iterações predefinido é atingido ou se
a variação da função objetivo de cada vaga-lume é pequena entre duas iterações consecutivas,
finaliza-se as iterações.

C.5.2 Implementação do Algoritmo Firefly e Resultados

O critério considerado para avaliar o desempenho do RMRD no seguimento de trajetória


frente à modificação dos ganhos, isto é, a função objetivo Fobj do algoritmo, foi o erro de
posição acumulado do robô durante o seguimento, e o brilho de cada vaga-lume, neste trabalho,
é encontrado pela função inversa de Fobj do respectivo vaga-lume. Matematicamente, a função
objetivo é expressa como: Z tf q
Fobj = ex (t)2 + ey (t)2 dt (C.45)
0

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

Para o sistema de controle cinemático, a faixa de valores de ganho selecionada é {0 <


k0 6 100} e uma população de 30 vaga-lumes foi gerada. Para o sistema de controle dinâmico,
as faixas de valores de ganho selecionadas são {0 < k0 6 100} e {0 < k1 6 100} e uma
população de 100 vaga-lumes foi gerada. Na execução do algoritmo para ambos sistemas de
controles, o parâmetro de aleatoriedade foi definido como α = 1, 5, o fator de redução do pa-
râmetro de aleatoriedade ∆α = 93%, o coeficiente de absorção da luz γ = 0, 01, a atratividade
máxima βo = 1 e os números aleatórios do vetor εi são determinados pela distribuição uniforme
e estão entre -0,5 e 0,5.
As simulações do RMRD, durante a execução do algoritmo para ambos sistemas de con-
trole, são realizadas com a trajetória em curva de 180o . Além disso, quanto ao sistema de
controle cinemático, foram inseridas incertezas na constante de força contra eletromotriz ka
do modelo dos atuadores, visto que, no sistema de controle cinemático, o modelo do atuador
consiste somente na constante ka . Da mesma forma, quanto ao sistema de controle dinâmico,
foram inseridas incertezas em todos os parâmetros do modelo dos motores CC (Ka , Ra , kτ e
B) e em todos os parâmetros do modelo dinâmico (m, I e Ir ). Incertezas foram inseridas em
ambos sistemas de controle para causar erros de seguimento de trajetória e, com isso, ser pos-
sível afetar o desempenho de seguimento do RMRD através de modificações nos ganhos. Os
resultados obtidos com o algoritmo Firefly para o sistema de controle cinemático são mostrados
na Figura C.4 e, para o sistema de controle dinâmico, são mostrados nas Figuras C.5 e C.6.

Figura C.4: Ganho k0 versus erro para cada vaga-lume e cada iteração. Simulações referentes
ao sistema de controle cinemático.

Na Figura C.4, é ilustrado o erro de posição acumulado associado a cada vaga-lume da


população conforme sua posição no espaço de solução, este espaço restringido na faixa {0 <
k0 6 100}. Também, a movimentação dos vaga-lumes pode ser identificada através de sua cor,
que varia gradativamente de vermelho a azul ao decorrer das iterações. Conclui-se, a partir da
direção com a qual os vaga-lumes se movimentam e a partir da tendência da curva formada
pelos vaga-lumes, que o erro de posição acumulado diminui conforme aumenta o ganho k0 .
127

Na Figura C.5, é ilustrada a posição de cada vaga-lume da população no espaço de so-


lução restringido nas faixas {0 < k0 6 100} e {0 < k1 6 100}. Da mesma forma que na
Figura C.4, a movimentação dos vaga-lumes pode ser identificada através de sua cor, que varia
gradativamente de vermelho a azul ao decorrer das iterações.

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

D.1 Código C no ATmega328P

Figura D.1: Código C gravado no ATmega328P. Lê os valores de DutyCycle pela


comunicação serial e escreve nas portas PWM.

129
130

D.2 Cálculo da Velocidade e Posição Relativa das Rodas

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.

Na Figura D.2 é apresentado o subsistema construído no ambiente Simulink para se obter


o deslocamento e velocidade angulares da roda direita. A sequência de operações interna a
este bloco somente é executada nos instantes de subida (na transição de 0 para 1) do sinal de
trigger, o qual corresponde aos pulsos recebidos do sensor da roda direita. Conforme pode ser
visualizado na Figura D.2, as operações delimitadas pela área 2 são responsáveis pela contagem
de pulsos, onde é incrementada ou decrementada uma unidade no montante de pulsos referente
à ultima iteração. Uma unidade (um pulso) é incrementada ou decrementada dependendo da
entrada “sent. rot. D” (sentido de rotação da roda direita). Se a roda direita 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. O montante de pulsos da última iteração, por sua vez, é memorizado
por meio do bloco “1/z” (delay unitário). Por fim, o deslocamento angular é traduzido para
a unidade radiano pela constante do encoder kenc = 2π/40, resultando na variável de saída
“thetaD”, que é o deslocamento angular da roda direita.
Com as operações delimitadas pela área 3, calcula-se a velocidade angular da roda direita.
A lógica destas operações consiste em calcular a diferença de tempo entre dois pulsos. Para isso,
o bloco “Digital Clock” é utilizado, o qual atualiza a variável tempo somente nos instantes de
subida do sinal de trigger, ou seja, nos instantes em que ocorrem as iterações. Em seguida,
realiza-se a diferença entre o valor do tempo atual e o valor do tempo da iteração anterior
memorizado no delay unitário. Com a inversa deste resultado e com a constante do encoder se
obtém, então, a velocidade angular na unidade rad/s. Por fim, a condição delimitada pela área
4 é aplicada para garantir que a velocidade medida seja zero antes da ocorrência do segundo
pulso do encoder. O sufixo “ d” na variável de saída “thetaD d” indica a derivada.
𝑥𝑑 , 𝑦𝑑 𝜃ሶ 𝑑 , 𝜃ሶ𝑒 𝑉𝑎 𝑑 𝑥ሶ 𝑟 𝑦𝑟ሶ
controle
(𝑥ሶ 𝑑 , 𝑦ሶ 𝑑 ) 𝑒𝑥 , 𝑒𝑦
1ൗ
GPIO 𝑠
1 20 Encoder J
𝒚𝑑 𝒌0 2 3 Ponte H JGY-370
GPIO direito 1ൗ
0 𝑠
16 GPIO
𝒚ሶ 𝑑 1 FC-03 26
255|DC| 5
GPIO 4 6
14
ATmega328p
Apêndice E

FC-03 Algoritmos para o


Algoritmos para o GPIO
GPIO lado esquerdo do
lado esquerdo do 5
6 Encoder RMRD
RMRD Ponte H JGY-370
GPIO esquerdo

(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 𝜃ሶ𝑑 𝜃ሶ𝑒
𝜃ሶ𝑑 𝜃ሶ𝑒

dinâmico implementados no protótipo do RMRD.


𝑥𝑟 , 𝑦𝑟

(b)
(𝑥ሶ 𝑟 , 𝑦𝑟ሶ )
8

9
Diagramas dos Sistemas de Controle e

1 – Equação linearizante; 6 – Cálculo do deslocamento e velocidade angulares;


2 – Cancelamento da dinâmica; 7 – Detecção de velocidade zero;
3 – Modelo matemático do atuador; 8 – Equação de saída;
4 – Linearização por Duty Cycle; 9 – Derivada primeira da equação de saída.
5 – Entrada da variável sent. rot.;

Figura E.1: Diagrama em blocos completo dos sistemas de controle (a) cinemático e (b)

Você também pode gostar