Anda di halaman 1dari 8

Robotica

Licenciatura em Engenharia Electrotecnica e de Computadores


Licenciatura em Engenharia Biomedica
Licenciatura em Engenharia Informatica e de Computadores

2008/2009
Departamento de Engenharia Electrotecnica e de Computadores

Area
Cientfica de Sistemas, Decisao e Controlo

2 Projecto
Introducao ao planeamento de caminhos,
navegacao e controlo de robots moveis

Objectivos

Este trabalho tem como objectivos:


(i) a familiarizacao com a descricao cinem
atica, de robots com traccao diferencial,
(ii) a introducao ao planeamento de caminhos e navegacao em ambientes de baixa complexidade,
(iii) a motivacao para o estudo da programacao de robots baseada em comportamentos.

Estrutura do trabalho

Pretende-se comandar um robot movel de tipo uniciclo atraves de um computador utilizando uma
ligacao via porta serie. O comando do robot sera suportado exclusivamente no modelo cinem
atico,
n
ao devendo ser considerados quaisquer aspectos relacionados com a dinamica do mesmo, e.g., efeito
da massa de cada um dos trocos no movimento. No entanto e de notar que a dinamica pode influenciar
o comportamento dos robots de forma evidente, e.g., o nvel de carga das baterias de alimentacao dos
motores influencia a forma como estes respondem.
O trabalho e realizado em MatlabT M e subdivide-se em tres modulos base:
1. Determinacao e simulacao da cinem
atica diferencial do robot movel;
2. Planeamento e geracao de caminhos e navegacao num meio envolvente estruturado;
3. Controlo de seguimento de caminhos (conducao), evitando obstaculos inesperados.
O trabalho deve ser resolvido no robot movel ActivMedia Pioneer III DXe. Este robot possui uma
cinem
atica caracterizada pela existencia de 2 rodas colocadas em lados opostos de forma a que o
movimento de translacao do robot e conseguido quando ambas rodam no mesmo sentido. A rotacao
do robot e conseguida quando as rodas rodam com velocidades diferentes (por exemplo, uma rotacao
pura consegue-se com as rodas rodando com a mesma velocidade, em modulo, mas com sentidos
diferentes.

Robots moveis ActivMedia Pioneer III DXe


Figura 1: Robots moveis de tipo uniciclo
O robot Pioneer pode ser controlado atraves de um computador port
atil com o qual comunica atraves
de uma ligacao serie RS-232.
Para o robot Pioneer e disponibilizado um conjunto de M-funcoes MatlabT M que permitem, por
exemplo, especificar os valores das variaveis de controlo (velocidades das rodas linear e/ou angular),
1

ler a posicao estimada (por odometria) no referencial do mundo e/ou as medidas efectuadas pelos
sonares (no caso do Pioneer). O Apendice A detalha a lista de M-funcoes disponveis para o robot
Pioneer.

2.1

Planeamento e gerac
ao de caminhos num ambiente estruturado

No Apendice B est
a representada a planta de parte do piso 5 da Torre Norte, contemplando os
corredores em redor da coluna central (elevador) e as entradas das varias salas, incluindo o LSDC4.
Trata-se de um meio estruturado, dado que tem uma configuracao geometricamente regular e pontos
de referencia (por exemplo as paredes dos corredores ou as portas das salas).
Para o robot Pioneer, utilize este mapa para planear, usando um dos 2 metodos leccionados nas
aulas da disciplina, um caminho, representado em FW , que leve da entrada do LSDCS4 ate `a sala
de laboratorio LSDC1, visitando de passagem o atrio do elevador. Especificamente, os dois metodos
lecionados nas aulas sao os seguintes:
1. Planeamento de traject
orias cl
assico baseado em via points e usando interpolacao (splines/pchip). Note que o sistema de geracao de caminhos devera interpolar um caminho usando
as configuracoes inicial, final e de via, que permita ao robot cumprir a missao sem colidir com
nenhum dos obstaculos presentes no mapa. A forma de interpolacao do caminho e livre, mas
deve ser cuidadosamente justificada.
2. Planeamento de traject
orias baseado em artificial potentials.
Portanto, um dos objectivos do trabalho consiste na implementacao de um dos metodos e justificacao
da escolha do metodo.
A sequinte informacao sera dada:
o mapa do ambiente considerado,
a configuracao inicial do robot nesse mapa,
a configuracao final desejada para o robot (especificada pelo utilizador)

2.2

Seguimento de um caminho

Existem diversos metodos para deslocar um robot movel de uma dada configuracao (posicao e orientacao) inicial para uma configuracao final desejada.
Se ao sistema de conducao for indicado como objectivo apenas a configuracao final desejada, ao
caminho seguido pelo robot enquanto se dirige para o objectivo pode ser qualquer. Esta situacao
pode conduzir a traject
orias de colisao com obstaculos (mesmo os conhecidos a priori) e portanto n
ao
e, em geral, aceit
avel.
Um objectivo de controlo prefervel consiste em fazer o robot seguir um caminho de referencia previamente gerado, garantindo ainda a n
ao colisao com obst
aculos inesperados (assumindo-se que o
caminho planeado j
a evita os obstaculos conhecidos). O caminho de transicao da configuracao inicial
para o caminho de referencia deve ser neste caso o mais curto possvel.
2

2.2.1

Cinem
atica diferencial do uniciclo

Existem varias metodologias de projecto de controladores de conducao para robots uniciclo. Neste
projecto prop
oe-se uma abordagem simples, de tipo modelo inverso, utilizando o modelo da cinem
atica
diferencial do robot.
A Figura 2 ilustra a definicao dos principais par
ametros do robot uniciclo que permitem obter o
modelo diferencial para a cinem
atica.

yW

FW
YR

FR

XR

xW

Figura 2: Par
ametros cinem
aticos do uniciclo
A relacao entre os diferentes par
ametros pode ser expressa matricialmente da seguinte forma:
W
R





x
v
v
y = J() x
=
J()
=
R()K

(1)

onde J(q) e uma matriz jacobiano e R() e uma matriz de rotacao em torno do eixo Z (note que os
referenciais FW e FR tem sempre os eixos Z com a mesma orientacao) que relaciona as velocidades
linear, v, e angular, , expressas no referencial do robot, FR , com as velocidades x W , y W , W expressas
no referencial do mundo, FW .
Em condicoes ideais (que vamos assumir) o atrito faz com que y R = 0, ou seja, o robot n
ao sofre qualquer deslocamento lateral. Numa situacao real as expressoes deveriam ser calculadas contemplando a
possibilidade de y R 6= 0.
Calcule a matriz R() e, a partir desta, escreva uma M-file Matlab que permita simular o movimento
do robot expresso no referencial FW do mundo.
Teste o comportamento do simulador para diversas combinacoes de v e , i.e., para diferentes tipos
de comportamentos elementares.
Represente graficamente (numa janela de visualizacao) o movimento do robot. Note que se pretende
apenas o mapa da evolucao ao longo do tempo da posicao (xW , y W ), e orientacao, W , do robot.
Importante: Os referenciais indicados na Figura 2 n
ao coincidem necessariamente com os assumidos
parte do processo de identificacao da cinem
pelos comandos reconhecidos pelos robots. E
atica determinar quais os referenciais assumidos pelos comandos de movimento. Por exemplo, pode determinar
3

o sentido do eixo de rotacao de ambos os robots simplesmente verificando qual a direccao de rotacao
quando se executa uma traject
oria com v = 0 e = cte.
2.2.2

O sistema de controlo de condu


c
ao

Dado um caminho a seguir, e necessario assegurar que o robot converge para o mesmo e n
ao mais o
abandona, mesmo na presenca de erros diversos, nomeadamente de odometria, i.e., erros no sistema
de localizacao baseado na integracao dos caminhos percorridos por cada roda.
A Figura 3 esquematiza a estrutura do um controlador possvel, em cadeia fechada, baseado na tecnica
de modelo inverso.

Figura 3: Estrutura do esquema de controlo para seguimento de um caminho



Na figura, xd (t)W , yd (t)W , d (t)W representa a configura
cao a seguir no instante t, ou seja, o caminho

W
W
W
de referencia no instante t, e x(t) , y(t) , (t)
a configuracao onde se encontra o robot nesse
instante. O bloco detector de obstaculos introduz alteracoes locais ao caminho gerado, sempre que
um obstaculo inesperado e detectado, de forma a evitar a colisao com esse obstaculo. Determine
uma estrategia para evitar obstaculos, baseada no princpio de alteracao local do caminho gerado,
e implemente-o, utilizando as leituras dos sonares (Pioneer) para detectar os obstaculos. O bloco
C() e uma matriz de dimensao 3x3 que deve ser dimensionada para que o controlador funcione
convenientemente, isto e, para que o veculo se aproxime do caminho de referencia sempre que o erro
for diferente de zero. Dimensione esta matriz baseado em intuicao geometrica do problema e procure
ajustar o valor dos seus par
ametros simulando o controlo em cadeia fechada do robot no seguimento
dos caminhos planeados na Seccao 2.1.
Sugest
ao: Antes de testar o desempenho da arquitectura desenvolvida no robot real e fundamental
avaliar o desempenho do sistema atraves de simulacao.

Resultados esperados
M-file (ou conjunto de M-files) para comando do robot escolhido, nomeadamente simulando a
cinem
atica do uniciclo e o seguimento de caminhos, e contendo os algoritmos de seguimento do
caminho gerado, evitando obstaculos inesperados, para o robot real.
ametros
Relatorio final, detalhando todas as opcoes de projecto, nomeadamente a determinacao dos par
4

da cinem
atica do robot, os algoritmos de planeamento e geracao de caminhos, os par
ametros do
controlador de conducao e o algoritmo para evitar obstaculos inesperados.
O relat
orio dever
a definir um conjunto de experiencias capaz de mostrar o desempenho das
aplicacoes desenvolvidas bem como graficos com as traject
orias obtidas em varias situacoes.
O relat
orio poder
a ter o maximo de 10 p
aginas A4, singlespace, 12pt. Do relat
orio devera ainda
constar, em apendice (extra `
aquele n
umero de p
aginas), um pequeno manual tecnico descrevendo
os procedimentos para utilizacao da(s) M-file(s).
Devera ser entregue um CD-ROM contendo o relat
orio (em formato pdf ou doc) e o c
odigo fonte
da(s) M-file(s). Se preferir, o aluno poder
a enviar o relat
orio e o c
odigo fonte da(s) M-file(s)
para o Professor Gustavo Carneiro.

