arquitetura de controle de movimento para um robô móvel sobre rodas...

60
WERTHER ALEXANDRE DE OLIVEIRA SERRALHEIRO Arquitetura de Controle de Movimento para um Robô Móvel sobre Rodas visando a Otimização Energética São Paulo 2015

Upload: buiquynh

Post on 09-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

WERTHER ALEXANDRE DE OLIVEIRA SERRALHEIRO

Arquitetura de Controle de Movimento para umRobô Móvel sobre Rodas visando a Otimização

Energética

São Paulo

2015

WERTHER ALEXANDRE DE OLIVEIRA SERRALHEIRO

Arquitetura de Controle de Movimento para umRobô Móvel sobre Rodas visando a Otimização

Energética

Documento apresentado à Escola Politécnicada Universidade de São Paulo para a realiza-ção do Exame de Qualificação de Doutoradoem Ciências

Área de concentração:Engenharia Mecânica

Orientador:Prof. Dr. Newton Maruyama

São Paulo

2015

RESUMO

Este texto submete ao exame de qualificação um trabalho que propõe uma arquitetura

de controle de movimento para uma classe de robôs móveis sobre rodas (WMR) – os robôs

diferenciais acionados por motores elétricos – visando a otimização de seu movimento em

relação ao consumo energético. O modelo do WMR utilizado neste trabalho contempla a

cinemática do uniciclo, e as dinâmica do movimento do chassis do robô e do acionamento

elétrico, incluindo suas não-linearidades. Tendo como referência o Controlador Hierárquico

Aninhado (NHC), a arquitetura proposta neste trabalho possui duas camadas distintas: (i)

a camada superior, o Planejador de Trajetória, recebe como objetivo os pontos de controle

nos quais o WMR deve atingir em tempos especificos e planeja a trajetória ótima em re-

lação ao consumo energético; e (ii) a camada inferior, o Rastreador de Trajetória, gera o

sinal de controle para que o WMR acompanhe a seqüência de pontos interpolados pela

camada de planejamento. O Rastreador de Trajetórias é implementado com duas malhas

de controle: um controlador baseado em linearização entrada-saída para lidar com a cine-

mática e uma malha PID para controle da dinâmica do WMR. O conceito de splines suaves

é usado para formular o problema de otimização e então gerar as trajetórias ótimas para

o movimento do WMR. Os resultados parciais deste trabalho é apresentado, assim como

uma metodologia e um cronograma para o cumprimento de seus objetivos.

Palavras-chave: Robô Móvel. Controle. Não-linear.

ABSTRACT

This text submits to the qualifying exam a work which proposes a motion control archi-

tecture for a class of whelled mobile robot (WMR) - the differential robots driven by electric

motors - aiming at the optimization of their movement with respect to energy consumption.

The WMR model used in this work contains the kinematics of the unicycle, and both the ro-

bot chassis movement and electric drive dynamics, including their nonlinearities. Having as

reference the Hierarchical Nested Controller (NHC), the proposed architecture in this work

has two distinct layers: (i) the upper layer, the Trajectory Planner, gets the WMR movement

waypoints and corresponding times as inputs and plans the optimal trajectory in respecto

to energy consumtion; and (ii) the lower layer, the Trajectory Tracker generates the control

signal to force the WMR follow the sequence of points interpolated by the planning layer.

The Trajectory Tracker is implemented with two control loops: an input-output linearization

controller to handle the robot kinematics and a PID loop to control the WMR dynamics.

The concept of smoothing splines is used to formulate the optimization problem and hence

to generate the WMR movement optimal trajectories. The partial results of this work are

presented, as well as a methodology and a schedule for achieving the work objectives.

Keywords: Mobile Robot. Control. Non-Linear

LISTA DE ILUSTRAÇÕES

Figura 1 - Velocidade versus potência específica para alguns mecanismos de

locomoção. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Figura 2 - Robô comercial Pioneer P3-DX, da Adept Mobile Robots. . . . . . . 14

Figura 3 - Diagrama da arquitetura NHC. . . . . . . . . . . . . . . . . . . . . . 15

Figura 4 - O robô diferencial e seus sistemas referenciais. . . . . . . . . . . . . 17

Figura 5 - Diagrama de corpo livre de um ponto arbitrario no chassi do robô. . 19

Figura 6 - Modelo eletromecânico do Motor. . . . . . . . . . . . . . . . . . . . 21

Figura 7 - Diagrama de blocos do modelo não-linear do motor CC. . . . . . . . 22

Figura 8 - Diagrama de blocos dos modelos dinâmico e cinemático do robô. . . 23

Figura 9 - Ambiente virtual de simulação para o robô uniciclo diferencial. . . . . 24

Figura 10 - Problemas clássicos de controle de movimento de robôs móveis en-

contrados na literatura. . . . . . . . . . . . . . . . . . . . . . . . 26

Figura 11 - Abordagem ”siga a cenoura” original. . . . . . . . . . . . . . . . . . 31

Figura 12 - Abordagem ”siga a cenoura” modificada. . . . . . . . . . . . . . . . 32

Figura 13 - Diagrama de blocos do sistema de controle de Rastreamento de Tra-

jetória. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Figura 14 - Resposta ao degrau do controlador da dinâmica . . . . . . . . . . . 35

Figura 15 - Trajetórias de teste para o controle de Rastreamento de Trajetória. . 36

Figura 16 - A trajetória específica com um mix de seções de curvatura. . . . . . 37

Figura 17 - Sinais relevantes do experimento . . . . . . . . . . . . . . . . . . . 37

Figura 18 - A sensibilidade do erro linear el para alguns valores distintos do ga-

nho linear Kl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Figura 19 - Uma trajetória lemniscata percorrida por oito ciclos. . . . . . . . . . 39

Figura 20 - Sinais do experimento com a trajetória lemniscata. . . . . . . . . . . 39

Figura 21 - Uma ilustração simplificada do problema de planejamento de caminho. 41

Figura 22 - A postura do WMR e sua trajetória de referência parametrizada em s. 44

Figura 23 - Controle de trajetória direcionada a waypoints. . . . . . . . . . . . . 46

Figura 24 - Planejamento de trajetória direcionada a waypoints no plano. . . . . 48

Figura 25 - Diagrama esquemático de blocos da Arquitetura de Controle proposta. 50

Figura 26 - Cronograma de Atividades Atualizado - Mensal. . . . . . . . . . . . 51

LISTA DE TABELAS

Tabela 1 - Parâmetros do robô usados para simulação. . . . . . . . . . . . . . 24

LISTA DE ABREVIATURAS E SIGLAS

AUV Autonomous underwater vehicle

CC corrente contínua

DARPA Defense Advanced Research Projects Agency

EPUSP Escola Politécnica da Universidade de São Paulo

LVNT Laboratório de Veículos Não Tripulados

MIMO Multiple Input, Multiple Output

NHC Nested Hierarchical Controller

PID Proporcional Integral Derivativo

WMR Wheeled Mobile Robot

LISTA DE SÍMBOLOS

ALFABETO ROMANO

a conjunto de equações diferenciais que representam um sistema

A, B, C matrizes da equação de estados de um sistema

b largura do WMR

bm coeficiente de amortecimento mecânico

Cp Ponto Cenoura (Carrot Point)

C matriz de controlabilidade

df distância entre o centro de rotação do robô e sua face frontal

ex, ey erros em coordenadas cartesianas

el, eθ erros em coordenadas polares

G Gramiano

h distância entre o centro de rotação do WMR e o seu centro de gravidade

I momento de inércia do chassi

ia corrente da armadura

J momento de inércia do motor

K matriz de ganho

Ke constante elétrica do motor

Kt constante de torque do motor

Kl, Kθ ganhos de um controlador de posição em coordenadas polares

Kp, Ki, Kd ganhos de um controlador PID

l comprimento do WMR

La indutância da armadura

M massa do WMR

N relação de engrenagens

O origem do sistema de inercial de referência

p saída de um sistema no espaço de estados

q estado de um sistema no espaço de estados

r raio das rodas do WMR

R centro de rotação do WMR

Ra resistência da armadura

R matriz de rotação ortogonal

s parâmetro de curva

T torque

T matriz de pesos para otimização

u tensão elétrica CC

v velocidade de translação

x, y coordenadas cartesianas

X, Y eixos de um sistema de coordenadas ou coordenadas parametrizadas

(dependendo do contexto)

ALFABETO GREGO

α, β limites para intervalos de interpolação

γ, λ multiplicadores de Lagrange

η coeficiente de otimização

θ ângulo entre o sistema de coordenadas do WMR e o sistema inercial no

domínio do tempo

Θ ângulo entre o sistema de coordenadas do WMR e o sistema inercial no

domínio da curva

µ parâmetro de suavização para splines

ξ vetor de postura do WMR no domínio do tempo

Ξ vetor de postura do WMR no domínio da curva

ρ peso da importância energética no problema de otimização

% hiato entre o erro linear e o Ponto Cenoura

τ torque ou peso do erro geométrico no problema de otimização (depen-

dendo do contexto)

τs coeficiente de torque relativo à static friction ou fricção estática

τc coeficiente de torque relativo à fricção de Coulomb

ϕ raio de curvatura

ψ ponto de interesse (waypoint)

ω velocidade angular

SIMBOLOGIA ESPECIAL

C caminho (path) no plano

F . sistema de coordenadas

sign(.) função que retorna o sinal de (.)

min(.) função que retorna o mínimo de (.)

negrito vetores ou matrizes

∧ and lógico

SUBESCRITOS

(.)a relativo à armadura do motor

(.)cp relativo ao Ponto Cenoura (Carrot Point)

(.)d relativo à referência desejada (desired)

(.)i índice para contagem ou somatória

(.)l relativo à esquerda (roda ou motor)

(.)m relativo ao motor

(.)max valor máximo de (.)

(.)min valor mínimo de (.)

(.)O relativo ao sistema inercial de referência

(.)R relativo ao WMR

(.)r relativo à direita (roda ou motor)

(.)ref relativo à referência

(.)Sat relativo à saturação

(.)ss relativo ao regime permanente (static state)

(.)x relativo à direção no eixo X

(.)y relativo à direção no eixo Y

(.)Zm relativo à zona morta

(.)ω relativo à velocidade angular

(.)0 velocidade fixa ou velocidade inicial (dependendo do contexto)

SOBRESCRITOS

(.)P relativo a um ponto arbitrário no chassi

(.)(n) enésima derivada de (.)

(.)R relativo ao WMR

(.)T operação de transposição matricial

(.)∗ ótimo de (.)

(.) (.) estimado˙(.) derivada no tempo

(.) erro

SUMÁRIO

1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.1 CONTEXTUALIZAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.2 ESCOPO E PROBLEMA DE PESQUISA . . . . . . . . . . . . . . . . . . . . . 13

1.3 OBJETIVOS DE PESQUISA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.4 ORGANIZAÇÃO DO TEXTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2 O ROBÔ MÓVEL SOBRE RODAS . . . . . . . . . . . . . . . . . . . . . . 17

2.1 MODELAGEM MATEMÁTICA DO WMR . . . . . . . . . . . . . . . . . . . . . . 17

2.1.1 Modelo Cinemático Direto . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.1.2 Modelo Dinâmico do Chassis . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.3 Modelo do Motor de Corrente Continua . . . . . . . . . . . . . . . . . . . 21

2.1.3.1 Modelo Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.1.3.2 Modelo Não Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.2 IMPLEMENTAÇÃO COMPUTACIONAL . . . . . . . . . . . . . . . . . . . . . . 23

2.3 CONTROLE DE MOVIMENTO DE ROBÔS MÓVEIS SOBRE RODAS . . . . . 25

2.3.1 Controlabilidade para o Problema de Rastreamento de Trajetória . . . . 28

3 RASTREAMENTO DE TRAJETÓRIA . . . . . . . . . . . . . . . . . . . . 30

3.1 CONTROLE DA CINEMÁTICA . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.1.1 Linearização por Realimentação . . . . . . . . . . . . . . . . . . . . . . . . 30

3.1.2 A abordagem ”Siga a Cenoura” . . . . . . . . . . . . . . . . . . . . . . . . 31

3.1.3 Uma modificação da abordagem ”Siga a Cenoura” . . . . . . . . . . . . . 32

3.2 CONTROLE DA DINÂMICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.3 IMPLEMENTAÇÃO COMPUTACIONAL . . . . . . . . . . . . . . . . . . . . . . 34

3.4 RESULTADOS EXPERIMENTAIS . . . . . . . . . . . . . . . . . . . . . . . . . 35

4 PLANEJAMENTO DE TRAJETÓRIA . . . . . . . . . . . . . . . . . . . . . 40

4.1 SPLINES SUAVES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.1.1 Descrição do caminho (path) . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.1.2 Parametrização temporal do caminho . . . . . . . . . . . . . . . . . . . . 44

4.2 OTIMIZAÇÃO DA TRAJETÓRIA . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.1 FORMULAÇÃO DO PROBLEMA . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.2 PROPOSTA DE TRABALHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.3 CRONOGRAMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

ANEXO A – DATASHEET DO MOTOR CC . . . . . . . . . . . . . . . . . . . 59

12

1 INTRODUÇÃO

1.1 CONTEXTUALIZAÇÃO

A sociedade vem experimentando o advento de novas tecnologias com uma freqüên-

cia cada vez maior, e um dos campos de conhecimento que mais evoluíram científica e

tecnologicamente é o da Robótica Móvel.

Notadamente percebe-se o avanço tecnológico recente neste campo, com os drones

aéreos, automóveis com direção automática, submarinos autônomos, aspiradores de pó

robóticos, e toda a sorte de veículos automáticos que dia após dia têm feito parte de nosso

cotidiano. Se utilizado para fins pacíficos, estes avanços podem trazer melhorias significa-

tivas para a qualidade de vida do ser humano e benefícios para a sociedade.

Inicialmente, o foco na pesquisa neste campo se concentrou em aplicações aeronáuticas

e espaciais, incluindo veículos de lançamento, transferência orbital e aviação supersônica.

Em todas estas aplicações, a possibilidade de resolver problemas de controle complexos

só foi possível devido a avanços na computação de alta velocidade.

Mais recentemente, aplicações civis e comerciais de robôs móveis tem ganhado espaço

e atenção da comunidade acadêmica. Empresas que tradicionalmente são fabricantes

de robôs manipuladores, como a KUKA e a ABB, desenvolvem aplicações industriais em

plataformas móveis. Outras, como a Sony e a Boston Dynamics têm desenvolvido pesquisa

com robôs com pernas.

A agência estadunidense DARPA – Defense Advanced Research Projects Agency –

promove anualmente desafios a universidades, empresas e institutos de pesquisa inter-

nacionais no sentido de captar tecnologia para projetos de defesa. Enfim, este campo

tecnológico gera uma demanda de pesquisa científica que tem sido acolhida por universi-

dades pelo mundo, como por exemplo a ETH Zürich, a Georgia Institute of Technology, a

Oxford Mobile Robotic Group, dentre tantas outras.

O Departamento de Engenharia Mecatrônica e de Sistemas Mecânicos da Escola Poli-

técnica da Universidade de São Paulo (EPUSP) tem participado desse processo. O Labo-

ratório de Veículos Não Tripulados (LVNT) vem desenvolvendo projetos de pesquisa apli-

cada em veículos aquáticos e aéreos, tanto autônomos quanto semi-autônomos, com tra-

balhos voltados para a identificação da dinâmica veicular (AVILA, 2008; DANTAS, 2014),

para o desenvolvimento de arquiteturas de controle (FERREIRA, 2003; CUTIPA-LUQUE,

2012) e de sistemas de navegação (ZANONI, 2012) de AUV – Autonomous underwa-

ter vehicle, baseados em protótipos desenvolvidos pelo Laboratório, como o LAURS e o

Pirajuba.

13

Outros grupos do Departamento têm contribuído com este desenvolvimento através de

pesquisas científicas correlatas, como no campo de fusão sensorial (SANTANA, 2011;

CAMPOS FILHO, 2012), mapeamento e navegação por visão computacional (DECCÓ,

2004; OLIVEIRA, 2008) e posicionamento dinâmico (TANNURI, 2009; MIYAZAKI, 2013).

A autonomia energética de veículos autônomos é diretamente impactada pela energia

disponível e pela eficiência em sua movimentação. Estas considerações são de fundamen-

tal importância em áreas remotas e isoladas, como por exemplo, em ambientes espaciais

ou submarinos, onde a recuperação ou reabastecimento energético não é possível.

Especificamente, o consumo energético de robôs móveis pode ser minimizado pela oti-

mização da eficiência energética de seus sistemas, incluindo motores e drivers, em sua

etapa de projeto. Entretanto, ganhos consideráveis podem ser obtidos com o planeja-

mento eficiente de sua movimentação. Este campo de estudos tem emergido como uma

forma alternativa interessante para minimizar o consumo energético de robôs, e ainda não

tem sido suficientemente explorado (LIU; SUN, 2014).

A pergunta motivadora de pesquisa é então formulada: ”como um veículo autônomo

pode realizar seu movimento de forma a otimizar seu consumo energético?”

1.2 ESCOPO E PROBLEMA DE PESQUISA

Existe uma grande variedade de formas possíveis de movimentação robótica, a maioria

deles inspirados na biologia, permitindo que robôs possam andar, pular, correr, deslizar, na-

dar, voar e rolar (SIEGWART; NOURBAKHSH, 2004). Porém, existem exceções derivadas

de uma das mais antigas invenções humanas: a roda. Ela pode alcançar eficiência supe-

rior a mecanismos biológicos, como ilustrado na Figura 1, com uma relativa simplicidade

de implementação mecânica.

100

10

espe

cífic

a (h

p/to

n)

1

0.1100101

Pot

ênci

a es

pecí

fica

Velocidade (milhas/h)

Figura 1 - Velocidade versus potência específica para alguns mecanismos de locomoção.

Fonte: Siegwart e Nourbakhsh (2004).

14

Por estas características, este trabalho escolhe como objeto de pesquisa um robô móvel

terrestre sobre rodas (WMR – Wheeled Mobile Robot) com topologia diferencial. Esta

topologia robótica possui formato retangular e duas rodas tracionadas individualmente por

motores elétricos. Tais aspectos lhe conferem relativa facilidade de construção a custos

acessíveis, e por este motivo tem sido popularmente utilizado como plataforma de pesquisa

(AICARDI et al., 1995; ASHOORIRAD et al., 2006; CHWA, 2010; LI; YE, 2014). A Figura 2

ilustra um WMR comercial com esta configuração.

Figura 2 - Robô comercial Pioneer P3-DX, da Adept Mobile Robots.

Seja então um WMR diferencial num ambiente plano e estruturado1. Sua movimenta-

ção partindo de um ponto e chegando a outro depende de um sistema de controle de

movimento. Dentre as arquiteturas de controle de movimento mais utilizadas está o Con-

trolador Hierárquico Aninhado (MURPHY, 2000), ou Nested Hierarchical Controller (NHC),

uma arquitetura de controle hierárquico deliberativo, ilustrada na Figura 3.

Nesta adaptação da arquitetura NHC, o planejamento é decomposto em dois níveis hie-

rárquicos de abstração: o Planejador de Missão e o Planejador de Trajetória (ou Navega-

dor). De um nível para outro, o planejamento se torna mais específico e detalhado. Desta

forma, o Planejador de Missão envia objetivos da missão para o Planejador de Trajetória,

que por sua vez determina ações que devem ser enviadas ao controlador de baixo nível

(Rastreador de Trajetória), para que o robô percorra o trecho da trajetória.

Conforme o robô se move, novas informações são adquiridas por meio dos sensores do

robô para atualização do modelo do mundo. Quando necessário, o Planejador de Trajetória

corrige o movimento local do robô para controlar as eventuais divergências percebidas. Se

ainda assim esta correção não for suficiente, o Planejador de Missão refaz o planejamento

da missão, apresentando novos objetivos ao Planejador de Trajetórias.

1Num ambiente estruturado os parâmetros necessários à operacionalidade do sistema robótico – como

por exemplo obstáculos fixos ou móveis, coeficiente de atrito do solo ou inclinação do plano – possam ser

identificados e quantificados

15

Sentir

Modelo de Mundo/

Base de Conhecimento

Planejar

Planejador de

Missão

Planejador de

Trajetória

Objetivo

Trajetória

Agir

Rastreador de

Trajetória

Robô Móvel

Ação de

Controle

t

Figura 3 - Diagrama da arquitetura NHC (adaptado de Murphy (2000)).

O presente texto para o Exame de Qualificação apresenta uma proposta de trabalho

que foca na proposição de controladores para dois níveis desta arquitetura, destacadas na

Figura 3: o Planejador de Trajetória e o Rastreador de Trajetória.

Partindo-se do pressuposto de que o ambiente onde o robô se move é estruturado, as

tarefas de mapeamento, navegação e telemetria ficam transparentes ao problema desta

pesquisa. Então, o problema tem seus limites bem definidos: dado um WMR diferencial

acionado por motores elétricos em um ambiente plano estruturado, cujo objetivo é se des-

locar através de pontos definidos neste plano – waypoints, quais são as ações de controle

necessárias para atender tal objetivo de maneira ótima do ponto de vista energético?

1.3 OBJETIVOS DE PESQUISA

De forma geral, este trabalho objetiva definir uma arquitetura de controle hierárquico

para controle de movimento de um robô diferencial, visando a otimização de seu consumo

energético, baseado na arquitetura NHC proposta por Murphy (2000).

Tendo em vista o escopo da pesquisa cujo foco se limita à arquitetura de controle,

escolheu-se utilizar de um modelo matemático implementado computacionalmente, porém

que seja suficientemente complexo para se aproximar ao máximo possível de um WMR

real. Nørgaard, Poulsen e Ravn (2000) apresentam um modelo matemático de um robô

diferencial que atende esta expectativa. O primeiro objetivo específico é implementar com-

putacionalmente este modelo matemático como um bloco de Mathworks Simulink.

16

Os pontos de controle, ou waypoints, definidos externamente pelo Planejador de Missão

devem conter as coordenadas específicas dos pontos no plano, assim como o tempo na

qual o WMR deve atingir estes pontos. Então, o objetivo do Planejamento de Trajetória é

interpolar estes pontos de forma a traçar uma trajetória ótima, minimizando um funcional

de custo que contemple a energia necessária para a realização desta trajetória. A formula-

ção matemática e a implementação computacional desta otimização é o segundo objetivo

específico desta pesquisa.

Por fim, o terceiro objetivo específico desta pesquisa é formular e implementar com-

putacionalmente um controlador capaz de, dados os pontos interpolados pelo Planejador

de Trajetória, gerar sinais de controle (neste caso, a tensão em cada uma das rodas) ca-

paz de levar o WMR a rastrear a trajetória gerada. Ambos os controladores (Planejador e

Rastreador de Trajetória) serão implementados em Mathworks Matlab.

1.4 ORGANIZAÇÃO DO TEXTO

Alguns dos objetivos foram totalmente ou parcialmente alcançados neste processo de

doutoramento. Este texto de qualificação vem apresentar os resultados do trabalho até

então, assim como propostas para sua consecução.

No Capítulo 2, é apresentada a formulação do modelo matemático proposto por Nørga-

ard, Poulsen e Ravn (2000). A implementação computacional deste modelo em Mathworks

Simulink então é descrita. Neste capítulo também é apresentado uma revisão da literatura

sobre o problema de controle de movimento de robôs móveis, demonstrando que o modelo

proposto não permite um controlador universal, que dê conta de qualquer trajetória e sob

qualquer condição inicial.

Então, no Capítulo 3, uma proposta de controle de Rastreamento de Trajetória é apre-

sentada, tratando as questões cinemáticas e dinâmicas do modelo do WMR de forma

isolada. Para a cinemática, apresenta-se um controle baseado em linearização entrada-

saída (input-output feedback linearization) (SLOTINE; LI, 1991); para dinâmica, um con-

trole baseado em PID. Os resultados experimentais deste controlador em malha dupla são

apresentados e discutidos no capítulo.

Em seguida, no Capítulo 4, uma revisão na literatura de Planejamento de Trajetória in-

troduz o conceito de smoothing splines (ou splines suaves) para planejamento de caminho,

tão bem como formula o problema de otimização de trajetória.

Por fim, o Capítulo 5 propõe uma metodologia de trabalho para o problema de con-

trole ótimo e de formulação da arquitetura propostos neste documento, tão bem como um

cronograma de atividades para a consecução do trabalho.

17

2 O ROBÔ MÓVEL SOBRE RODAS

2.1 MODELAGEM MATEMÁTICA DO WMR

Nesta seção, o modelo matemático do robô móvel é apresentado. O robô escolhido

para este trabalho, um robô diferencial, possui um modelo cinemático uniciclo, que possui

restrições cinemáticas. É apresentado também um modelo dinâmico relativamente com-

pleto, contendo efeitos dinâmicos reais – como os efeitos Coriolis, aceleração centrifuga e

não-linearidades referentes às fricções e saturações dos motores DC.

2.1.1 Modelo Cinemático Direto

O modelo cinemático do uniciclo considera o robô como um corpo rígido sobre rodas,

operando em um plano horizontal. São também consideradas três dimensões que carac-

terizam o número de graus de liberdade do robô: duas para a sua posição no plano e uma

para a orientação do eixo de simetria do robô em relação ao plano. Também considera-se

o chassis do robô como sendo apenas seu corpo rígido retangular, ignorando as juntas

e os graus de liberdade internos ao robô e também as suas rodas (D’ANDREA-NOVEL;

CAMPION; BASTIN, 1993).

Neste trabalho considera-se o robô constituído de duas rodas de raio r montadas em

um eixo imaginário YR, e controladas por motores independentes, como ilustra a Figura 4.

Sejam também definidas as dimensões do robô, com largura b e comprimento l, e df a

distância entre o centro de rotação do robô R e sua face frontal.

YO

XO

YR

XR

θ

b

l

r

dfωl

ωr

vRxvRyy

x

R

O

Figura 4 - O robô diferencial e seus sistemas referenciais.

18

Para especificar a posição do robô no plano, são estabelecidos dois sistemas de refe-

rência - um sistema de coordenadas global FO : XO, YO a partir de uma origem iner-

cial O e um sistema de coordenadas do corpo do veículo a partir do ponto R dado por

FR : XR, YR. A posição do ponto R no sistema global de referência é especificada pelas

coordenadas x e y, e a diferença angular entre ambos os sistemas de referência é dada por

θ. Então, as coordenadas generalizadas (pose ou postura) do robô em um determinado

tempo t podem ser representadas pelo vetor

ξO(t) = [x(t), y(t), θ(t)]T . (1)

O mapeamento entre os sistemas de coordenadas FO e FR é dado pela matriz de rota-

ção ortogonal:

R(θ) =

cosθ senθ 0

−senθ cosθ 0

0 0 1

. (2)

Esta matriz pode ser usada para mapear o movimento entre os dois sistemas de coor-

denadas pela operação ξR =R(θ)ξO.

Como ambas as rodas são controladas individualmente, suas velocidades angulares

ωr(t) e ωl(t) são independentes. Então, podem-se relacionar as velocidades angulares

das rodas com a velocidade de translação v(t) = vRx (t) =√x2(t) + y2(t) na direção de

XR e com a velocidade de rotação ω(t) = θ do sistema de coordenadas do veículo da

seguinte forma (NØRGAARD; POULSEN; RAVN, 2000):

v(t) =r(ωr(t) + ωl(t))

2,

ω(t) =r(ωr(t)− ωl(t))

b. (3)

Se a velocidade linear do robô for decomposta em suas componentes referentes ao

sistema inercial FO, pode se escrever

ξO =

x(t)

y(t)

θ(t)

=

cosθ(t) 0

senθ(t) 0

0 1

[v(t)

ω(t)

]. (4)

Substituindo 3 em 4, e considerando o mesmo raio para ambas as rodas, tem-se o