The Pioneer mobile platform

The Pioneer is a differential drive traction vehicle developed by ActivMedia Robotics, which body
contains 3 batteries, 2 DC motors for independent traction, a ring of 16 sonars, and control electronics.
The robot interfaces the outside via a RS232 serial port.
M-file
sp = serial port start()
serial port stop(sp)
pioneer init(sp)
pioneer close(sp)
pioneer set controls(sp, v, )
pioneer set heading(sp, )
pioneer set translation(sp, d)
[
s1 sn ] = pioneer read sonars()
= pioneer read odometry()
[
x y ]

Description
Initializes serial port
Closes serial port
Starts communication with the robot, and enables
the motors
Disables the motors, and stops communications
Sets linear and angular velocities
Makes the robot turn to an absolute angle w.r.t.
odometry
Makes the robot move straight ahead a given distance
Reads the last updated sonar readings
Reads the last updated odometry estimate

Tabela 1: Main commands for the Pioneer robot


Parameter
sp
v

d
x

si

Meaning
Serial port Matlab object
Linear speed of the robot
Angular speed of the robot
Angle (absolute heading)
Distance (relative, straight line)
Position x coordinate estimate
Position y coordinate estimate
Heading estimate
Sonar reading for the ith element

Tabela 2: Meaning of the parameters involved in the Pioneer control


Table 1 illustrates the main commands available for the control of the robot. Table 2 explains the
meaning of the parameters.
5

The utilization of the Pioneer robot requires the following steps:


1. In Matlab, create a serial port object using the command serial port start;
2. Initialize the robot using the command pioneer init ;
3. Create a control algorithm, using the functions described in table 1, to obtain odometry and
sonar readings, and establishing the movement control signals;
4. Close the robot interaction using the command pioneer close.

Planta do piso 5 da Torre Norte

Dimens
oes em cm

Anda mungkin juga menyukai