modelo cinemático do uniciclo:

ξO =

x(t)

y(t)

θ(t)

=

rcosθ(t)/2 rcosθ(t)/2

rsenθ(t)/2 rsenθ(t)/2

r/b −r/b

[ωr(t)

ωl(t)

]. (5)

19

Observa-se pelas Equação 5 que este modelo é subatuado, ou seja, o número de entra-

das de controle independentes ([ωr ωl]T ∈ R2) é menor do que o grau de liberdade (DOF)

do robô (ξO ∈ R3). Esta divergência dimensional se deve a restrições de movimento, ou

restrições cinemáticas dadas pelas equações

xcosθ − ysenθ − (b/2)θ = rωl,

xcosθ − ysenθ + (b/2)θ = rωr,

xsenθ − ycosθ = 0. (6)

Quando as acelerações também são consideradas como particularidades do movimento

do robô, restrições dinâmicas também devem ser expressas.

2.1.2 Modelo Dinâmico do Chassis

As velocidades do robô nas direções perpendiculares XR e YR são dadas pelas compo-

nentes vRx e vRy respectivamente. Seja um ponto arbitrário P = (x∗, y∗) no corpo do veículo,

cujas componentes de velocidades são dadas por vPx e vPy como mostra a Figura 5.

YR

XR

vRy

vRx

y∗

x∗

P

R

vPy

vPx

ω

Figura 5 - Diagrama de corpo livre de um ponto arbitrario no chassi do robô.

A relação entre vPx , vPy e vRx , vRy e a velocidade angular ω = θ do chassis do WMR pode

ser descrita por

vPx = vRx − ωy∗,

vPy = vRy + ωx∗. (7)

Derivando-se as velocidades das equações 7 e aplicando-se a segunda lei de Newton

sob a massa M do veículo tem-se

FRx = M(vRx − ωy∗ − ωvRy − ω2x∗),

FRx = M(vRy + ωx∗ + ωvRx − ω2y∗). (8)

20

As forças em cada direção são compostas por quatro termos. Os primeiros são relativos

às acelerações do veículo em cada uma das direções (vRx e vRy ). Os segundos correspon-

dem às componentes da aceleração de Euler, ou aceleração tranversal, dado pelo produto

vetorial entre a aceleração angular e o vetor (~P − ~R).

Os dois últimos termos tem relação com as pseudo-forças inerciais: os terceiros estão

relacionados com as componentes da aceleração inercial de Coriolis, expressa pelo pro-

duto vetorial entre a velocidade linear e a velocidade angular; enquanto os quartos termos

são as componentes da aceleração inercial centrífuga.

Se o ponto P for escolhido como sendo o centro de massa do veículo, localizado a uma

distância h de R, no eixo XR, então tem-se que y∗ = 0, vRy = 0, x∗ = −h. Assumindo

vRx = v, as equações 8 podem ser reescritas como

FRx = Fxr + Fxl = M(v + ω2h),

FRy = Fyr + Fyl = M(−ωh+ ωv). (9)

Como o ponto R está localizado no ponto médio entre as rodas, I o momento de inércia

do chassi, pode-se escrever o momento angular da forma

Iω =b

2(Fxr − Fxl) + h(Fyr + Fyl). (10)

Substituindo 9 em 10, após alguns arranjos algébricos, as forças em cada uma das rodas

na direção XR são dadas por

Fxr =I +Mh2

bω +

Mh

2ω2 − Mh

bωv +

M

2v,

Fxl = −I +Mh2

bω +

Mh

2ω2 +

Mh

bωv +

M

2v. (11)

Substituindo as equações 3 – assim como suas derivadas no tempo – nas equações 11,

leva a relação entre as forças nas rodas e suas velocidades angulares:

Fxr =

(M

4+I +Mh2

b2

)rωr +

(M

4− I +Mh2

b2

)rωl+

+Mh

b2r2(ω2

l − ωrωl),

Fxl =

(M

4− I +Mh2

b2

)rωr +

(M

4+I +Mh2

b2

)rωl+

+Mh

b2r2(ω2

r − ωrωl). (12)

Maiores detalhes a respeito da formulação matemática deste modelo dinâmico podem

ser encontrados no relatório técnico de Nørgaard, Poulsen e Ravn (2000).

21

2.1.3 Modelo do Motor de Corrente Continua

Cada roda do robô é acionada por um motor de corrente contínua (CC) independente.

Os modelos lineares e não-lineares são descritos nesta subseção.

2.1.3.1 Modelo Linear

O circuito elétrico da armadura e o diagrama de corpo livre do rotor é mostrado na

Figura 6.

+−u

RaiaLa

+−e

θm Tm

Jm

bm

Figura 6 - Modelo eletromecânico do Motor.

Onde Ra é a resistência da armadura, La é a indutância da armadura, e a força contra-

eletromotriz que recai sobre o circuito do motor, Tm é o torque gerado pelo motor e θm é a

velocidade angular do eixo. O momento de inércia Jm e o coeficiente de amortecimento bm

são inerentes aos aspectos construtivos do motor.

Neste modelo de motor controlado por armadura, assume-se que a entrada do sistema

é a fonte de tensão u aplicada à armadura do motor, enquanto a saída do sistema é a

velocidade do eixo do motor ωm = θm. Assume-se também que o rotor e seu eixo são

rígidos. Também supõe-se que o motor não está sofrendo influência de torques de cargas

externos ao modelo.

Num modelo linear, o torque Tm = Ktia gerado pelo motor CC é proporcional à corrente

de armadura, e a força contra-eletromotriz e = Keθm é proporcional à velocidade angular

do eixo, onde Ke é a constante contra-eletromotriz induzida e Kt a constante de torque.

Aplicando-se a lei de Kirchoff no circuito da armadura e a lei de Newton rotacional no eixo

do motor, tem-se as duas equações diferenciais que regem o comportamento dinâmico do

sistema:

diadt

=1

La

(u−Raia −Ke

dθmdt

), (13)

d2θmdt2

=1

Jm

(Ktia − bm

dθmdt

). (14)

22

2.1.3.2 Modelo Não Linear

O diagrama de blocos do modelo não linear do motor CC proposto é apresentado na

Figura 7, onde s é o operador derivativo de Laplace. O modelo considera a tensão imposta

na armadura u como entrada e a velocidade do eixo do motor θm como saida.

−−+

u 1La

1s

diadt

Saturacao Kt−−+

Tm

τ

1Jm

1s

d2θmdt2

Zona−Morta

dθmdt

Raia

bm

FriccoesTs + Tc

Kee

Figura 7 - Diagrama de blocos do modelo não-linear do motor CC.

Neste modelo, foram incluídas a saturação da corrente na armadura iSat, a zona morta

relativa à partida do motor θZm e duas componentes de atrito - a estática Ts (static fricion

ou stiction) e a dinâmica Tc (fricção de Couloumb) dadas por:

iSat =

imax , i ≥ imax

i , imin < i < imax

imin , i ≤ imin

θZm =

θ , |θ| > θmin

0 , |θ| ≤ θmin

Ts =

sign(Tm).min(τs, |Tm − τ |) , θ 6= 0

0 , θ = 0

Tc =τcsign(θ),

onde τc é a magnitude do torque dado pela fricção de Coulomb, τs e o máximo torque dado

pelo atrito estático e τ é o distúrbio de torque causado pelas forças externas que agem

sobre a roda. Os limites de corrente são dados por imin e imax, e a mínima velocidade do

motor, que limita a sua zona-morta, dada por θmin.

O sistema de tração do robô é construído com uma relação linear entre os eixos do motor

e da roda, através de uma caixa de engrenagens com relação dada por 1/N . Se ambas

as rodas possuírem o mesmo raio rl = rr = r, a relação entre as velocidades angulares é

dada por ωm = Nωroda, e a relação entre torques dada por Fr = Nτ .

23

Considerando ambos os motores com as mesmas características eletromecânicas, a

Equação 12, a função transferência relativa ao diagrama de blocos na Figura 7, e que

usualmente La Ra, o modelo completo do robô é dada pelas equações2:

Jrωmr =Kt

Ra

ur +KtKe −Rabm

Ra

ωmr− (15)

− r2

N2

(M

4+I +Mh2

b2

)ωmr −

r2

N2

(M

4− I +Mh2

b2

)ωml−

− Mhr3

b2N3(ω2

ml − ωmrωml)− τcrsign(ωmr)− Tsr,

Jlωml =Kt

Ra

ul +KtKe −Rabm

Ra

ωml− (16)

− r2

N2

(M

4− I +Mh2

b2

)ωmr −

r2

N2

(M

4+I +Mh2

b2

)ωml−

− Mhr3

b2N3(ω2

ml − ωmrωml)− τclsign(ωml)− Tsl.

2.2 IMPLEMENTAÇÃO COMPUTACIONAL

O modelo dinâmico completo representado matematicamente pelas equações 15 e 16,

e o modelo cinemático descrito pela equação 5 foram implementados computacionalmente

no ambiente Mathworks Simulink, ilustrado como diagrama de blocos da Figura 8.

Modelo Dinâmico

Motor Direito

Não Linearidades

ur

τlr

Redutor

ωmr

Motor Esquerdo

Não Linearidades

Acopladas

ul

τrl

Redutor

ωml

ωr

Modelo Cinemático

x

y

ωl

θ

Figura 8 - Diagrama de blocos dos modelos dinâmico e cinemático do robô.

2Para que se possa escrever algebricamente estas equações, a saturação da corrente e a zona morta

foram negligenciadas.

24

Este é um sistema MIMO – Multiple Input, Multiple Output, cujas entradas ul e ur são as

tensões impostas para os motores esquerdo e direito respectivamente, e como saida do

sistema tem-se a postura do robô, representado pelo vetor ξO = [x, y, θ]T .

As constantes paramétricas para o modelo são apresentadas na Tabela 1. As carac-

terísticas geométricas do chassi foram definidas levando-se em consideração a proposta

de implementação deste trabalho. As características eletromecânicas dos motores foram

retiradas da folha de dados do motor, apresentada no Anexo A.

Tabela 1 - Parâmetros do robô usados para simulação.

Eletromecânicos Geometria do chassi

La 6.2*10−3 H b 0.3 m

Ra 8.33 Ω l 0.5 m

Ke 3.95*10−2 V s/rad df 0.15 m

Kt 3.95*10−2 Nm/A rl 0.1 m

bm 8.13*10−6 Nms/rad rr 0.1 m

τc 0.00353 Nms/rad M 10 kg

τs 0.0078 Nms/rad I 0.28 kgm2

Jm 7.13*10−9 kgm2 h 0 m

N 19.7

Um ambiente gráfico virtual de simulação foi desenvolvido em Matlab para se observar o

comportamento do robô em relação ao sistema inercial de referência. A Figura 9 -a ilustra

o ambiente virtual de simulação e a Figura 9 -b o detalhe do chassi do robô e suas rodas.

0 2 4 6 8 10−1

0

1

2

3

4

5

6

7

8

9

x[m]

y[m

]

(a) Mundo virtual com o robô e seus obs-

táculos,

3.5 4 4.5 5 5.5 6

3.5

4

4.5

5

5.5

x[m]

y[m

]

(b) Detalhe do robô.

Figura 9 - Ambiente virtual de simulação para o robô uniciclo diferencial.

25

2.3 CONTROLE DE MOVIMENTO DE ROBÔS MÓVEIS SOBRE RODAS

O controle de movimento para robôs móveis tem sido, e ainda é, foco de muitas pes-

quisas científicas na área de robótica. Convencionalmente, os problemas de controle de

movimento de veículos autônomos encontrados na literatura podem ser classificados em

três categorias básicas (SICILIANO; KHATIB, 2008; XIANG et al., 2011; TZAFESTAS,

2014):

• Estabilização de Postura – Pose Stabilisation

O objetivo deste problema de controle é estabilizar o vetor de postura ξO(t) = [x, y, θ]T

em uma determinada postura de referência, como mostra a Figura 10 -a . Um exem-

plo real correspondente a este problema é o estacionamento de um veiculo em uma

determinada vaga de garagem.

• Seguimento de Caminho – Path Following

O objetivo do controle é ter o ponto R fixo no robô seguindo a curva C ∈ FO quando

o robô move com uma velocidade fixa v0 6= 0. A variável que se deve estabilizar em

zero é, então, a distância d entre o ponto R e o ponto M mais próximo de C , como

ilustrado na Figura 10 -b. Este tipo de problema tipicamente corresponde a dirigir em

uma rodovia enquanto se tenta manter a distância entre o veículo e o lado da rodovia

constante.

• Rastreamento de Trajetória – Trajectory Tracking

Este problema difere do último no sentido em que a velocidade longitudinal do veículo

não é pré-fixada. O problema de rastreamento supõe que a curva geométrica C é

complementada com a velocidade da referência parametrizada com a variável tempo t.

Isto leva definir a trajetória t 7−→ (xref (t), yref (t)) ∈ FO. Então, o objetivo é estabilizar

o vetor de erro linear de posição e = (xref (t)−x(t), yref (t)−y(t)) a zero, como mostra

a Figura 10 -c.

O trabalho pioneiro de Dubins (1957) demonstra que, para um veículo com restrições

não-holonômicas em um espaço bidimensional, qualquer geodésica (i.e. o caminho mais

curto) entre duas posturas é sempre constituído de três curvas, que podem ser arcos para

a esquerda (L) e direita (R), ou um seguimento de reta (S). O caminho de tempo ótimo será

sempre pelo menos um dos seis tipos: RSR, RSL, LSR, LSL, RLR e LRL.

Apesar da proposta de Dubins se demonstrar eficaz para planejamento de caminho, o

problema de estabilização de postura para sistemas não-holonômicos não pode ser resol-

vido por lei de controle realimentado invariante no tempo (BROCKETT, 1983).

26

R

(a) Estabilização de Postura,

vd

R

vM

(b) Seguimento de Caminho,

Re

v(t)

(c) Rastreamento de Trajetória.

Figura 10 - Problemas clássicos de controle de movimento de robôs móveis encontrados

na literatura. Adaptado de Luca, Oriolo e Samson (1998)

Nos anos 90, Murray e Sastry (1991), apresentam uma conversão das equações ci-

nemáticas de WMRs não-holonômicos em uma forma nilpotente que denominam forma

encadeada (chained form). Os autores usam uma mudança das variáveis de estado e de

controle e mostram que é possível, utilizando esta forma, encontrar caminhos para condu-

zir o WMR entre posturas arbitrárias.

Esta forma de representação foi usada no trabalho pioneiro de Samson (1995) para de-

senvolver controladores realimentados como solução dos problemas de estabilização de

postura. A partir destes trabalhos pioneiros, duas abordagens principais têm sido pro-

postos na literatura: controle variante no tempo e realimentação descontínua (KOLMA-

NOVSKY; MCCLAMROCH, 1995; ZHEN-YING; CHAO-LI, 2011; SHANG; XIE, 2014; AL-

GER; VOTION; QIAN, 2014).

A problemática do rastreamento de trajetória para sistemas holonômicos é bem com-

preendida e soluções satisfatórias podem ser encontradas em livros de texto na área

de controle não linear (SLOTINE; LI, 1991; KHALIL, 1996). Porém, para sistemas não-

holonômicos, o problema ainda é foco de intensa pesquisa na área (SANHOURY; AMIN;

HUSAIN, 2011).

27

Tzafestas (2014) apresenta uma série de métodos de controle para WMR, baseados

em uma ampla pesquisa na literatura. Para movimento em ambientes controlados (ou

seja, baseado em regras determinísticas e conhecidas), e com parâmetros cinemáticos e

dinâmicos do robô precisamente conhecidos, é suficiente empregar algum tipo de controle

baseado em modelo.

Nesta categoria, o autor apresenta técnicas de projeto de controladores por linearização

baseadas no critério de estabilidade de Lyapunov (KANAYAMA et al., 1991; AICARDI et al.,

1995); utilizando linearização por realimentação de estados (state feedback linearization

de sistemas dinâmicos afins (YUN; YAMAMOTO, 2005; YANG et al., 2004); assim como

técnicas de controle seguindo a metodologia de variedades invariantes3 (REYHANOGLU,

1995; TAYEBI; TADJINE; RACHID, 2001; WATANABE et al., 2010)

Porém, se o modelo do WMR apresenta incertezas e/ou ele se movimenta em ambientes

não controlados, o algoritmo de controle deve ser mais sofisticado, envolvendo algum tipo

de inteligência.

Uma das metodologias básicas para tratar de incertezas do sistema é a metodologia

de controle adaptativo, que emprega um algoritmo para identificar os parâmetros variá-

veis em tempo real. Dentre as abordagens mais usadas estão o controle adaptativo por

modelo de referência (ASHOORIRAD et al., 2006) e a técnica de controle adaptativo por

backstepping (POURBOGHRAT; KARLSSON, 2002; HUANG; TSAI, 2008).

Outra metodologia empregada é o controle robusto, que requer um conhecimento à priori

dos limites das variações dos parâmetros. Quanto mais preciso o conhecimento destes

limites é, melhor é a robustez alcançados por esses controladores (DIXON et al., 2000; LI;

YE, 2014). Chwa (2004) apresenta uma resolução por modos deslizantes.

Por fim, Tzafestas (2014) apresenta algumas metodologias de IA como resolução do

problema de controle de movimento para WMR. Sistemas de controle por lógica fuzzy e por

redes neurais são aproximadores universais, ou seja, eles podem aproximar (ou mapear)

qualquer função não linear com certa precisão. Controladores para movimento de WMR

baseados por estas abordagens são apresentados pelo autor (RIGATOS; TZAFESTAS;

TZAFESTAS, 2000; DAS; KAR, 2006; MOUSTRIS; TZAFESTAS, 2005; OLIVEIRA; PIERI;

LAGES, 2003)

O controle para o problema de seguimento de caminho (path following) parte do pressu-

posto de que a velocidade de avanço do veículo é mantida constante, enquanto o contro-

lador age sobre a orientação do veículo para guiá-lo no caminho.

3Do inglês invariant manifolds. Apesar do termo em português parecer antitético, é desta forma que é

tratado dentro da literatura em controle na língua portuguesa.

28

Observa-se que os controladores de seguimento de caminho realizam uma convergência

mais suave pois são menos propensos à saturação quando comparados com os controla-

dores de rastreamento de trajetória. De fato, estes dois problemas foram historicamente

abordados de forma separada. Encarnação e Pascoal (2002) apresentam uma aborda-

gem de controle para WMRs combinando os problemas de seguimento de caminho e

de rastreamento de trajetória. Esta abordagem tem sido aperfeiçoada por outras pes-

quisas (AGUIAR; HESPANHA, 2007; XIANG et al., 2011; ALESSANDRETTI; AGUIAR;

JONES, 2013).

2.3.1 Controlabilidade para o Problema de Rastreamento de Trajetória

Ainda que o modelo do WMR seja sub-atuado, ele é controlável em seu espaço de confi-

guração (LUCA; ORIOLO; SAMSON, 1998), ou seja, dadas duas configurações arbitrárias,

sempre existe uma trajetória cinemática admíssivel (com suas entradas de velocidade as-

sociadas) que transfere o robô entre uma configuração e outra.

Porém, a controlabilidade do modelo uniciclo é intrinsecamente não-linear. Então, para

estudá-la, é necessário usar ferramentas da teoria de controle não-linear. Esta subse-

ção apresenta apenas a análise da controlabilidade para o problema de Rastreamento de

Trajetória.

Seja o vetor de postura do WMR dado por ξO(t) = [x(t), y(t), θ(t)]T , e o vetor que define

a postura de referência para movimento ξd(t) = [xd(t), yd(t), θd(t)]T . A postura de referên-

cia define também as velocidades lineares e angulares de referência, respectivamente vd

e ωd.

Definindo o erro de rastreamento como ξ = ξO − ξd e as variações de velocidade como

v = v−vd e ω = ω−ωd, a linearização tangencial (SLOTINE; LI, 1991) do sistema definido

pela Equação 4 é dada por

˙ξ =

0 0 −vdsenθd0 0 vdcosθd

0 0 0

ξ +

cosθd 0

senθd 0

0 1

[v

ω

], (17)

que é da forma ˙ξ = A(t)ξ+ B(t)[v ω]T . Como o sistema linearizado é variante no tempo,

uma condição necessária e suficiente para a sua controlabilidade é que seu Gramiano não

seja singular.

Luca, Oriolo e Vendittelli (2001) apresentam uma forma simplificada deste sistema, que

pode ser construída mapeando o sistema no sistema de coordenadas do robô FR, através

da transformação ξR =R(θ)ξO. Assim, a equação 17 pode ser reescrita como

29

˙ξR =

0 ωd 0

−ωd 0 vd

0 0 0

ξR +

1 0

0 0

0 1

[v

ω

]. (18)

Somente quando ωd e vd são constantes (i.e., a trajetória é uma linha reta ou uma cir-

cunferência, com velocidade linear constante), o sistema linear da Equação 18 é invariante

no tempo.

Então, seja a matriz de controlabilidade dada por

C =[B AB A2B

]=

1 0 0 0 −ω2

d vdωd

0 0 −ωd vd 0 0

0 1 0 0 0 0

. (19)

A condição de controlabilidade se dá por Rank[C] = 3 ⇐⇒ [vd ωd]T 6= [0 0]T .

Portanto, conclui-se que o sistema cinemático dado pela Equação 4 pode ser localmente

estabilizado por realimentação linear sobre uma trajetória que consiste em caminhos line-

ares ou circulares, executadas com velocidades constantes.

O modelo cinemático do uniciclo não permite um controlador universal, ou seja, que es-

tabilize o erro para qualquer trajetória, sob qualquer condição inicial. Isto significa que, em

princípio, o problema de Rastreamento de Trajetória deve ser conduzido utilizando aborda-

gens diferenciadas (ORIOLO, 2015). O Capítulo 3 apresenta uma proposta de controle de

Rastreamento de Trajetória utilizando a técnica de linearização por realimentação entrada-

saída.

30

3 RASTREAMENTO DE TRAJETÓRIA

Este capítulo apresenta a proposta de controle para o problema de Rastreamento de Traje-

tória. Em seu esquema, a cinemática e a dinâmica do WMR possuem sistemas de controle

projetados independentemente.

3.1 CONTROLE DA CINEMÁTICA

3.1.1 Linearização por Realimentação

A idéia central da metodologia de linearização por realimentação (feedback linearization)

é transformar algebricamente uma dinâmica não-linear de um sistema em uma dinâmica

linear, sob a qual técnicas de controle lineares podem ser aplicadas (SLOTINE; LI, 1991).

Seja um sistema descrito pela forma companheira (também conhecida como forma canô-

nica controlável), representado por

q(n) = f1(q) + f2(q)u, (20)

onde u é a entrada de controle, q é o estado de interesse para a saída, q = [q, q, . . . , q(n−1)]T

é o vetor de estados e f1(q) ∈ Rn, f2(q) ∈ RnXp são funções não-lineares dos estados.

Na representação da forma de equação no espaço de estados, o sistema (20) pode ser

escrito

d

dt

q1

. . .

qn−1

qn

=

q2

. . .

qn

f1(q) + f2(q)u

. (21)

Escolhendo a entrada de controle como sendo

u = (f2)−1 [v − f1] , (22)

e se f2 é não-singular, as não-linearidades são canceladas e se obtém uma relação entrada-

saída da forma q(n) = v.

Em se escolhendo a lei de controle v = −k0q− k1q− · · · − kn−1qn−1 tal que o polinômio

característico an + an−1an−1 + · · · + a0 tenha todas as raízes localizadas estritamente no

semi-plano complexo esquerdo, leva q(t)→ 0.

Esta abordagem tem sido aplicada para controle de movimento de WMR de forma sa-

tisfatória. Veja exemplos em (D’ANDREA-NOVEL; CAMPION; BASTIN, 1992; KIM; OH,

1999; ORIOLO; LUCA; VENDITTELLI, 2002; CHWA, 2010).

31

3.1.2 A abordagem ”Siga a Cenoura”

A abordagem ”Siga a Cenoura” (do inglês follow the carrot) foi apresentada inicialmente

por Rankin (1997) como uma solução para o problema de seguimento de caminho. Esta

abordagem vem da idéia de se segurar uma cenoura na frente de um cavalo para induzir

o animal a se mover em uma determinada direção. Com esta idéia, o método calcula

a orientação do veículo tal que este aponte para um ponto no caminho chamado ponto

cenoura.

O ponto cenoura Cp é localizado encontrando a intersecção de um círculo de raio L

centrado no ponto de rotação do veículo R e o caminho C . Se existirem duas intersec-

ções, será escolhida aquela à frente do ponto M mais próximo do caminho, como ilustra a

Figura 11.

R

M

v

L

Cp

Figura 11 - Abordagem ”siga a cenoura” original.

O objetivo do controle é minimizar o erro eϕ entre a direção do robô e do vetor entre R

e Cp. Tipicamente se utilizam estratégias de controle linear, como controlador proporcional

(BARTON, 2001) e controlador PID – Proporcional Integral Derivativo (WIT, 2000; HOGG

et al., 2002). Esta abordagem foi usada de forma satisfatória para a resolução do problema

de seguimento de caminho (YEU; PARK; HONG, 2006; WIT; CRANE; ARMSTRONG,

2004; HELLSTROM; RINGDAHL, 2006; DUAN et al., 2013; SUJIT; SARIPALLI; SOUSA,

2013)

32

3.1.3 Uma modificação da abordagem ”Siga a Cenoura”

Este trabalho vem apresentar uma nova abordagem de controle de cinemática para

WMR baseada na abordagem ”Siga a Cenoura”. O objetivo é adaptar a abordagem origi-

nal para que possa ser usada na resolução de problemas de Rastreamento de Trajetória -

Trajectory Tracking.

Seja o ponto-cenoura Cp = (xref , yref ) ∈ FO definido como a referência do movimento

para o WMR, movendo em um caminho parametrizado pelo tempo (i.e., uma trajetória) e

livre de obstáculos C ∈ FO.

O vetor vcp representa a velocidade do ponto-cenoura no plano FO. Um segmento de li-

nha é virtualmente traçada do centro de rotação do robôR = (x, y) ∈ FO ao ponto cenoura

Cp. Uma hiato % até o ponto cenoura neste segmento de linha também é considerado 4.

Baseado nestas considerações, dois erros são definidos: o erro linear (el) do WMR ao

hiato %; e o erro de orientação (eθ) entre a direção longitudinal do robô XR ∈ FR e o ponto

cenoura Cp, como ilustrado na Figura 12.

..R

XR

%

C

Cp

el

vcp

YO

XOFO

Figura 12 - Abordagem ”siga a cenoura” modificada.

As componentes cartesianas do erro linear el nas direçõesXO e YO são respectivamente

ex = (xref − x) e ey = (yref − y).

Por relações trigonométricas, os erros el e eθ podem ser escritos da forma

el =√e2x + e2y − %, (23)

eθ = tan−1(eyex

)− θ, (24)

4Este hiato % se faz importante para evitar uma possível singularidade na Equação 24

33

e suas derivadas dadas pelas equações

el =ex(xref − x) + ey(yref − y)

el, (25)

eθ =ex(yref − y)− ey(xref − x)

e2l− θ. (26)

Substituindo a cinemática do modelo dada pela Equação (5) nas equações 25 e 26, após

algumas manipulações algébricas e agrupando em uma equação matricial:[el

]= F1

[xref

yref

]+ F2

[ωr

ωl

], (27)

onde as funções não-lineares da metodologia de linearização por realimentação (feedback

linearization) são dadas por

F1 =

+(exel

)+(eyel

)−(eye2l

)+(exe2l

) , (28)

F2 =

−[r2el

(excosθ + eysinθ)]

−[r2el

(excosθ + eysinθ)]

−[r

2e2l(exsinθ − eycosθ)

]− r

b−[r

2e2l(exsinθ − eycosθ)

]+ r

b

. (29)

Seja então escolhido um sinal de controle da forma

ω =

[ωr

ωl

]= F−1

2 ·

(K

[el

]−F1

[xref

yref

]), (30)

onde a matriz K =(Kl 00 Kθ

)é definida como a matriz de ganhos, com Kl sendo o ganho

linear e Kθ o ganho de orientação.

Substituindo a Equação 30 na Equação 27, a dinâmica se transforma em:[el

]= F1

[xref

yref

]+ F2 · F−1

2 ·

(K

[el

]−F1

[xref

yref

]), (31)

Então, as não-linearidades F1 e F2 são canceladas, e a dinâmica do erro se torna sim-

plesmente

e =

[el

]= K

[el

]. (32)

A estabilização se dará na condição: e = [el eθ]T → [0 0]T ⇐⇒ Kl < 0 ∧Kθ < 0.

34

3.2 CONTROLE DA DINÂMICA

O modelo completo do WMR implementado em Simulink (Figura 8) é um sistema cujas

entradas são as tensões aplicada nos motores u = [ur ul]T e a saida é o vetor de postura

do robô ξO = [x y θ]T . Foi então implementado um segundo controlador para estabilizar

a dinâmica do robô.

Seja ω = [ωr ωl]T o vetor das velocidades angulares das rodas do WMR (em um

robô real podem ser medidas através de um encoder acoplado às rodas). Seja também

ωref = [ωrefr ωrefl]T o sinal de controle do Controlador da Cinemática.

Pode-se então definir os sinais de erro de velocidade angular para cada roda como

sendo eωl = (ωrefl − ωl) e eωr = (ωrefr − ωr).As diferenças do sinal de controle do algoritmo digital PID na Forma de Velocidade (Ve-

locity Form) para cada intervalo de tempo k pode ser recursivamente calculado pelas equa-

ções (ÅSTRÖM; WITTENMARK, 1997):

dur(k) = (Kpu +Kiu +Kdu)eωr(k)− (Kpu + 2Kdu)eωr(k − 1) + (Kdu)eωr(k − 2), (33)

dul(k) = (Kpu +Kiu +Kdu)eωl(k)− (Kpu + 2Kdu)eωl(k − 1) + (Kdu)eωl(k − 2). (34)

O subscrito u refere-se à tensão; Kpu, Kiu, Kdu sao os ganhos PID. Como resultado,

os sinais de controle são:

ul(k) = ul(k − 1) + dul(k), (35)

ur(k) = ur(k − 1) + dur(k). (36)

3.3 IMPLEMENTAÇÃO COMPUTACIONAL

O objetivo do controlador de rastreamento de trajetória e estabilizar a posição do WMR

no ponto-cenoura, ou seja, [x y]T → [xref yref ]T .

Tanto o Modelo Cinemático (Equação 5) quanto o Modelo Dinâmico (Equações 15 e 16)

foram implementados como bloco no Simulink.

O Cálculo dos Erros (Equações 23, 24), o Controlador da Cinemática (Equação 30) e o

Controlador da Dinâmica (Equações 35 e 36) são implementados no ambiente MatLab em

um loop com um tempo de discretização de δt = 0, 05s.

A malha de controle completa é ilustrada na Figura 13.

35

x

θ

refl

ωrefr

xref

yref

Cálculo

dos Erros

exey

Controlador

da

Cinemáticaeleθ

Modelo

Dinâmicoω

l

ωr

Controlador

da

Dinâmica

ul

ur+

- +

-

+

- +

-

Modelo

Cinemático

Figura 13 - Diagrama de blocos do sistema de controle de Rastreamento de Trajetória. Em

verde, os modelos do WMR implementados em Simulink (Eq. 5, 15 e 16); em azul, os

controladores implementados em Matlab (Eq. 23, 24, 30, 35 e 36).

3.4 RESULTADOS EXPERIMENTAIS

Inicialmente, uma simulação específica foi realizada para sintonia dos parâmetros PID

do controlador da dinâmica. Foi imposta uma seqüencia de velocidades lineares de refe-

rência iguais para ambas as rodas tais que vref = ωrefr/N = ωrefl/N : 0, 5m/s durante 10

segundos, 1, 2m/s por mais 20 segundos e 0, 8m/s nos 10 segundos finais, o que levou o

WMR a percorrer uma linha reta por 40 segundos.

Alguns valores dos parâmetros PID foram testados para escolher empiricamente o ajuste

ótimo, via abordagem de Ziegler-Nichols. O conjunto de parâmetros de sintonia escolhido

foi [Kpu, Kiu, Kdu] = [60.0, 10.0, 0.0]. A Figura 14 ilustra o gráfico da resposta da veloci-

dade linear v = ω(r)/N = ω(l)/N ao sinal de referência imposta, assim como o gráfico

das tensões em ambos os motores ur = ul.

0 5 10 15 20 25 30 35 400

0.5

1

1.5

Tempo [s]

[m/s

]

ReferênciaVelocidade Linear

0 5 10 15 20 25 30 35 40

−15−10

−505

1015

Tempo [s]

Ten

são

[V]

Figura 14 - Resposta ao degrau do controlador da dinâmica. Na imagem superior, a velo-

cidade linear como resposta a uma sequencia de degraus), e na imagem inferior, a corres-

pondente tensão dos motores.

36

Em seguida, com uma matriz de ganhos ajustada em K =( −40 0

0 −60), algumas trajetó-

rias foram testadas, como ilustradas na Figura 15: uma linha reta e uma trajetória circular,

ambas com velocidades constantes da referência; um perfil senoidal com velocidade na

direção y constante, e uma trajetória em espiral com uma velocidade exponencial para a

referência.

Percebe-se na Figura que, em todas as simulações, o WMR (cujo comportamento do

movimento é ilustrado com uma linha azul) alcançou o caminho geométrico pré-definido e

rastreou a referência definida pelo movimento do ponto cenoura CP (linha vermelha).

−2 −1 0 1 2 3 4 5 6 7 8 9 10−2

−1

0

1

2

3

4

5

6

7

8

9

10

y[m

]

x[m]−5 −4 −3 −2 −1 0 1 2 3 4 5

−5

−4

−3

−2

−1

0

1

2

3

4

5

y[m

]

x[m]

−5 −4 −3 −2 −1 0 1 2 3 4 5−5

−4

−3

−2

−1

0

1

2

3

4

5

y[m

]

x[m]−5 −4 −3 −2 −1 0 1 2 3 4 5

−5

−4

−3

−2

−1

0

1

2

3

4

5

y[m

]

x[m]

Figura 15 - Trajetórias de teste para o controle de Rastreamento de Trajetória: uma linha

reta, um perfil circular, uma curva senoidal e um perfil em exponencial.

Além disso, uma trajetória especifica, com seções com curvaturas suaves e agressivas,

foi escolhido para estimular maiores discussões a respeito da efetividade desta abordagem

de controle.

O resultado do rastreamento desta trajetória é ilustrada na Figura 16. Da mesma forma

que as demais trajetórias testadas, é possível notar que depois de um período transiente,

o caminho geométrico é seguido satisfatoriamente.

37

−5 −4 −3 −2 −1 0 1 2 3 4 5−5

−4

−3

−2

−1

0

1

2

3

4

5

y[m

]

x[m]

t=35s

t=25sPosturaInicialt=0s

PosturaFinalt=40s

t=5st=15s

Figura 16 - A trajetória específica com um mix de seções de curvatura. Em vermelho, a

trajetória de referência, e os retângulos representam as posturas do WMR a cada segundo.

0 10 20 30 400

200

400

(a) Roda esquerda ωrefl

e ωl

[rad

/s]

0 10 20 30 400

200

400

(b) Roda direita ωrefr

and ωr

[rad

/s]

0 10 20 30 400

5

10

(c) Tensão do motor esquerdo − ul

[V]

0 10 20 30 400

5

10

(d) Tensão do motor direito − ur

[V]

0 10 20 30 40−2

0

2

(e) Erro Linear − el

[m]

Tempo[s]0 10 20 30 40

−0.5

0

0.5

(f) Erro de Orientação − eθ

[rad

]

Tempo[s]

Figura 17 - Sinais relevantes do experimento. Para cada roda, nas imagens superiores, a

velocidade angular de referência (em pontilhado) e o comportamento da roda; nas imagens

do centro, as tensões em cada motor; nas imagens inferiores os erros el e eθ.

38

A Figura 17 ilustra os sinais relevantes desta simulação. Quando a curva se torna agres-

siva, nos instantes de tempo t = 5, t = 15, t = 25 e t = 35, o controlador age para rejeitar

as perturbações e estabilizar a tarefa de rastreamento.

Porém, na parte inferior da figura, percebe-se que ambos os erros linear el de orientação

eθ não convergem a zero.

Um conjunto de simulações foi realizada para compreender este erro em regime per-

manente. Uma linha reta foi imposta como referência ao WMR, o ganho de orientação

foi ajustado em Kθ = −60, enquanto o ganho linear Kl foi variado dentro dos valores

[−5,−10,−20,−50,−100].

A Figura 18 ilustra o perfil do erro linear el neste conjunto de simulações. Pode-se notar

que ambos os tempos de resposta e o erro em regime permanente do erro linear são

dependentes do ganho Kl. A relação entre o regime permanente do erro linear e o ganho

foi calculado como elss = −5, 29/Kl.

0 5 10 15 20 25 30 35 400

0.5

1

1.5

Tempo[s]

[m]

Erro Linear − el

K

l = −5

Kl = −10

Kl = −20

Kl = −50

Kl = −100

Figura 18 - A sensibilidade do erro linear el para alguns valores distintos do ganho linear

Kl = [−5,−10,−20,−50,−100].

Por fim, foi realizado um experimento para verificar o comportamento do WMR em longo

prazo. Um perfil de trajetória específico – uma lemiscata – foi aplicado como referência ao

robô durante 360 segundos, o suficiente para que este percorresse o perfil por exatos oito

ciclos.

Assim como os outros experimentos, a matriz de ganhos foi ajustada emK =( −40 0

0 −60).

O resultado da simulação é ilustrado na Figura 19.

Percebe-se, assim como em outros experimentos, que o WMR segue o caminho de

referência. Também é possível verificar que o erro linear el não converge para zero, como

ilustrado na Figura 20-e. Porém, este erro é admissível pois é relativamente menor em

relação às dimensões do WMR (SICILIANO; KHATIB, 2008).

39

−4 −3 −2 −1 0 1 2 3 4−4

−3

−2

−1

0

1

2

3

4

y[m

]

x[m]

Figura 19 - Uma trajetória lemniscata percorrida por oito ciclos.

0 50 100 150 200 250 3000

200

400

(a) Roda esquerda ωrefl

e ωl

[rad

/s]

0 50 100 150 200 250 3000

200

400

(b) Roda direita ωrefr

and ωr

[rad

/s]

0 50 100 150 200 250 3000

5

10

(c) Tensão do motor esquerdo − ul

[V]

0 50 100 150 200 250 3000

5

10

(d) Tensão do motor direito − ur

[V]

0 50 100 150 200 250 300−2

0

2

(e) Erro Linear − el

[m]

Tempo[s]0 50 100 150 200 250 300

−0.5

0

0.5

(f) Erro de Orientação − eθ

[rad

]

Tempo[s]

Figura 20 - Sinais do experimento com a trajetória lemniscata. Para cada roda, nas imagens

superiores, a velocidade angular de referência (em pontilhado) e a velocidade da roda; nas

imagens do centro, as tensões em cada motor; nas imagens inferiores os erros el e eθ.

40

4 PLANEJAMENTO DE TRAJETÓRIA

O planejamento ótimo de trajetórias pode ampliar a performance de um robô consideravel-

mente, particularmente quando as principais preocupações em seu movimento tem relação

com a sua eficiência ou seu consumo energético. No sentido de se obter uma trajetória

ótima sobre limitações de movimento, não só a cinemática mas também a dinâmica do

robô deve ser explicitada na fase de planejamento. As interações entre geometria, cine-

mática e dinâmica aumentam a complexidade do problema consideravelmente em relação

a abordagens puramente cinemáticas.

Seja um WMR dado em um determinado ambiente. Sejam também definidos uma con-

figuração inicial e final. O problema de Planejamento de Trajetória consiste em gerar en-

tradas de referência para o sistema de controle de movimento do robô (Rastreador de

Trajetória) tal que realize o movimento do WMR entre a configuração inicial e final defi-

nidas, desviando-se de obstáculos nele presentes. Este problema lida com duas classes

básicas de requisitos:

• Requisitos Geométricos

Do ponto de vista cinemático, considerando a dimensionalidade da postura do WMR

(duas coordenadas cartesianas e uma de orientação), a trajetória deve ser planejada

em um espaço tridimensional com o propósito de evitar colisões com obstáculos. Es-

tes obstáculos podem ser tanto objetos presentes no ambiente de trabalho quanto

paredes, portas e corredores pelos quais o robô deverá passar. O problema dado por

estes requisitos é encontrar caminhos admissiveis entre a posição inicial e final do

robô – path planning, ilustrada de forma simplificada na Figura 21.

Existem vários métodos para resolver o problema de planejamento de caminho, e as

três abordagens mais usadas para tal – road-map, decomposição celular e campos

potenciais – podem ser encontrados em LaValle (2006).

• Requisitos Dinâmicos

Do ponto de vista do modelo dinâmico, trajetórias possíveis do robô devem satisfazer

requisitos relacionados com a saturação do atuador, limites máximos de velocidades

e acelerações, condições de fricção das rodas com pontos de contato, etc. Por exem-

plo, acelerações longitudinais e angulares devem permanecer abaixo de um dado

limite superior para certificar um rolamento puro das rodas, sem deslizamento com o

solo, pois forças centrifugas dependem da velocidade linear e da curvatura local do

caminho.

41

Posição

Inicial

Posição

Inicial

Posição

Final

Região de

Obstáculos

(a)

Uma solução

possível

(b)

Figura 21 - Uma ilustração simplificada do problema de planejamento de caminho (adap-

tado de LaValle (2006)). (a) Os obstáculos, a posição inicial, e a posição final especificados

como entradas. (b) Um algoritmo de planejamento resolve um caminho livre de colisões.

Em geral, mais de uma trajetória satisfaz ambos os requisitos (geométricos e dinâmicos).

Então, é necessário realizar um procedimento para escolher, dentre todas as trajetórias

admissíveis, a trajetória ótima que minimize um determinado funcional de custo.

Canny et al. (1988) apresentam pela primeira vez o termo Restrições Cinodinâmicas 5,

que sintetizam simultaneamente as restrições cinemáticas e dinâmicas, usando um espaço

de estado aumentado Q em que o estado q ∈ Q é definido como q = (ξ, ξ), composto

por sua configuração aumentada das coordenadas de velocidade (LAVALLE; KUFFNER,

2001).

Existem duas abordagens principais para o planejamento de trajetórias sobre restrições

cinodinâmicas. A primeira abordagem busca resolver o problema de planejamento tratando

com ambos os requisitos de forma concomitante, através das restrições cinodinâmicas.

Esta abordagem demonstra ser probabilisticamente completa (i.e., se a solução existe,

ela pode ser encontrada com probabilidade 1 depois de longa execução) (LAVALLE;

KUFFNER, 2001), e tem sido usado como ferramenta para o planejamento de trajetórias

(CANNY; REGE; REIF, 1991; DONALD et al., 1993; PHAM; CARON; NAKAMURA, 2013).

Porém, a abordagem cinodinâmica resulta em um problema com a dimensionalidade do-

brada. Por conta disso, algoritmos de planejamento em espaço de estados cinodinâmicos

tornam-se impraticáveis do ponto de vista computacional (PHAM; CARON; NAKAMURA,

2013).

5Como não existe equivalente na literatura acadêmica em língua portuguesa para o termo em inglês

kinodynamic, o candidato se sentiu na liberdade de criá-la.

42

Outra abordagem para planejamento de trajetórias consiste em decompor o problema

em dois sub-problemas:

(a) encontrar um caminho livre de colisões no espaço de configuração do robô para satis-

fazer os requisitos geométricos e;

(b) encontrar uma parametrização temporal ótima deste caminho, levando-se em conside-

ração algum funcional de custo.

A classe de funções que geram caminhos livres mais comumente usado em robótica são

as funções spline (em português, ranhadura ou estria).

Splines com derivadas segundas contínuas (C2-splines) têm sido usado para obter traje-

tórias de tempo mínimo para sistemas com apenas restrições cinemáticas (LIN; CHANG;

LUH, 1983).

Já a parametrização temporal é caracterizada por uma equação diferencial envolvendo

uma função das coordenadas da curva através do caminho. Para o tempo mínimo, tão bem

como para outro índice de performance (como valor máximo ou aceleração centrípeta) ser

minimizada, o problema se reduz à escolha ótima da função nas coordenadas curvilíneas

(BENAYAD et al., 2000).

A limitação desta abordagem recai sobre o fato de que o caminho livre encontrado na

primeira etapa de planejamento não contempla as restrições dinâmicas impostas no pro-

blema. Usualmente se inclui no primeiro passo alguma restrição no espaço de configura-

ção que garanta uma execução quasi-estática, ou seja, numa velocidade arbitrária baixa o

suficiente para que os efeitos da dinâmica não sejam significativos. Porém, esta solução

também sofre uma limitação, tendo em vista que a condição quasi-estática pode ser restri-

tiva, limitando muitas outras possíveis soluções (PHAM; CARON; NAKAMURA, 2013).

Graettinger e Krogh (1989) propõem, após estas etapas de planejamento, realizar uma

avaliação da viabilidade da trajetória gerada considerando as restrições cinemáticas e dinâ-

micas em separado, e corrigir a trajetória através de um simples escalonamento no tempo

por um fator multiplicador. Já Kiss e Szádeczky-Kardoss (2007) apresentam uma proposta

de escalonamento temporal on-line na qual este fator multiplicador é manipulado por um

controle externo.

A seguir são apresentados os conceitos básicos de splines suaves e de parametrização

temporal com foco no planejamento de trajetória.

43

4.1 SPLINES SUAVES

Uma spline é uma função numérica composta por funções polinomiais em partes, e que

possuem uma transição entre as partes suficientemente suaves. Várias são as classes

de funções splines (e.g. splines cúbicas, curvas de Bézier, B-splines) que podem ser

encontradas na bibliografia básica em interpolação numérica. Aqui é apresentada a classe

de splines suaves (ou smoothing splines).

Seja uma seqüência de n pares (ti, xi) ∈ R2 sendo i = 1, . . . , n e t1 < t2 < · · · < tn tal

que x = f(t). A spline suave cúbica é uma estimativa f para f definida como o minimizador

do critério

min

µ

n∑i=1

(xi − f(ti))2 + (µ− 1)

∫ tn

t1

(f (n)(t))2dt

, (37)

onde (.)(n) representa a enésima derivada de f em relação a t (usualmente n=2) e µ ∈ [0, 1]

é o parâmetro de suavização, que controla o balanceamento entre o erro de estimação e

a suavidade da curva. Para µ → 0, a curva estimada perde suavidade e converge para

uma interpolação spline cúbica; enquanto para µ → 1, a estimativa converge para uma

interpolação por mínimos quadrados. Splines suaves tem uma base teórica sólida e é

amplamente utilizado como método de regressão não-paramétrica (WAHBA, 1990).

Para o caso bidimensional, é necessário introduzir um parâmetro tal que a seqüência

de pontos seja representada como função de tal parâmetro. Então, seja a seqüência de

n pontos ψi = (Xi, Yi) ∈ R2, i = 1, . . . , n; e o parâmetro s ∈ [sI , sF ] ⊂ R. Para cada

dimensão existe uma função em s tal que X = X(s) e Y = Y (s), onde s1 < s2 < · · · < sn,

sendo o parâmetro s calculado como uma distância acumulada dada por

si+1 = si +√

(Xi+1 −Xi)2 + (Yi+1 − Yi)2, (38)

onde s1 = sI .

Então, seja dada uma seqüencia de n pontos parametrizados (Xi, Yi, si) ∈ R3 sendo

i = 1, . . . , n e s1 < s2 < · · · < sn tal que X = fX(s) e Y = fY (s). A spline suave cúbica

bidimensional é uma estimativa f para f definida pelas funções em cada dimensão fX(s)

e fY (s) sincronizadas em s tal que minimize os critérios

min

µ

n∑i=1

(Xi − fX(si))2 + (µ− 1)

∫ sF

sI

(f(n)X (s))2ds

, (39)

e

min

µ

n∑i=1

(Yi − fY (si))2 + (µ− 1)

∫ sF

sI

(f(n)Y (s))2ds

. (40)

44

4.1.1 Descrição do caminho (path)

Seja um WMR cujo centro de rotação R ∈ FO : XO, YO siga um dado caminho su-

ave IF ∈ FO caracterizado pela parametrização s → [X(s) Y (s)]T , com s ∈ [sI , sf ] e

[X ′(s) Y ′(s)]T 6= [0 0]T , onde X ′,Y ′ denotam respectivamente as derivadas de X e Y em

relação a s, como ilustrado na Figura 22 (BENAYAD et al., 2000).

I

F

YO

XOO

Y (s)

X(s)

Θ(s)

v(s)

R(s)

Figura 22 - A postura do WMR e sua trajetória de referência parametrizada em s.

A tangente da curva IF é caracterizada pelo ângulo Θ(s) = atan2(Y ′(s)/X ′(s)) – ver

nota 6. A configuração do WMR no espaço definido pela parametrização em s pode ser

então definida por Ξ(s(t)) = [X(s) Y (s) Θ(s)]T . Também é conveniente definir o raio de

curvatura local da curva IF , dado por:

ϕ(s) =((X ′(s))2 + (Y ′(s))2)

32

|Y (s)′X ′′(s)−X ′(s)Y ′′(s)|. (41)

4.1.2 Parametrização temporal do caminho

O movimento de R no caminho IF pode ser especificado como uma parametrização

temporal t → s(t) com t ∈ [ti, tf ] e s(ti) = si; s(tf ) = sf . Esta parametrização temporal

pode ser vista alternativamente como um perfil de velocidade, isto é, a curva s(s)s∈[si,sf ] no

plano (s, s), configurando uma trajetória.

Existe a relação direta entre as coordenadas de postura, ξ(t) = Ξ(s(t)), isto é,

x(t) = X((s(t)) (42)

y(t) = Y ((s(t))

θ(t) = Θ((s(t)).

6A função atan2 considera o sinal de dois argumentos para que se tenha condições de se calcular também

o correto quadrante do arco.

45

4.2 OTIMIZAÇÃO DA TRAJETÓRIA

O problema de otimização da trajetória pode ser descrito da seguinte forma: Seja um

sistema descrito pela equação de estado q(t) = a(q(t),u(t), t); p(t) = CTq(t); dada

uma seqüência de waypoints e tempos de interpolação (ψi, ti) onde ψi = (Xi, Yi) ∈ R2,

i = 1, . . . , n; encontrar a entrada ótima u∗(t) que leve a saída do sistema através (ou muito

próximo) destes waypoints nos tempos de interpolação, enquanto se minimiza o funcional

J(u) =1

2

∫ T

0

ρu2(t)dt, (43)

onde ρ é o peso da importância energética no problema.

Além das restrições impostas pelo sistema, outras restrições podem ser consideradas

no problema de otimização como, por exemplo: o desvio máximo da trajetória (p(ti)−ψi),velocidades máximas s(t), acelerações máximas s(t), ou raios de curvatura ϕ(s) máximos.

Em seu trabalho, Egerstedt e Martin (2001) estudaram um sistema linear controlável e

observável de simples entrada e múltiplas saídas.

Para tanto, definiu-se um conjunto de funções base, linearmente independentes:

gi(t) =

CT eA(ti−t)b t 6 ti

0 t > ti

i = 1, . . . ,m. (44)

Segundo o Teorema da Dualidade de Lagrange, minimizar o funcional J(u) da Equação

43, sujeito a restrições p(ti) ∈ [αi, βi], i = 1, . . . ,m, onde [αi, βi] é o intervalo de tolerância

dos waypoints, é equivalente a encontrar os máximos multiplicadores λ, γ ∈ Rpm que

minimizem o Lagrangeano

Lλ,γ(u) =1

2

∫ T

0

ρu2(t)dt+1

2

(∫ T

0

g(s)u(s)ds− ψ)TT(∫ T

0

g(s)u(s)ds− ψ)

+

+ λTα− λT(∫ T

0

g(s)u(s)ds

)−

− γTβ + γT(∫ T

0

g(s)u(s)ds

), (45)

onde T é uma matriz semi-positiva definida de pesos que pondera a importância da proxi-

midade da saída y de ψi.

Os multiplicadores de Lagrange são determinados por

minζ≥0

1

2ζTHζ + F T ζ, (46)

46

onde

ζ =

γ

)∈ R2pm, H =

(M −M−M M

),

M = G(ρI + T G)−1,

F T = (−ψTTM − αT , ψTTM − βT ), (47)

tal que G ∈ Rmpxmp é o Gramiano

G =

∫ T

0

g(s)g(s)Tds, (48)

e existe uma única entrada ótima u∗ ∈ L2[0, T ] dada por

u∗(t) = g(t)T (ρI + T G)−1(T ψ + λ− γ). (49)

Então, encontrar o controle ótimo u∗, é um problema de programação quadrática. Os re-

sultados do trabalho (EGERSTEDT; MARTIN, 2001) podem ser visualizados na Figura 23.

Na figura da esquerda, o exemplo sem saturação, percebe-se que a trajetória atinge efeti-

vamente os waypoints. Entretanto, quando se limitam os sinais da velocidade, aceleração

e arranque (jerk) – em pontilhado na figura da direita – os waypoints não são atingidos de

forma efetiva (embora dentro dos limites dados pelo intervalo [αi, βi].

Figura 23 - Controle de trajetória direcionada a waypoints (extraído de Egerstedt e Martin

(2001). A esquerda, os estados e a trajetória planejada sem restrições; na direita, com

restrições.

Nesta formulação, os autores apresentam um sistema linear de simples entrada. Já o

modelo do WMR possui como entrada um vetor bidimensional de tensão (ur, ul), descrito

através de equações diferenciais não-lineares (Equações 15 e 16).

O Capítulo 5 pretende apresentar uma proposta de trabalho para a resolução deste

problema de controle ótimo, alinhando-se com os objetivos traçados por este trabalho.

47

5 METODOLOGIA

O presente trabalho propõe a formulação e a implementação de uma arquitetura hierár-

quica de controle de movimento para um WMR diferencial, cujo modelo é apresentado no

Capítulo 2. Este modelo contempla a cinemática do uniciclo e a dinâmica não-linear tal que

o aproxima do robô real.

Duas camadas foram propostas para esta arquitetura. A sua camada inferior é um Ras-

treador de Trajetórias, implementado em laço duplo. Apesar dos resultados experimentais

apresentados no ítem 3.4 terem se mostrado satisfatórios, a literatura demonstra que o mo-

delo cinemático do uniciclo não é globalmente controlável (ítem 2.3.1). Então, uma análise

da robustez deste controlador deve ser realizado para que a abordagem proposta se torne

uma contribuição significativa para a comunidade acadêmica.

A segunda camada proposta, um Planejador de Trajetórias, ainda não foi formulada. O

Capítulo 4 apresenta uma revisão da literatura e a proposta da geração de trajetórias do

tipo smoothing splines apresentada por Egerstedt e Martin (2001). Porém, a proposta dos

autores não resolvem completamente o problema formulado para este modelo de WMR.

5.1 FORMULAÇÃO DO PROBLEMA

Seja uma dada sequência deN intervalos e tempos de interpolação ([αxi, βxi], [αyi, βyi], ti),

onde i = 1, . . . , N ; αxi < βxi, αyi < βyi,∀i ; αxi, βxi, αyi, βyi ∈ R. Estes intervalos definem

os waypoints no plano ψi = (ψxi, ψyi) ∈ R2 cujas coordenadas cartesianas são definidas

como o ponto médio entre os limites em cada dimensão:

ψxi = (βxi − αxi)/2, ψyi = (βyi − αyi)/2, (50)

que deverão ser atingidas nos tempos 0 ≤ t1 ≤ · · · ≤ tN ∈ R. Para ilustrar esta definição,

sejam dados como exemplo os vetores:

αx = (0, 8 1, 6 3, 6 4, 6)

βx = (1, 6 2, 4 4, 4 5, 4)

αy = (1, 6 3, 1 2, 6 4, 1)

βy = (2, 4 3, 9 3, 4 4, 9)

ti = (0, 0 1, 0 2, 0 3, 0)

Pela Equação 50, os waypoints são definidos por ψ1 = (1, 2; 2, 0), ψ2 = (2, 0; 3, 5),

ψ3 = (4, 0; 3, 0) e ψ4 = (5, 0; 4, 5).

48

A Figura 24 ilustra graficamente este exemplo. Na imagem da esquerda, os waypoints

ψi são ilustrados no plano com asteriscos azuis, e os limites impostos pelos intervalos

([αxi, βxi], [αyi, βyi]), estão ilustrados com um quadrado em vermelho.

Já nas imagens da direita, ambas as coordenadas cartesianas nos waypoints ψxi e ψyi

nos tempos de interpolação ti são grafadas com asterisco azul, e os limites impostos pelos

intervalos grafados com pontos vermelhos.

0 1 2 3 4 5 60

1

2

3

4

5

6

x[m]

y[m

]

0 0.5 1 1.5 2 2.5 3 3.5 40

2

4

6

t[s]

x[m

]0 0.5 1 1.5 2 2.5 3 3.5 4

0

2

4

6

y[m

]

Figura 24 - Planejamento de trajetória direcionada a waypoints no plano.

Seja, então, um modelo reduzido do WMR dado por

q(t) = a(q(t),u(t)),

p(t) = CTq(t), (51)

onde a representa o conjunto das n equações diferenciais ordinárias não-lineares e invari-

antes no tempo que regem o comportamento cinodinâmico do WMR, que são funções de

estados q(t) ∈ Rn e das entradas u(t) ∈ Rm, seguindo a notação de Kirk (2004).

A saída do sistema p(t) ∈ Rp é um mapa C ∈ Rpxn dos estados q(t).

O problema proposto é levar as saídas do sistema através destes intervalos, p(ti) ∈[αi, βi], nos tempos de interpolação ti, i = 1, . . . , N , enquanto se minimiza o funcional

J(u) =1

2

∫ tN

0

[ρu2(t) + (1− µ)p(t)

]dt+

1

N∑i=1

(p(ti)− ψi)2, (52)

onde ρ é o peso da questão energética e µ é a ponderação entre os erros aos waypoints e

a suavidade da curva; sujeito a

0 < u(t) < umax, (53)

ti dados. (54)

49

Este problema de otimização se diferencia em alguns aspectos daquele encontrado nos

trabalhos de Egerstedt e Martin (2001). Em sua formulação, os autores apresentam um

sistema linear de simples entrada. Já o modelo do WMR possui como entrada um vetor

bidimensional de tensão (ur, ul), descrito através de equações diferenciais não-lineares

relativos à cinemática (Equação 5) e à dinâmica (Equações 15 e 16) do sistema.

5.2 PROPOSTA DE TRABALHO

Então, apresenta-se para avaliação da Banca de Qualificação uma proposta metodoló-

gica para a resolução deste problema, traçando alguns objetivos parciais:

• Implementar em Matlab, analisar e compreender a solução proposta por Egerstedt e

Martin (2001) para um sistema linear de simples entrada. Esta etapa é importante para

que se compreenda a geração de smoothing splines na resolução de planejamento de

trajetórias ótimas;

• Definir um modelo cinodinâmico reduzido do WMR, da forma q(t) = a(q(t),u(t));

p(t) = CTq(t), onde u(t) = [ur(t) ul(t)]T e p(t) = [x(t) y(t)]T , para ser utilizado no

problema de controle ótimo. Este modelo deverá ser validado experimentalmente em

relação ao modelo completo utilizado neste trabalho (Equações 5, 15 e 16 e Figura 8);

• Resolver o problema de controle ótimo formulado, usando a Abordagem do Cálculo

Variacional (KIRK, 2004), ou uma variação da abordagem utilizada por Egerstedt e

Martin (2001);

• Implementar em Matlab um algoritmo numérico iterativo para determinar em tempo

real as trajetórias ótimas de controle u∗(t) e de saída p∗(t), dados os intervalos e

tempos de interpolação ([αxi, βxi], [αyi, βyi], ti) definidos como entrada da arquitetura

de controle;

• Usar as coordenadas cartesianas da trajetoria ótima p∗(t) como as coordenadas de

referência do ponto-cenoura Cp(t) = (xref (t), yref (t)) = (x∗(t), y∗(t)) no controlador

de Rastreamento de Trajetória;

• Por fim, realizar uma comparação analítica entre o controle ótimo u∗ gerado pelo Pla-

nejador de Trajetória com o sinal de controle u gerado pelo Rastreador de Trajetória.

Se possível e necessário, implementar um Supervisor que ajuste os parâmetros do

Planejador de Trajetória (ρ e µ) em função do resultado desta comparação analítica,

como ilustra a Figura 25.

50

Rastreador de TrajetóriaPlanejador de

Trajetória

Supervisor

u*

Controlador

da

Cinemática

ωref

Controlador

da Dinâmica

Cpα,β,t

Modelo do WMR

ξ0ωModelo

Dinâmico

Modelo

Cinemático

uControlador

da Dinâmica

Figura 25 - Diagrama esquemático de blocos da Arquitetura de Controle proposta.

5.3 CRONOGRAMA

Durante o ano de 2013, foram realizadas disciplinas oferecidas pelo Programa DINTER

entre a EPUSP e o IFSC, em Florianópolis, e no ano de 2014 o candidato realizou um

estágio no Laboratório de Sistemas Embarcados na EPUSP.

Os três primeiros objetivos parciais propostos na seção 5.2 serão desenvolvidos no se-

gundo semestre de 2015, enquanto a implementação computacional e a validação do mo-

delo proposto serão desenvolvidos no primeiro semestre de 2016. Pretende-se redigir o

documento final para a Tese de Doutorado durante todo o ano de 2016, com a defesa

prevista para o fim do ano.

Os resultados deste desenvolvimento serão submetidos a congressos e periódicos da

área durante o ano de 2016.

Tanto as atividades por ora realizadas, quanto as tarefas para a consecução deste tra-

balho estão cronologicamente ilustradas na Figura 26.

51

Hoje

2013 2014 2015 2016

J F M A M J J A S O N D J F M A M J J A S O N D J F M A M J J A S O N D J F M A M J J A S O N D

Discilplinas[IFSC]PMR5004PMR5023PME5014

Estágio [POLI]PTC5721PMR5023

Inglês RedaçãoProficiência

Pesquisa BibliográficaModelo e Ambiente GráficoRastreamento de Trajetória

Desenvolvimento [IFSC]Planejamento de TrajetóriaValidações Experimentais

RedaçãoDocumento de Qualificação

QualificaçãoCongressos

PeriódicosDocumento Final

RevisãoDefesa

Figura 26 - Cronograma de Atividades Atualizado - Mensal.

52

REFERÊNCIAS

AGUIAR, A.; HESPANHA, J. Trajectory-tracking and path-following of underactuated auto-nomous vehicles with parametric modeling uncertainty. IEEE Transactions on AutomaticControl, v. 52, n. 8, p. 1362–1379, 2007.

AICARDI, M. et al. Closed loop steering of unicycle-like vehicles via Lyapunov techniques.IEEE Robotics and Automation Magazine, v. 2, n. March, p. 27–35, 1995.

ALESSANDRETTI, A.; AGUIAR, A.; JONES, C. N. Trajectory-tracking and path-followingcontrollers for constrained underactuated vehicles using model predictive control. In: EU-ROPEAN CONTROL CONFERENCE, 2013, Zürich. Proceedings... [S.l.: s.n.], 2013, p.1371–1376.

ALGER, B.; VOTION, J.; QIAN, C. Sampled-Data Output Feedback Control of UncertainNonholonomic Systems in Chained Forms with Applications to Mobile Robots. In: AMERI-CAN CONTROL CONFERENCE (ACC), 2014, Portland. Proceedings... [S.l.: s.n.], 2014,p. 4659–4664.

ASHOORIRAD, M. et al. Model Reference Adaptive Path Following for Wheeled MobileRobots. In: IEEE INTERNATIONAL CONFERENCE ON INFORMATION AND AUTOMA-TION. Proceedings... [S.l.: s.n.], 2006, p. 289–294.

ÅSTRÖM, K.; WITTENMARK, B. Computer-Controlled Systems: Theory and design,third edition. Upper Saddle River, New Jersey: Prentice Hall, 1997. 555 p. (Dover Bookson Electrical Engineering Series).

AVILA, J. P. J. Modelagem e Identificação de Parâmetros Hidrodinâmicos de um Veí-culo Robótico Submarino. 2008. 156 p. Tese (Doutorado) — Escola Politécnica - Univer-sidade de São Paulo, São Paulo, 2008.

BARTON, M. Controller development and implementation for path planning and fol-lowing in an autonomous urban vehicle. 2001. Tese (Doutorado) — University of Syd-ney, Sidney, 2001.

BENAYAD, M. et al. Steering a mobile robot: Selection of a velocity profile satisfying dyna-mical constraints. Asian Journal of Control, v. 2, n. 4, p. 219–229, 2000.

BROCKETT, R. W. Asymptotic stability and feedback stabilization. In: BROCKETT, R. W.;MILLMAN, R. S.; SUSSMANN, H. J. (Ed.). Differential Geometric Control Theory. Bos-ton: Birkhauser, 1983. p. 181–191.

CAMPOS FILHO, R. F. Abordagem estocástica com fusão sensorial para mapea-mento geográfico utilizando VANTs. 2012. 91 p. Dissertação (Mestrado) — Escola Po-litécnica - Universidade de São Paulo, São Paulo, 2012.

53

CANNY, J.; REGE, A.; REIF, J. An exact algorithm for kinodynamic planning in the plane.Discrete & Computational Geometry, v. 6, n. 1, p. 461–484, 1991.

CANNY, J. et al. On the complexity of kinodynamic planning. In: 29TH ANNUAL SYMPO-SIUM ON FOUNDATIONS OF COMPUTER SCIENCE. Proceedings... [S.l.: s.n.], 1988,p. 306–316.

CHWA, D. Sliding-Mode Tracking Control of Nonholonomic Wheeled Mobile Robots in Po-lar Coordinates. IEEE Transactions on Control Systems Technology, v. 12, n. 4, p.637–644, jul. 2004.

CHWA, D. Tracking Control of Differential-Drive Wheeled Mobile Robots Using aBackstepping-Like Feedback Linearization. IEEE Transactions on Systems, Man, andCybernetics - Part A: Systems and Humans, v. 40, n. 6, p. 1285–1295, nov. 2010.

CUTIPA-LUQUE, J. C. Identificação e Controle de um Veículo Submersível AutônomoSub-atuado. 2012. 149 p. Tese (Doutorado) — Escola Politécnica - Universidade de SãoPaulo, São Paulo, 2012.

D’ANDREA-NOVEL, B.; CAMPION, G.; BASTIN, G. Dynamic feedback linearization of no-nholonomic wheeled mobile robots. In: IEEE INTERNATIONAL CONFERENCE ON RO-BOTICS AND AUTOMATION, 1992, Nice, France. Proceedings... [S.l.: s.n.], 1992, p.2527–2532.

D’ANDREA-NOVEL, B.; CAMPION, G.; BASTIN, G. Structural Properties and Classifica-tion of Kinematic and Dynamic Models of Wheeled Mobile Robots. IEEE Transactions onRobotics and Automation, v. 12, n. 1, p. 47–62, 1993.

DANTAS, L. D. Metodologia numérica para estimativa da manobrabilidade de veí-culos autônomos submarinos. 2014. 356 p. Tese (Doutorado) — Escola Politécnica -Universidade de São Paulo, São Paulo, 2014.

DAS, T.; KAR, I. Design and implementation of an adaptive fuzzy logic-based controller forwheeled mobile robots. IEEE Transactions on Control Systems Technology, v. 14, n. 3,p. 501–510, 2006.

DECCÓ, C. C. G. Construção de Mapas de Ambiente para Navegação de Robôs Mó-veis com Visão Omnidirecional Estéreo. 2004. 202 p. Tese (Doutorado) — Escola Poli-técnica - Universidade de São Paulo, São Paulo, 2004.

DIXON, W. et al. Robust tracking and regulation control for mobile robots. InternationalJournal of Robust and Nonlinear Control, v. 10, p. 199–216, 2000.

DONALD, B. et al. Kinodynamic Motion Planning. Journal of the Association for Com-puting Machinery, v. 40, n. 5, p. 1048–1066, 1993.

54

DUAN, J. et al. A path tracking control algorithm with speed adjustment for intelligent vehi-cle. In: IEEE CONFERENCE ON ROBOTICS AND BIOMIMETICS, Shenzhen, China. Pro-ceedings... [S.l.: s.n.], 2013, p. 2397–2402. December.

DUBINS, L. E. On curves of minimal length with a constraint on average curvature, and withprescribed initial and terminal positions and tangents. American Journal of mathematics,JSTOR, p. 497–516, 1957.

EGERSTEDT, M.; MARTIN, C. Optimal trajectory planning and smoothing splines. Auto-matica, v. 37, p. 1057–1064, 2001.

ENCARNAçãO, P.; PASCOAL, A. Combined trajectory tracking and path following controlfor dynamic wheeled mobile robots. In: IFAC WORLD CONGRESS, 2002, Barcelona.Proceedings... [S.l.: s.n.], 2002.

FERREIRA, G. A. N. Desenvolvimento de uma arquitetura de controle baseada emobjetos para um robô móvel aquático. 2003. 153 p. Dissertação (Mestrado) — EscolaPolitécnica - Universidade de São Paulo, São Paulo, 2003.

GRAETTINGER, T. J.; KROGH, B. H. Evaluation and Time-Scaling of Trajectories for Whe-eled Mobile Robots. Journal of Dynamic Systems, Measurement, and Control, v. 111,p. 222–231, 1989.

HELLSTROM, T.; RINGDAHL, O. Follow the Past: a path-tracking algorithm for autono-mous vehicles. International Journal of Vehicle Autonomous Systems, v. 4, n. 2-4, p.216–224, 2006.

HOGG, R. et al. Algorithms and sensors for small robot path following. In: IEEE INTER-NATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION, 2002, Washington, DC.Proceedings... [S.l.]: IEEE, 2002, p. 3850–3857. v. 4.

HUANG, H. C.; TSAI, C. C. Adaptive trajectory tracking and stabilization for omnidirectio-nal mobile robot with dynamic effect. In: IFAC WORLD CONGRESS, 2008, Seoul. Proce-edings... [S.l.: s.n.], 2008, p. 5383–5388. v. 17.

KANAYAMA, Y. et al. A Stable Tracking Control Method for a Non-Holonomic Mobile Robot.In: IEEE/RJS INTERNATIONAL WORKSHOP ON INTELLIGENT ROBOT AND SYSTEMS(IROS), 1991, Osaka, Japan. Proceedings... [S.l.: s.n.], 1991, p. 1236–1241. 91.

KHALIL, H. Nonlinear Systems. 2nd. ed. New Jersey: Prentice-Hall, 1996.

KIM, D.-H.; OH, J.-H. Tracking control of a two-wheeled mobile robot using input–outputlinearization. Control Engineering Practice, v. 7, n. 3, p. 369–373, mar. 1999.

55

KIRK, D. Optimal Control Theory. Englewood Cliffs: Dover Publications (Reprint of thePrentice-Hall), 2004.

KISS, B.; SZáDECZKY-KARDOSS, E. On-line time-scaling control of a kinematic car withone input. In: MEDITERRANEAN CONFERENCE ON CONTROL AND AUTOMATION,2007, Athens. Proceedings... [S.l.: s.n.], 2007, p. 0–5.

KOLMANOVSKY, I.; MCCLAMROCH, N. H. Developments in nonholonomic control pro-blems. IEEE Control Systems Magazine, v. 15, p. 20–36, 1995.

LAVALLE, S.; KUFFNER, J. Randomized kinodynamic planning. The International Jour-nal of Robotics Research, v. 20, n. 5, p. 378—-400, 2001.

LAVALLE, S. M. Planning Algorithms. Cambridge, U.K.: Cambridge University Press,2006.

LI, D.; YE, J. Adaptive Robust Control of Wheeled Mobile Robot with Uncertainties. In:IEEE INTERNATIONAL WORKSHOP ON ADVANCED MOTION CONTROL (AMC), 2014,Yolohama. Proceedings... [S.l.: s.n.], 2014, p. 518–523.

LIN, C.-S. L. C.-S.; CHANG, P.-R. C. P.-R.; LUH, J. Y. S. L. J. Y. S. Formulation and optimi-zation of cubic polynomial joint trajectories for mechanical manipulators. IEEE Transactionon Automatic Control, AC-28, n. 12, 1983.

LIU, S.; SUN, D. Minimizing Energy Consumption of Wheeled Mobile Robots via OptimalMotion Planning. IEEE Transactions on Mechatronics, v. 19, n. 2, p. 401–411, 2014.

LUCA, A. D.; ORIOLO, G.; SAMSON, C. Feedback Control of a Nonholonomic Car-likeRobot. In: LAUMOND, J. (Ed.). Robot Motion Planning and Control. New York: Springer,1998. p. 171–253.

LUCA, A. D.; ORIOLO, G.; VENDITTELLI, M. Control of wheeled mobile robots: An ex-perimental overview. In: NICOSIA, S. et al. (Ed.). Ramsete - Articulated and MobileRobotics for Services and Technologies. London: Springer, 2001. p. 181–226.

MIYAZAKI, M. R. Desenvolvimento de sistema de posicionamento dinâmico comaproamento automático. 2013. 131 p. Dissertação (Mestrado) — Escola Politécnica -Universidade de São Paulo, São Paulo, 2013.

MOUSTRIS, G.; TZAFESTAS, S. G. A robust fuzzy logic path tracker for non-holonomicmobile robots. International Journal on Artificial Intelligence Tools, v. 14, n. 06, p.935–965, 2005.

MURPHY, R. Introduction to AI Robotics. Cambridge: MIT Press, 2000. 400 p.

56

MURRAY, R. M.; SASTRY, S. S. Steering nonholonomic systems in chained form. In: IEEECONFERENCE ON DECISION AND CONTROL, 1991, Brighton, England. Proceedings...[S.l.: s.n.], 1991, p. 1121–1126. December.

NØRGAARD, M.; POULSEN, N.; RAVN, O. Models for Iau’s Autonomous Guided Vehi-cle. Lyngby, DE: Technical University of Denmark, 2000. 16 p. Technical Report IMM-REP-1997-15. 2000.

OLIVEIRA, P. R. G. Auto-localização e construção de mapas de ambiente para robôsmóveis baseados em visão omnidirecional estéreo. 2008. 165 p. Dissertação (Mes-trado) — Escola Politécnica - Universidade de São Paulo, São Paulo, 2008.

OLIVEIRA, V. M.; PIERI, E. R.; LAGES, W. F. Wheeled mobile robot using sliding modesand neural networks: learning and nonlinear models. Review Soc.Brasileira de RedesNeurais, v. 1, n. 2, p. 103–121, 2003.

ORIOLO, G. Wheeled Robots. In: BAILLIEUL, J.; SAMAD, T. (Ed.). Encyclopedia of Sys-tems and Control. London: Springer-Verlag, 2015. p. 1–9.

ORIOLO, G.; LUCA, A.; VENDITTELLI, M. WMR control via dynamic feedback lineariza-tion: design, implementation, and experimental validation. IEEE Transactions on ControlSystems Technology, v. 10, n. 6, p. 835–852, nov. 2002.

PHAM, Q.-C.; CARON, S.; NAKAMURA, Y. Kinodynamic Planning in the ConfigurationSpace via Velocity Interval Propagation. In: ROBOTICS: SCIENCE AND SYSTEMS, 2013,Berlin. Proceedings... [S.l.: s.n.], 2013.

POURBOGHRAT, F.; KARLSSON, M. P. Adaptive control of dynamic mobile robots withnonholonomic constraints. Computers and Electrical Engineering, v. 28, p. 241–253,2002.

RANKIN, A. L. Development of Path Tracking Software for an Autonomous Steered-Wheeled Robotic Vehicle and its Trailer. 1997. 133 p. Tese (Tese) — University of Flo-rida, Florida, 1997.

REYHANOGLU, M. On the stabilization of a class of nonholonomic systems using invariantmanifold technique. In: IEEE CONFERENCE ON DECISION AND CONTROL, 1995, NewOrleans, LA. Proceedings... [S.l.: s.n.], 1995, p. 25–26. December.

RIGATOS, G. G.; TZAFESTAS, C. S.; TZAFESTAS, S. G. Mobile robot motion control inpartially unknown environments using a sliding-mode fuzzy-logic controller. Robotics andAutonomous Systems, v. 33, p. 1–11, 2000.

57

SAMSON, C. Control of Chained Systems Application to Path Following and Time-VaryingPoint-Stabilization of Mobile Robots. IEEE Transactions on Automatic Control, v. 40,n. 1, p. 64–77, 1995.

SANHOURY, I. M. H.; AMIN, S. H. M.; HUSAIN, A. R. Trajectory tracking of steering sys-tem mobile robot. In: IEEE CONFERENCE ON MECHATRONICS (ICOM), 2011, KualaLumpur, Malaysia. Proceedings... [S.l.]: IEEE, 2011, p. 1–5. May.

SANTANA, D. D. S. Navegação terrestre usando unidade de medição inercial de baixodesempenho e fusão sensorial com filtro de kalman adaptativo suavizado. 2011.230 p. Tese (Doutorado) — Escola Politécnica - Universidade de São Paulo, São Paulo,2011.

SHANG, Y.; XIE, J. Global Stabilization of Nonholonomic Chained Form Systems with InputDelay. Abstract and Applied Analysis, v. 2014, p. 1–6, 2014.

SICILIANO, B.; KHATIB, O.(Ed.). Springer Handbook of Robotics. Berlin: Springer Sci-ence and Business Media, 2008. 1611 p.

SIEGWART, R.; NOURBAKHSH, I. Introduction to autonomous mobile robot. London:MIT Press, 2004. 336 p.

SLOTINE, J.; LI, W. Applied nonlinear control. 1st. ed. Englewood Cliffs: Prentice-Hall,1991.

SUJIT, P.; SARIPALLI, S.; SOUSA, J. An evaluation of UAV path following algorithms. In:EUROPEAN CONTROL CONFERENCE (ECC), 2013, Zürich. Proceedings... [S.l.: s.n.],2013, p. 3332–3337. 1.

TANNURI, E. A. Sistema de Posicionamento Dinâmico: Projeto, Análise e Novos De-senvolvimentos. 2009. Tese (Concurso Livre Docência) — Universidade de São Paulo,São Paulo, 2009.

TAYEBI, a.; TADJINE, M.; RACHID, a. Invariant manifold approach for the stabilizationof nonholonomic chained systems: Application to a mobile robot. Nonlinear Dynamics,v. 24, p. 167–181, 2001.

TZAFESTAS, S. G. Introduction to Mobile Robot Control. London: Elsevier, 2014.750 p.

WAHBA, G. Spline Models for Observational Data. [S.l.]: Society for Industrial andApplied Mathematics, 1990. 169 p. (CBMS-NSF Regional Conference Series in AppliedMathematics).

58

WATANABE, K. et al. Underactuated control for nonholonomic mobile robots by usingdouble integrator model and invariant manifold theory. In: IEEE INTERNATIONAL CON-FERENCE ON INTELLIGENT ROBOTS AND SYSTEMS, 2010, Taipei, Taiwan. Procee-dings... [S.l.: s.n.], 2010, p. 2862–2867. v. 2.

WIT, J. Vector pursuit path tracking for autonomous ground vehicles. 2000. Tese(Tese) — University of Florida, Florida, 2000.

WIT, J.; CRANE, C. D.; ARMSTRONG, D. Autonomous ground vehicle path tracking. Jour-nal of Robotic Systems, v. 21, n. 8, p. 439–449, ago. 2004.

XIANG, X. et al. Path tracking: Combined path following and trajectory tracking for au-tonomous underwater vehicles. In: IEEE/RSJ INTERNATIONAL CONFERENCE ON IN-TELLIGENT ROBOTS AND SYSTEMS, 2011, San Francisco, CA. Proceedings... SanFrancisco: IEEE, setembro 2011, p. 3558–3563.

YANG, E. et al. Nonlinear tracking control of a car-like mobile robot via dynamic feedback li-nearization. In: UKACC CONTROL CONFERENCE, 2004, Bath, UK. Proceedings... [S.l.:s.n.], 2004. September.

YEU, T.; PARK, S.; HONG, S. Path tracking using vector pursuit algorithm for trackedvehicles driving on the soft cohesive soil. In: . SICE-ICASE. [S.l.: s.n.], 2006, p. 2781–2786.

YUN, X.; YAMAMOTO, Y. On feedback linearization of mobile robots. Philadelphia:University of Pennsylvania, 2005. Paper 503. Technical Reports No. MS-CIS-92-45, 2005.

ZANONI, B. I. O. D. Modelagem e implementação do sistema de navegação para umAUV. 2012. 273 p. Dissertação (Mestrado) — Escola Politécnica - Universidade de SãoPaulo, São Paulo, 2012.

ZHEN-YING, L.; CHAO-LI, W. Robust stabilization of nonholonomic chained form systemswith uncertainties. Acta Automatica Sinica, The Chinese Association of Automation andThe Institute of Automation, Chinese Academy of Sciences, v. 37, n. 2, p. 129–142, 2011.

59

ANEXO A – DATASHEET DO MOTOR CC

Product Details

DC GearmotorGM9213-2 Note: Product photo is for illustrativepurposes. Please refer to EngineeringDrawing for specifics.

Motor SeriesSeries GM9000 LO-COGBrush Commutated DCGearmotors

Price (USD)Frame Size (Mounting Face) (in) 2Motor Frame Size (in) 1.58Gear Frame Size (in) 2.000Overall Body Length (in) 3.476Supply Voltage (V) 12Continuous Output Torque (oz-in) 47Output Speed @ Cont. Torque (RPM) 24.8Current @ Cont. Torque (A) 0.81Continuous Output Power (W) 0.85No Load Current (A) 0.15No Load Output Speed (RPM) 129Peak Current (A) 1.4Peak Output Torque (oz-in) 100Motor Constant (oz-in/√W) 1.94Motor Torque Constant (oz-in/A) 5.6Motor Voltage Constant (V/krpm) 4.14Terminal Resistance (Ohms) 8.33Inductance (mH) 6.2Coulomb Friction Torque (oz-in) 0.5Viscous Damping Factor (oz-in/krpm) 0.011Electrical Time Constant (ms) 0.74Mechanical Time Constant (ms) 15Thermal Time Constant (min) 11Thermal Resistance (ºC/Watt) 19Maximum Winding Temperature (ºC) 155Rotor Inertia (oz-in-s2) 0.00039Output Bearing SleeveGear Series G51AGear Ratio (xx.x:1) 19.7Gear Type standard spurGear Efficiency 0.73Gear Maximum Torque (oz-in) 175Encoder Series n/aEncoder Resolution (CPR) n/aEncoder Output Channels n/aWeight (Mass) (oz) 15

Voltage Note

Note: rated voltage ofPittmanExpress item isdifferent than catalogreference voltage of basemotor.

Torque Warning N/A

Pittman Products • www.Pittman-Motors.com • Phone: 1-267-933-2105