Implementació d'un controlador PID en Lego Mindstorn NXT

Page 1

Implementació d'un Controlador PID En Lego Mindstorm NXT.

David González Ros Abel Sánchez Martínez 2on Batxillerat Tecnològic Curs 2010 - 2011


Índex: 1 Introducció.

Pàg. 02

2 Introducció a la robòtica.

Pàg. 04

3 Lego Mindstorm.

Pàg. 07

3.1 Història dels Lego Mindstorm.

Pàg. 07

3.2 Elements del Lego Mindstorm.

Pàg. 08

3.2.1 Bloc NXT.

Pàg. 08

3.2.2 Servo motors.

Pàg. 10

3.2.3 Sensors.

Pàg. 10

3.3 Entorn de programació.

Pàg. 14

3.3.1 Entorn gràfic de Lego .

Pàg. 14

3.3.2 Tipus de programació.

Pàg. 17

3.4 Disseny en 3D.

Pàg. 18

3.5 Desenvolupament de projectes amb NXT.

Pàg. 20

4 Disseny d'un robot seguidor d'objectes.

Pàg. 23

4.1 Funcionament.

Pàg. 23

4.2 Disseny de la Placa de Sensors.

Pàg. 24

4.2.1 Sistema de comunicació (BusI2C). 5 Sistemes de control.

Pàg. 25 Pàg. 28

5.1 Introducció (explicació PID).

Pàg. 29

5.2 Acció Inicial.

Pàg. 32

5.3 Tot o res.

Pàg. 32

5.4 Acció Proporcional.

Pàg. 33

5.5 Acció Derivativa.

Pàg. 33

5.6 Acció Integral.

Pàg. 33

6 Estudi dels diferents sistemes de control.

Pàg. 35

7 Desenvolupament d'altres aplicacions.

Pàg. 41

8 Conclusions.

Pàg. 43

9 Fonts d'informació.

Pàg. 47

David González i Abel Sánchez

1


1 Introducció. Aquest treball de recerca esta basat en la robòtica educativa que

presenta

centrem

en

la

la

companyia

creació

comercial

d’un

robot

Lego

mindstorm.

Ens

seguidor

d’objectes

amb

sensors analògics Sharp GP2D120, els quals es comuniquen amb el

bloc

NXT

amb

un

BUS

I2C,

tres

i

la

implementació

d'un

controlador PID.

Aquest

controlador

proporcional

ha

funcions

d'amplificar

l'error

diferents. per

a

La

funció

millorar

la

resposta. La funció derivativa ha d'intentar anticipar-se al error,

també

L'última

busca

funció,

un

millor

l'integral,

rendiment busca

en

la

resposta.

minimitzar

l'error

permanent.

El treball d'investigació que presentem pretén analitzar el comportament d’un robot de Lego mindstorm amb un controlador proporcional integral derivatiu a través de dos sensors SHARP GP2D120.

En

concret,

aconseguir

la

diferents

constants

comportament

màxima

del

Lego

volem

centrar

precisió del Nxt

nostre

controlador

estudi

en

variant

les

estudiar

el

quan adaptem una placa amb

dos

PID,

del

el

també

volem

sensors analògics d’ultrasò externs al Lego.

David González i Abel Sánchez

2


L'objectiu prioritari del nostre treball era aconseguir un robot

que

mitjançant construït

mantingués dos amb

una

sensors peces

de

distància

X

d’ultrasò. Lego

respecte Aquest

Mindstorm,

un

objecte

robot,

adaptades

l’hem a

la

construcció de robots, i amb una placa de circuit imprès que controla els dos sensors analògics mitjançant un Bus-I2C.

El

nostre

mantingués

objectiu la

secundari

distància

X

i

era que

aconseguir a

la

que

vegada

el

robot

girés

amb

l’objecte. Això ho hem intentat amb un doble PID, però per causa

de

les

limitacions morfològiques del Lego i el

seu

entorn de programació no ha sigut possible.

David González i Abel Sánchez

3


2 Introducció a la robòtica. L’any 1921 va ser introduïda la paraula txeca robota, que significa servitud o treball monòton, en l'obra de ciència ficció Robots Universals de Rossum1, per referir-se al que avui en dia en diríem robot. El Gran Diccionari de la llengua catalana2 defineix robot com: Màquina

automàtica

capaç

de

manipular

objectes,

executar

operacions i moviments diversos segons un programa que pot ésser modificable o adaptable, i que pot anar equipat amb sensors

per

tal

de

detectar

els

senyals

d'entrada

i

les

condicions ambientals.

Aquesta definició només ens diu què és un robot, però no explica

res

sobre

el

més

important,

la

transcendència

d'aquestes màquines per al desenvolupament de la humanitat ja que en l'actualitat els robots ens relleven de tasques que poden ser repetitives o perilloses per a l'ésser humà. També milloren la qualitat de feines en les que és necessària una gran

precisió

irrealitzables

i per

fins

i

tot

ens

permeten

impossibilitats

ja

siguin

fer

treballs

físiques

o

d'estudis

i

d'altres tipus. La

robòtica

tècniques

és

que

el

conjunt

s'utilitzen

per

a

la

construcció i l'ús de robots. Aquesta

branca

de

la

tecnologia

ha

estat

unida l'anhel humà de crear artefactes que facin feines per a nosaltres sense la nostra intervenció directa. Fig. 01 Portada del llibre R.U.R

David González i Abel Sánchez

4


Però la història de la robòtica no comença pas al segle XXI, Da Vinci en el segle XVIII va fer el disseny d'una espècie d'humanoide, entenem que amb l'objectiu de crear un robot. A finals

del

segle

XIX

Nikola

Tesla

construïa

vehicles

controlats per ràdio. Aquest gran avenç va ser utilitzat més tard per a la indústria nuclear, degut a la impossibilitat de contacte entre els elements nuclears i les persones. Després, cap a meitat del segle passat Georege C. Devol i Joseph F. Engelberger van construir un robot anomenat Unimate. Aquest invent va ser desenvolupat per a la manipulació de peces en llocs com General Motors. Cosa que ara encara s'utilitza en totes les fàbriques de producció en sèrie de cotxes.

Durant

la

dècada

dels 70, la investigació en robòtica

se

centra en l'ús de sensors externs per a la seva utilització en tasques de manipulació. És també en aquests anys quan es consolida

definitivament

la

presència

de

robots

en

les

cadenes de muntatge i plantes industrials en l'àmbit mundial. D'aquesta manera se segueixen investigant encara nous sensors i

la

millora

de

la

major

part

d'ells.

Això

és

important

perquè els robots ens eximeixen de fer tasques perilloses i desagradables, per tant és possible imaginar un món on feines com la construcció o medicina molt avançada puguin ser fetes per robots. Aquest tema va plantejar idees com per exemple si algun dia els robots podrien sortir del nostre control i pensar per ells sols. Aquest tema es va començar a tractar a mitjans del segle XX, quan Isaac Asimov va escriure el llibre Jo, robot on ell va proposar les 3 lleis de la robòtica.

David González i Abel Sánchez

5


1.Un robot no pot fer mal a un ésser humà o, per inacció, permetre que un ésser humà prengui mal. 2.Un robot ha d'obeir les ordres dels éssers humans, excepte si entren en conflicte amb la primera llei. 3.Un

robot

ha

de

protegir

la

seva

pròpia existència en la mesura que aquesta

protecció

no

entri

en

conflicte amb la primera o la segona llei. Fig. 02 Porada del llibre: “Yo, robot”

David González i Abel Sánchez

6


3 Lego Mindstorm. En aquest apartat ens centrem en explicar la història, els elements, l'entorn de programació i com fer un disseny en 3D, de

manera

virtual,

de

la

plataforma

principal

que

hem

utilitzat per al nostre treball. 3.1 Història dels Lego Mindstorm. Lego Mindstorm NXT és resultat de la col·laboració entre la marca

de

joguines

Lego

i

l’institut

Tecnològic

de

Massachusetts(MIT), originada al 1986, en virtut de la qual LEGO finança les investigacions del grup del MIT, però, a canvi, obté noves idees per als seus productes. Les

investigacions

i

el

treball

del

grup

del

MIT

van

desembocar en la programació de bloc, utilitzat en l’estudi complex i l’aprenentatge. sortir

al

mercat

amb

el

La primera sèrie que van crear va nom

de

Lego

Mindstorm

RCX,

al

setembre de 1998. Els resultats d’aquest productes van ser molt bons, superant totes les expectatives.

El RCX , la primera generació de Lego, comptava amb una potència

de 16KB de

memòria

RAM,

ROM

i

32

KB

de

també

comptava amb tres entrades per sensors y

tres

d’un

sortides port

amb

motors,

d’infrarojos.

a

sobre

La

seva

aparença era molt similar als blocs de Lego tradicionals, a les joguines.

Fig. 03 Lego RCX amb els sensors

David González i Abel Sánchez

7


L’any 2006, després d’un període de negativitat en la línia LEGO Mindstorms, Lego va llençar al mercat el nou model, el bloc NXT, que millorava la capacitat de l’anterior. Aquest microcontrolador

inclou,

entre

altres

coses,

una

memòria

flaix de 256kb, que el diferencia del bloc antecessor ja que posseeix

una

d'execució

de

major

capacitat

programes,

evitant

processos incoherents de dades que produïen errors. A part, el bloc NXT té quatre entrades i tres sortides. Fig. 04 Lego NXT amb els servomotors i els sensors

3.2 Elements del Lego Mindstorm. A continuació expliquem els tres elements principals de Lego Mindstorm, el Bloc NXT que és el processador; els servomotors que són les sortides; i els sensors que són les entrades. 3.2.1 Bloc NXT. El Bloc NXT és l'element imprescindible per al robot Lego. Deixant

de

banda

les

qüestions

anatòmiques,

el

Bloc

NXT

desenvolupa les mateixes funcions que el nostre cervell, és a dir, rep informació per les entrades, en el cas del Bloc 4; les interpreta i dóna ordres a les sortides, 3. El

controlador

convertidors

NXT

ADC

és

un

controlador

(d'analògic

a

que

digital),

disposa

per

a

de

poder

reutilitzar els sensors del sistema RCX. És molt versàtil i educatiu, ja que qualsevol persona el pot utilitzar i també pot

donar

un

bon

rendiment

a

un

nivell

de

programació

professional, utilitzant els diferents tipus de programació possibles. David González i Abel Sánchez

8


Aquest bloc és de plàstic sòlid, amb diversos punts on es poden connectar peces de Lego. A més, té quatre botons: un de color

taronja

inferior

a

pantalla;

que

utilitzem

aquest els

com

s'utilitza

dos

botons

un

per

On

o

Enter;

retrocedir

grisos

de

o

forma

el

botó

netejar

la

triangular

s'utilitzen per desplaçar-se pel menú de Lego. També disposa d'un micròfon, un altaveu i un receptor de Bluetooth.

Fig. 05 Bloc NXT

A part, té tres sortides, un connector USB i quatre entrades on podem connectar els diversos actuadors o sensors de Lego, o

com

veurem

algunes

aplicacions

creades

per

nosaltres

mateixos. La seva alimentació utilitza sis piles AA d'1,5 V o bé la bateria de liti de sèrie. Totes dues fonts d'alimentació es poden extreure per la part posterior del Bloc NXT. El robot disposa de dos microcontroladors: l’ARM7 de 32 bits amb

una

memòria

FLASH

de

256

Kilobytes

i

una

RAM

de

64

Kilobytes i l’ATmega48 de 8 bits amb una memòria FLASH de 4 Kilobytes i una de RAM de 512 Bytes.

David González i Abel Sánchez

9


3.2.2 Servo motors. Els actuadors del LEGO Mindstorm es redueixen bàsicament a petits

motors

de

corrent

contínua.

Aquest

robot

una

potència petita i un rang d'actuació reduït. Mitjançant l'ús de motors podem utilitzar qualsevol altre tipus d'actuadors que

necessitem.

reduïda,

al

Els

seu

motors,

encara

que

interior

tenen

un

tinguin

una

complex

mida

sistema

d'engranatges i un sensor tacomètric. Podem trobar diversos punts d'unió per connectar-los amb la nostra construcció de Lego. El motor pot arribar, sense càrrega, a una velocitat de 160rpm, alimentat per 9V.

Fig. 06 Servomotor de Lego NXT

3.2.3 Sensors. Un sensor és un element que actua com a dispositiu sensible a determinats sensor

estímuls

capta,

de

l’entorn.

s’anomenen

Aquests

variables

senyals,

de

que

treball.

el El

funcionament del sensor consisteix en captar aquests estímuls per

produir

un

senyal

elèctric

i transmetre’l a un altre

dispositiu del circuit elèctric de manera pugi actuar.

David González i Abel Sánchez

10


Al

pac

de

Lego

adquirit per nosaltres, podem distingir

4

sensors. •El sensor de pressió o de contacte: Aquest sensor també es coneix amb el nom de “final de cursa”. Es

tracta

d’un

dispositiu

que

permet

donar

diferents

informacions al robot, com ara saber on hi ha un objecte, gràcies al polsament directe d’una part del sensor. Forma part

del

electrònics

grup de

de

posició,

sensors ja

que

gràcies al polsador un robot es pot orientar en l’espai. Utilitza un

senyal

digital

binari

quan

s'activa i es desactiva. Fig. 07 Sensor de pressió de Lego NXT

•Sensor de llum infraroig: Un sensor de llum és un dispositiu fotoelèctric de posició que permet captar el grau d’intensitat lumínica de l’ambient, ja sigui per rebot d’una llum generada per un LED del propi sensor o per barrera, degut a una interferència de l’objecte en el senyal lluminós normal. El sensor de llum de Lego pot detectar

la

intensitat de llum per qualsevol de les dues

maneres, ja que disposa d’un emissor de llum infraroig. El seu funcionament es basa en els fototransistors situats al seu interior que transmeten un senyal elèctric al circuit a partir llum

de

que

la

intensitat

reben.

Això

de

permet

donar visió al robot. Fig. 08 Sensor de llum de Lego NXT

David González i Abel Sánchez

11


•Sensor de so: Un

sensor

de

so

és

un

dispositiu

de

posició

diferents intensitats de so d’un espai proper.

que

capta

La unitat amb

què es mesura la intensitat del so és el decibel (dB), una unitat

relativa

i

logarítmica

utilitzada

en

acústica.

No

obstant, el robot, per fer més fàcil la comprensió de les diferents mesura

mesures,

percentual,

utilitza que

una

augmenta

com més intens i potent és un so. El sensor de so Mindstorms NXT pot mesurar pressions de sons màximes de l’ordre de 90 dB. 0 dB. Fig. 09 Sensor de so de Lego NXT

•Sensor d'ultrasò: Un sensor d’ultrasò és un dispositiu que permet orientar el robot en un espai. La seva funció principal és la de mesurar la distància a que es troba amb un objecte o un obstacle frontal. A més, pot detectar moviment i dóna sensibilitat al conjunt del robot. El mecanisme de funcionament en que es basa és semblant al sonar d’un submarí, ja que funciona a partir de l’emissió d’ultrasons que topen amb un objecte i reboten. Llavors, les ones són captades de nou pel receptor del

sensor.

objecte,

el

Per

calcular

controlador

la

distància

mesura

respecte

l’interval

de

a

temps

aquest entre

l’emissió i la recepció de l’eco dels impulsos emesos, sent coneixedor de la longitud de l’ona de so enviada. El sensor de Lego mesura distàncies de 5 fins

a

250

centímetres

amb

un

marge d'error que ronda els 3-5 centímetres;

quan

augmenta

la

velocitat, augmenta l'error. Fig. 10 Sensor d'ultrasò de Lego NXT

David González i Abel Sánchez

12


Per

al

nostre

sensor perquè

treball

d'ultrasò volíem

utilitzem

SHARP

millorar

la

un

GP2D120 precisió

utilitzant dos sensors analògics, els quals són més econòmics que un sensor d'ultrasò de Lego. Fig. 11 Sensor d'ultrasò SHARP GP2D120

•Sensor de temperatura: El

sensor

de

temperatura

aproximat

de

temperatura,

termistor

en

un

generant permet

un la

temperatura bloc

que

sensor mesura

dels

camp

volem

el

rang

mitjançant

magnètic

la

contingut

del

mesurar.

Es

passiu de

la

el

valor

interacció

d’un

un que

temperatura

entre -20ºC a +50ºC.

calcular

que

de

analògic

permet

extrems,

detecció del

ens

Fig. 12 Sensor de temperatura

Sensor electro-òptic: •El sensor EOPD detecta amb molta precisió objectes i petits canvis de distancia. Utilitza una font de llum interna per detectar la

presencia

Generant

la

seva

d’un

objecte.

pròpia

font

de

llum , fent així possible que el robot

es

mogui

per

llocs

molt

lluminoses o obscures. Fig. 13 Sensor electro-òptic

David González i Abel Sánchez

13


3.3 Entorn de programació. Lego Mindstorm NXT inclou un software de desenvolupament en blocs,

per

senzill

tant

gràfic,

d'utilitzar,

el

basat qual

en

Labview,

funciona

en

relativament

Windows

i

Mac.

Encara que si es vol programar amb més precisió o amb accés a un

nivell

més

baix

de

la

programació,

és

necessària

l'existència d'un llenguatge de programació per entrada de text, més funcional i orientat a un ús més seriós que el proposat per Lego (que, no obstant, és bastant complet i útil per a començar a programar), ja que és com un joc. Alguns dels altres llenguatges de programació són: •

El RobotC és un entorn que possibilita el llenguatge C. No

és

un

programa gratuït.

Disponible a

la seva

web

(http://www.robotc.net/) •

El Labview és una eina gràfica per a fer proves, control i

disseny

mitjançant

la

programació.

Utilitza

un

llenguatge anomenat G, d'aquí que el nostre entorn de programació sigui anomenat NXT-G, on la G simbolitza el llenguatge gràfic.

3.3.1 Entorn gràfic de Lego. Al

estar

dissenyat

per un públic molt ampli, presenta

un

funcionament molt simple. Inclou un tutorial que ens ensenya les

bases

per

a

programar

i

ofereix

il·lustracions

molt

visuals en l'apartat “Ajuda”. L'NXT-G disposa d'un full de treball amb una icona immòbil que marca l'inici del programa. És

important

saber

que

podem

crear

seqüències

paral·leles

clicant a Shift just on volem crear una altre biga. Per a la nostra programació utilitzem l'anomenada Complette Palette. On trobem els següents blocs:

David González i Abel Sánchez

14


Fig. 14 Entorn de programació de Lego NXT

•Common: El move Block és el bloc més utilitzat,

s'utilitza

per

activar

qualsevol dels 3 motor del NXT, per conjunt o separats. A més podem controlar la potència, la duració el tipus de gir parabòlic o l'estat dels motors en la següent acció.

Fig. 15 Move Block

El Display Block ens permet mostrar un text, una imatge o una forma qualsevol a la pantalla del controlador (100 x 64 pixels).

Fig. 16 Display Block

David González i Abel Sánchez

15


•Flow: En els quatre blocs de Flow hi ha un

flux

continu

d'accions

que

desenvolupen en diferents funcions que tenen

un

paper

sigui

dividint

molt la

important.

seqüència

o

Ja repetint-la

de

forma

indefinida. En quest grup trobem blocs que

•Data:

treballen exclusivament amb dades, ja sigui

creant-les,

modificant-es

o

emmagatzemant-les. a)Compare Block: aquest bloc determina tres condicions d'entrada:

sobre si

és

un més

valor

gran,

més

numèric petit

o

igual.

b)Math Block: Aquest bloc fa les operacions matemàtiques més bàsiques, sumar, restar, multiplicar

o

dividir;

amb

els

valors

d'entrada o valors fixes.

c)Range Block: Amb aquest bloc situem una dada dins

o

fora

d'un

interval,

per

tal

de

transmetre un senyal lògic.

David González i Abel Sánchez

16


d)Variable valors

Block:

Aquest

numèrics

fixes

bloc o

emmagatzema

resultants

d'una

operació anterior.

•Advanced:

És

el

grup

on

trobem

accions

més

complexes ja que, a més, podem importar-ne. a)Number to text: Transforma dades en forma de nombres en text, per a poder treure-les per un display.

b)Bloc PCF8591-NX: Aquest bloc és un bloc importat per nosaltres, que fem servir per agafar dades des del BusI2C. En aquest bloc seleccionem diferents opcions com l'adreça del BUS o el port on es troba, a més de si és un senyal entrada o sortida. D'aquesta

manera

podem

agafar

dades

d'un

sensor analògic.

3.3.2 Tipus de programació. Encara que l'entorn gràfic de Lego pot ser de gran ajuda per programar, no pot esprémer totes les possibilitats que ens ofereixen

el

controlador

i

els

sensors.

Per

això

podem

programar en altres tipus de llenguatges. Els més utilitzats són: C, MATLAB, RobotRealm, LABVIEW, NXC, NBC i NBC. Cal dir que l'entorn gràfic de Lego és un derivat de LABVIEW.

David González i Abel Sánchez

17


3.4 Disseny en 3D. Per a dissenyar el nostre robot hem utilitzat un programa anomenat Lego Digital Designer. Aquest és un programa de CAD tridimensional

per

fer

dissenys

i

reproduir

construccions

reals de Lego. Té una gran paleta de peces, on podem trobar des de les més clàssiques dels LEGO City fins a les més complexes de LEGO Mindstorms NXT. Per tant el LDD ens permet construir

la

nostra

construcció

en

un

entorn

3D

amb

una

aparença real. Aquest, de tota la saga de programes de LEGO, és el mes complet i actualitzat. Entre les seves opcions més útils, n'hi ha una que ens permet calcular el preu de la nostra construcció en funció de les peces que utilitzem. Però sobretot, l'aplicació més pràctica per a la construcció del nostre robot, ha estat la manera que té

de

generar,

a

partir

del

disseny

final,

una

guia

de

construcció pas a pas, que pots imprimir i seguir a l’hora de crear el teu disseny a la realitat. El funcionament del programa es molt intuïtiu i senzill. De vegades podem trobar algun problema quan volem connectar dues peces en una posició difícil, però malgrat la complexitat, sempre és possible. Aquest software funciona amb Windows i Mac, i es pot descarregar gratuïtament en la web de Lego.

David González i Abel Sánchez

18


Fig. 17 El nostre robot amb LDD

Fig. 18 Un disseny amb LDD

Fig. 18 El nostre robot amb LDD.

Fig. 19 El nostre robot amb LDD

Fig. 20 Entorn del LDD

Tots els passos de la construcció estan en el CD adjunt al treball.

El

LDD

és

un

programa

gratuït

que

podem

descarregar de la seva pàgina web (http://ldd.lego.com/)

David González i Abel Sánchez

19


3.5 Desenvolupament de projectes amb NXT. Entenem que la NXT va ser creada amb una finalitat educativa, encara i així, com hem vist, pot arribat a nivells molt alts de

programació.

Alguns

dels

projectes

més

complicats

que

s'han fet amb la NXT són: •Resolució del cub de Rubik mitjançant Lego NXT: El funcionament d'aquest muntatge el podem descompondre en tres fases: la primera, reconeixement del

cub

per

a

extreure

el

mapa

de

posició inicial, aquesta fase es pot realitzar mitjançant una càmera o un sensor del llum o un sensor de color, que

realitzi

un

sondeig

dels

9

quadrats de les 6 cares del cub. Fig. 21 Rubik NXT

En

la

segona

resolució

que,

fase amb

el

controlador

les

dades

aplica

anteriors,

un

algoritme ens

crea

de una

seqüència de moviments per resoldre el cub. La tercera fase és una execució física dels moviments creats anteriorment, per a poder resoldre el cub hem de poder fer girs de 90º en vàries direccions.

David González i Abel Sánchez

20


•Segway: És la primera màquina de transport impulsada elèctricament que manté el seu propi equilibri. El segway pot seguir el model de pèndol invertit, un problema clàssic de control, un sistema no alineat i inestable. Aquest model es basa en la realimentació de la posició. Amb el sensor de lluminositat podem deduir la inclinació del robot tenint en compte que hi ha

una

relació

entre

lluminositat

i

angle.

Partint

d'una

posició inicial d'equilibri es pren la mesura de referència de lluminositat. Si el robot cau cap al costat del sensor, és a dir, el sensor s'apropa al terra, augmenta el valor de lluminositat i varia l'angle. Per a què aquest sistema funcioni hem de treballar en unes condicions d'il·luminació controlada i també disposar d'una superfície com a més homogènia millor.

Fig. 22 Segway NXT

David González i Abel Sánchez

21


•Els robots seguidors de línies són robots molt senzills, ja que compleixen una única missió: seguir una línia marcada al terra. Tots aquest robots basen el seu funcionament en els sensors. Depenent de les característiques del recorregut que ha de fer,

el

robot

ha

d’utilitzar

més

o

menys

sensors

per

realitzar-lo. Els

més

simples

utilitzen

2

sensors,

ubicats

a

la

part

inferior de la estructura, un al costat de l'altre. Quan un dels dos sensors detecta el color blanc, significa que el robot està sortint de la línea negra per aquest costat. En aquest moment, el robot gira cap a el costat contrari fins que torna a estar sobre la línea indicada. Podem

utilitzar

un

microcontrolador

per

realitzar

les

funcions de control o guardar la fórmula del recorregut de la pista. Les seves parts més importants són: •Sensors: infrarojos o fototransistors. •Servomotors •Rodes. •Font d’energia: bateries o piles. •Bloc NXT

Fig 23. Robot seguidor de línies NXT

David González i Abel Sánchez

22


4 Disseny d'un robot seguidor d'objectes: En el nostre projecte volem aconseguir un robot que segueixi un objecte determinat i pla a una distància inicial que es mantingui constant en tot el procés. Per a això vam haver d'introduir un sistema de comunicació BUS I2C per a utilitzar dos sensors analògics, ja que els sensors digitals de Lego tenen un preu més elevat. La part morfològica del robot buscava ser simple però bastant pràctica, és a dir, que no fes funcionar malament el robot. En aquest apartat expliquem el funcionament del robot i la placa de sensors. 4.1 Funcionament. Teòricament l'objectiu del nostre robot és que compari la distància que volem tenir amb la real, i que segons aquesta avanci

o

retrocedeixi.

Però

fer

un

programa

que

englobi

aquesta acció perfectament és bastant complicat, ja que la precisió

en

els

motors

és

bastant

complexa,

per

a

això

utilitzem els diferents controladors, els quals expliquem més endavant.

David González i Abel Sánchez

23


4.2 Placa de sensors: Per fer la placa amb els sensors SHARP GP2D120 hem utilitzat dos

sensors

termoretràctil, 82kΩ,

un

SHARP

GP2D120,

condensadors

BusI2C-8591,

una

pins

100 placa

mF,

mascle dues

i

femella,

resistències

de

CT10,

dos separadors hexagonals, dos cargols autoblocants, un sòcol per 8591, cable paral·lel

amb

connector

RJ12,

estany,

soldador, estenalles de tall, serra de marqueteria,

cianocrilat

i

una

grimpadora de cable telefònic. Fig. 23 La nostra placa

Fig. 24 La nostra placa feta amb Crocodile Tecnology

David González i Abel Sánchez

24


4.2.1 Sistema de comunicació (BusI2C). Sota

les

trobem

sigles

un

els

del

Bus

I2C

estàndard

(Inter-Integrated

d'ús

de

Circuit),

comunicacions

sèrie

més

conegut en la indústria electrònica. El

Bus

I2C

neix

responsable

del

comunicacions

en

1992

seu

en

de

la

disseny.

sèrie

i

Es

està

de

Philips,

determina

adaptat

a

un

l'àmbit

que

és

Bus

de

de

les

comunicacions a curta distància entre dispositius electrònics amb

un

alt

velocitat

nivell

no

és

implementació

d'integració

excessivament

normalitzada,

i

proximitat.

alta, però

és

de

pot

La

100Kb/s

arribar,

seva en

si

la és

necessari, fins a varis Mb/s. Una de les característiques més interessants del I2C és que té un

menor

nombre

problemes cablejat

de i

superfície

d'interconnexions

interferències. la

seva

ocupada

i

Donada

mecanització,

en

un

entorn

això la

fa on

representa

seva que

menys

senzillesa

de

redueixi

la

es

l'espai

és

un

factor

crític. Un

únic

bus

de

comunicació

dispositius

connectats

identificar

cadascun

a

d'ells

I2C ell i

pot

suportar

fins

directament.

Per

comunicar-s'hi,

a

128

poder

tots

els

dispositius han de comptar amb una direcció única de 7 bits. Els dispositius poden estar en dues posicions: mestre, es el que té prioritat sobre els altres; i esclaus, els que van desprès

del

mestre.

En cada moment només pot haver-hi

un

dispositiu en posició mestre.

David González i Abel Sánchez

25


Característiques del Bus

I2C:

•Format d'una transacció del bus: •|start|A7 A6 A5 A4 A3 A2 A1|R/W|ACK|... DATA ...|stop|idle| •El mestre comença la comunicació enviant un patró anomenat “start

condition”.

Això

alerta

als

esclaus,

posant-los

en

espera d'una transició. •El mestre es dirigeix al dispositiu amb el que vol establir una comunicació, enviant un byte que conté els 7 bits (A7-A1) que componen la direcció del dispositiu esclau amb el que es vol comunicar; i el vuitè bit (A0), de menor pes es correspon a l'operació desitjada. •La direcció enviada es comparada per cada esclau del bus amb la seva pròpia direcció. Si totes dues coincideixen, l'esclau es

considera

direccional

com

esclau-transmisor

o

esclau-

receptor. •El esclau respon enviant un bit de ACK que li indica al dispositiu

mestre

que

el

dispositiu

esclau

reconeix

la

sol·licitud i està en condicions de comunicar-se. •Seguidament

comença

l'intercanvi

d'informació

entre

els

2

dispositius. •El mestre envia la direcció de registre intern al dispositiu que es desitja llegir o escriure. •El esclau respon amb un bit ACK. •Ara el mestre pot començar a llegir o escriure bytes de dades. Tots els bytes de dades han constar de vuit bits. El nombre màxim de bytes que es pot enviar en una transmissió no està

registrat,

sent

l'esclau

qui

determina

aquesta

característica. •Cada

byte

llegit

o

escrit

pel

mestre

ha

de

ser

obligatòriament reconegut per un bite de ACK pel dispositiu mestre o esclau.

David González i Abel Sánchez

26


•Es repeteixen els dos passos anteriors fins finalitzar la comunicació entre mestre i esclau. •Quan la comunicació finalitza, el mestre transmet un “stop condition” per deixar lliure el bus. •Desprès de la “stop condition” és obligatori per al bus estar durant uns microsegons en IDLE.

David González i Abel Sánchez

27


5 Sistemes de control: Un sistema de control es pot definir conceptualment com un ens que rep unes accions externes o variables d'entrada i que produeix una resposta mitjançant les variables de sortida. En considerem bàsicament dos tipus: •

Sistema de control en llaç o bucle obert: En

aquest

sistema

l'acció

de

control

és

totalment

independent a la de sortida. Per tant, les variables de control s'ajusten a partir del comportament previsible del sistema. La resposta depèn únicament de les variables d'entrada.

Sistema de control en llaç o bucle tancat: En aquest tipus de control existeix una relació entre la resposta del sistema i les variables d'entrada i sortida. Perquè existeixi aquesta influència de la sortida, cal que

l'entrada

es

modifiqui a

partir de

la senyal

de

sortida convenientment tractat; és el que es coneix com realimentació. Així, doncs, un sistema en llaç tancat és aquell

que

existeix

una

realimentació

del

senyal

de

sortida, de manera que aquest exerceix una acció sobre el sistema de control.

David González i Abel Sánchez

28


5.1 Introducció El

sistema

continuació

de

control

explicarem

que que

utilitzarem

és

cadascuna

dels

fa

el

PID,

mètodes

a de

control que provarem en la programació: •Control tot o res, aquesta modalitat de control no utilitza cap

controlador.

Aquest

control

activa

i

desactiva,

d'una

manera ràpida, el sistema controlat quan aquest s'allunya o assoleix respectivament el punt de referència. El PID inclou tres accions: la proporcional(P), l'integral (I) i la derivativa (D). Amb aquestes accions es poden fer els següents controladors: P, I, D, PI, PD, PID. •Acció de control proporcional (P), consisteix a amplificar la senyal d'error avanç d'aplicar-la al procés, el règim normal del funcionament d'un sistema no es produeix immediatament desprès d'aplicar-li una entrada determinada, sinó que passa per una sèrie de fases: •Règim transitori: és el temps entre que es dóna l'ordre de referència fins que el sistema respon i assoleix un valor estable. •Règim permanent: en aquesta fase el sistema ha de mantenir la

resposta

assolida

i

resoldre

els

problemes

de

pertorbacions.

David González i Abel Sánchez

29


En la pràctica, si la variació del senyal d'entrada és molt ràpida,

el

regulador

conseqüència,

el

no

la

de

sortida

senyal

podrà

seguir

seguirà

i,

un

com

a

trajectòria

fins a arribar al valor estable. En resum, un regulador P fa funcionar el sistema amb més rapidesa però triga més temps a estabilitzar-se. •Acció de control integral (I), consisteix en fer la integral de

la

senyal

d'error,

per

així

eliminar-la.

El

problema

d'aquest controlador és el temps de resposta, ja que depèn del

valor

de

utilitzar

l'error.

aquest

normalment

Per

aquest

controlador

l'utilitzem

en

motiu acció

combinat

amb

no

acostumem

única, altres

a

sinó

que

tipus

de

reguladors. •Acció de control derivada (D), aquesta acció consisteix en anticipar-se,

es

a

dir,

avança

l'acció

de

control

davant

l'aparició d'una tendència d'error, la qual cosa tendeix a estabilitzar el sistema. Aquest regulador, com l'anterior, no s'acostuma a utilitzar de manera aïllada, sinó que s'uneix amb altres reguladors com el (P) i el (I). •Regulador d'acció proporcional derivativa (PD), a causa de la seva

condició

proporcional,

aquest

regulador

ajusta

la

sortida a la proximitat de la variable de referència. Pel fet de

ser

també

proporcional controlada.

a El

derivatiu la

la

velocitat

regulador

PD

sortida dels tracta

respon

canvis de

de

de la

millorar

manera magnitud

el

règim

transitori, fase del controlador P, és a dir que el sistema respongui més ràpidament assolint un valor més ràpid gràcies al controlador derivatiu.

David González i Abel Sánchez

30


•Regulador d'acció proporcional integral (PI), el regulador PI introdueix

una

exclusivament

el

acció

integradora

règim

permanent

que

sense

permet

millorar

modificar

el

règim

transitori, que és el que no pot fer el regulador P. Aquesta acció també es durà a terme quan es produeix una pertorbació permanent. En la pràctica, aquest temps d'integral s'ha d'ajustar a les característiques de la càrrega. •Per a una càrrega donada, si el temps d'integral és massa curt, es pot produir inestabilitats amb les oscil·lacions de la magnitud que es vol controlar. •D'alta banda, si el temps d'integral és gran, la resposta serà lenta, com també l'eliminació de l'OFFSET. •Regulador

d'acció

proporcional

integral

derivativa

(PID),

combina simultàniament les accions que hem anat analitzant fins

ara

D'aquesta

la

proporcional,

manera

podem

la

integral

efectuar

un

i

la

control

derivativa. precís

de

qualsevol procés. •L'acció

proporcional

ens

permet

efectuar

el

control

reduint les oscil·lacions del règim transitori. •L'acció

derivativa

actua

ràpidament

per

corregir

els

canvis que es produeixen en la magnitud controlada durant el règim permanent com a conseqüència d'una pertorbació externa. •L'acció

integral

corregeix

automàticament

l'OFFSET

i

ajusta el valor de la variable al punt de referència.

Fig. 25 Controlador PID

David González i Abel Sánchez

31


La

resposta

i

l'estabilitat

de

control

depèn

de

les

característiques de la càrrega i del regulador. El regulador PID s'utilitza per obtenir un control exacte i concret en processos continus. En el control automàtic existeixen dues àrees

d'interès

principal

per

controlar

la

resposta

i

l'estabilitat de control: •La resposta en règim permanent (control continu) davant de modificacions en les condicions de funcionament com ara canvis de punts de referències o variació de càrrega. •La resposta en règim transitori (engegada inicial). 5.2 Acció Inicial Primer,

s'agafen

els

valors

dels

2

sensors

connectats

al

BusI2C, amb aquests 2 valors se'n fa la mitja sumant-los i dividint-los entre 2. Aquest valor el guardem a una variable anomenada

Consigna,

la

qual

amb

un

convertidor

a

text,

mostrem en la pantalla del Lego gràcies a un Display. Per evitar errors posem una espera de 2 segons. 5.3 Tot o res Fet

això

entrem

en

accions:

Mesura,

com

distància

mitja

que

un

bucle

infinit

que

fa

le

següents

hem vist a l'inici del programa, mesuren

els

dos

sensors.

Després,

la a

aquest nombre se li resta la variable que hem guardat com a Consigna. Això calcula l'error, el qual va a un Compare amb acció de Less than que va a la direcció dels motors.

David González i Abel Sánchez

32


5.4 Acció proporcional L'acció

proporcional

constant

multiplica

proporcional

que

l'error

dóna

com

a

calculat resultat

per el

la

terme

proporcional, el qual determina la potència del motor. ERROR · Kp = Terme Proporcional 5.5 Acció Derivativa En

l'acció

derivativa

restem

el

penúltim

error

a

l'últim

error que és igual a l'error derivatiu. Aquest multiplicat per la constant derivativa dóna el terme derivatiu. Si sumem aquest al terme proporcional i determinem la potència, tenim el controlador PD. ERROR = ERROR_PREVI ERROR – ERROR_PREVI = ERROR DERIVATIU ERROR DERIVATIU · Kd = Terme Derivatiu 5.6 Acció Integral En l'acció integral es suma l'error integral més l'error el que dóna un nou error integral, després aquest és multiplicat per

la

constant

integral

el

que

dóna

el

terme

integral.

Aquest sumat al terme proporcional i això a la potència fa el PI

i

si

a

més

hi

sumem

el

terme

derivatiu

ja

fem

el

controlador PID. ERROR + ERROR INTEGRAL = ERROR INTEGRAL Ki · ERROR INTEGRAL = Terme Integral

David González i Abel Sánchez

33


Potència PI = Terme Proporcional + Terme Integral Potència PD =

Terme Proporcional + Terme Derivatiu

Potència PID = Terme Proporcional + Terme Derivatiu + Terme Integral

Fig. 26 Gràfiques dels controladors

David González i Abel Sánchez

34


6 Estudi dels diferents sistemes de control. Tots els controladors estan tenint problemes per anar cap a endavant.

Tot o res:

en aquest programa que observem en la figura 23

el robot no va bé, ja que es queda oscil·lant en un punt mort perquè no controlem la potencia del robot, per tant es quasi impossible aconseguir la distància indicada.

Fig. 27 Programa Tot o res fet per nosaltres amb el programa de Lego Mindsotrm.

David González i Abel Sánchez

35


Controlador proporcional: amb la constant proporcional a 2, té una reacció lenta però precisa, gràcies a que amplifica l’error

de

manera

alta

però

sense

generar

errors.

És

la

variable preferida de la constant proporcional. -Variable s’amplifica

proporcional massa

a

3:

l’error

i

en el

augmentar robot

la

variable

problemes

per

estabilitzar-se. -Variable

proporcional

a

1:

El

robot

es

comporta

extremadament lent, ja que al multiplicar per 1 la potència queda molt baixa. -Variable proporcional a 4: l'error multiplicat per 4 genera un nombre tan alt, que genera un error tan gran, que fa que el robot quedi aturat.

Fig. 28 Programa controlador P fet per nosaltres amb el programa de Lego Mindsotrm.

David González i Abel Sánchez

36


Controlador proporcional derivatiu: en intentar anticipar-se al error amplificat per el controlador proporcional genera més

errors

dels

que

arregla

tenint

problemes

de

reacció.

Encara que intentem minimitzar aquest problemes jugant amb la variable, segueix sense agradar-nos gaire aquest controlador.

Fig. 29 Programa controlador PD fet per nosaltres amb el programa de Lego Mindsotrm.

David González i Abel Sánchez

37


Controlador proporcional integral: -Constant proporcional a 2 i constant integral a 0,04: el robot

pren

una

eficiència

molt

alta

però

una

baixa

velocitat. És el nostre controlador preferit. - Constant proporcional a 3 i constant integral a 0,04: el robot

com

hem

vist

en

el

controlador

P

al

tenir

la

constant 3, suposem que genera un error més gran de 100, fent

així

que

la

potència

quedi

desequilibrada

i

no

s’estabilitzi. - Constant proporcional a 2 i constant integral a 0,02: la potència

el

terme

integral

massa

petit,

fent

que

aquest programa no arribi a tanta precisió i eficiència com el programa que té la constant proporcional a 2 i la constant integral a 0,04.

Fig. 30 Programa controlador PI fet per nosaltres amb el programa de Lego Mindsotrm.

David González i Abel Sánchez

38


Controlador proporcional integral derivatiu (PID): Aconseguim incloure

una

precisió

l’acció

controlador

més

derivativa

proporcional

gran no

que

arriba

integral.

en a

Encara

el la

PD

però

precisió

que

al del

teòricament

hauria de ser el millor a nivell pràctic i teòric, cosa que no

posem

en

dubte,

per

les

característiques

del

nostre

treball, no és la millor solució. Però tot i així anem a veure les diferents variables.

Constant proporcional a 2, constant integral a 0,04 i

constant derivativa a 2: aquestes constants són les que més rendiment

ens

donen,

mirant de no minimitzar al màxim

funció

per

deixar

un

D

PI.

Aquest

programa

dona

un

la bon

rendiment, encara que no té la eficiència que ens dona el PI amb la constant proporcional a 2 i la constant integral a 0,04.

-

Constant

constant

proporcional

derivativa

a

a 2:

3,

constant

Aquesta

integral

composició

de

a

0,04

i

variables

arrossega els mateixos errors que ja hem vist varies vegades, per culpa de la constant proporcional a 3.

David González i Abel Sánchez

39


Fig. 31 Programa controlador PID fet per nosaltres amb el programa de Lego Mindsotrm.

David Gonzรกlez i Abel Sรกnchez

40


7 Desenvolupament d'altres aplicacions. Aquest sistema que hem estudiat, amb els sensor d'ultrasò, l'han

utilitzat

varies

empreses

per

a

desenvolupar

aplicacions com les següents: •City Safety (Volvo) és una tecnologia dissenyada per prevenir col·lisions, és una novetat mundial desenvolupada per Volvo per conduir de una forma més segura per la ciutat. Es va crear principalment per evitar les col·lisions per darrera amb

altres

vehicles.

Aquest

velocitats inferiors a 30km/h

sistema

només

funciona

a

i la seva funció principal és

d’ajuda al conductor que es troba en un moment crític perquè s’ha distret. Quan aquest sistema detecta una col·lisió imminent activa una funció on els frens del cotxe es preaccionen per respondre amb mes eficàcia Safety

i rapidesa. Si el conductor no frena , City

acciona

automàticament

els

frens

i

desconnecta

el

accelerador per evitar la col·lisió o disminuir-la. Aquest sistema

utilitza

infrarojos

que

un

sensor

mesura

els

de

làser

reflexos

dels altres vehicles. Aquest sistema no és infal·lible, ja que pot tenir errors, cotxe

per no

exemple està

quan

alineat

perfectament.

el amb

altre ell Fig. 32 Exemple del City Safefty

Aquest sistema té moltes similituds amb el nostre projecte, ja que els dos basem el nostre treball en sensors de llum infrarojos,

en

el

càlcul de la proximitat i mantenir

una

distancia X per no impactar amb el objecte.

David González i Abel Sánchez

41


•Un assistent d'aparcament és el sistema conegut com el que facilita l'aparcament d'un vehicle en espais reduïts. Com que el nostre treball es basa en els sensors d'ultrasò, només explicarem el sistema actiu basat en ultrasons. Aquests sistemes funcionen amb sensors d'ultrasons que estan integrats al para-xocs del cotxe. Podem diferenciar sistemes de dos, quatre i sis canals o sensors circulars integrats i pintats del mateix color que el seu entorn. Com

més

sensors

el

cotxe

més

precisa

és

la

mesura

i

resultat de tots ells. Els sensors envien i reben senyals d'ultrasons, i envien aquestes dades rebudes a una central electrònica on són processats i es calcula la distància menor a un objecte. Per exemple, el Parking Sensor funciona amb una emissió i recepció d'ultrasons, a partir dels rebots dels obstacles que hi ha en el seu camp d'acció. Els ultrasons són generats per un circuit electrònic que és l'encarregat de rebre,

processar

l'obstacle,

això

i és

calcular indicat

la al

distància conductor

del

vehicle

mitjançant

a un

dispositiu acústic i visual que es troba instal·lat dins del vehicle.

Aquests

sistemes

no

tenen

un

preu

gaire

elevat,

tenint en compte la seva funció pràctica.

Fig. 33 Exemple d'assistent d'aparcament

David González i Abel Sánchez

42


8 Conclusions. A través dels diversos capítols dels que es composa el nostre treball d'investigació hem realitzat diverses observacions, discussions i comentaris, que tenen relació directa amb els objectius principals plantejats. La primera conclusió, i possiblement la més important, és que el controlador que millor respon a les nostres expectatives és el controlador PI no el PID. Això es degut a que les característiques del controlador PI s'adapten millor a les nostres necessitats, ja que volíem un sistema precís. El PI al amplificar l'error amb l'acció P i minimitzar el règim d'error

permanent

amb

l'acció

I,

tenim

un

controlador

perfecte per a assajos a l'aula i altres demostracions. El problema amb el PD i el PID era que l'acció D no s'adaptava gaire bé a aquests assajos perquè, com que, en un assaig a l'aula, les situacions que experimenta varien molt, no és capaç d'anticipar-se bé al error. La segona conclusió, i seguint encara amb la programació, vam fer una petita prova del doble PID, un per cada sensor i el motor corresponent a aquest. Aquest doble PID no ens responia gaire

perquè,

en

fer

dues

accions

simultànies,

no

s'estableix un ordre en el funcionament dels motors, el que fa que vagi fent ziga-zagues i mai aconsegueixi mantenir un valor fix semblant a l'inicial. A

més

també

creiem

que,

a

part

d'aquests

errors,

altres

errors poden venir de la seva morfologia, ja que no està del tot adaptada a les característiques d'aquesta programació.

David González i Abel Sánchez

43


Seguint amb la morfologia, primer, vam donar un disseny poc pràctic ja que posava molt pes en el costat esquerre i poc al dret, a més, només tenia les dues rodes dels eixos del motor, i

una

altra

posterior.

fent

un

Aquests

triangle

dos

fets

amb

feien

aquestes que

a

la

a

la

part

avançar

o

retrocedir, el robot es decantés cap a un cantó sense poder seguir una línia recta. Tot seguit vam millorar la morfologia del

robot

creant

un

segon

disseny,

que

ha

esdevingut

el

definitiu. Aquest té quatre rodes, cadascuna en el seu eix, i una ubicació millor de la placa del BUS I2C, col·locant-la darrera del bloc NXT, fent així que el centre de gravetat del robot estigui al centre. Aquest robot responia millor a les nostres necessitats i objectius.

Fig. 34 A la esquerra el nostre robot amb el 1 disseny, a la dreta el disseny final del nostre robot.

Per

a

fer

el

nostre

projecte,

hem

utilitzat

dos

sensors

analògics d'ultrasò exteriors al Lego. El problema que teníem amb aquests sensors, era demostrar que funcionaven i, encara més complicat, que funcionaven correctament. Per a fer això, vam fer un programa especial que ens mostrava en la pantalla del Lego el valor que donava cadascun dels sensors. D'aquesta manera

vam

començar

a

creure

que

aquests

sensors

podien

mesurar la distància amb més precisió de la que creiem. David González i Abel Sánchez

44


En quant al sistema de comunicació BUS I2C, el disseny que vam utilitzar va ser suficient per a les finalitats que volíem. Va ampliar el nombre d'entrades del nostre bloc NXT i a més vam poder utilitzar sensors analògics, en comptes de digitals. Tots aquests fets, ens han fet arribar a la conclusió que els robots Lego Mindstorm han estat creats per a l'educació, el que els fa relativament senzills de programar i construir. A més

estan

molt

limitats

pel

mínim

nombre

d'entrades

i

sortides que tenen. Però, aplicant-li extensions com un BUS I2C per ampliar el nombre d'entrades o sortides i canviant el entorn de programació es poden arribar a fer projectes molt complexos. Per fer el nostre treball hem utilitzat la segona versió de Lego Mindstorm anomenada NXT v.1.0 que no esta tan limitada com la anterior. A nivell personal aquest treball ens ha aportat diferents aspectes positius. El primer i que cal destacar és que hem après a fer un treball de grans magnituds en equip. Això implica una bona planificació i repartició de la feina, i fer certes

parts

treball

hem

molt

important

après

a

en

interpretar

conjunt.

Gràcies

documents

a

aquest

tecnològics,

la

major part dels quals estaven en angles, i a programar de forma visual en blocs. A l'hora de fer la pràctica de la placa

de

components connectar

circuit

imprès

elèctrics diferents

ens

i punts.

ha

fer

calgut unions

Durant

el

aprendre que

proces

ens de

a

soldar

permetien crear

el

nostre treball de recerca ens hem donat compte que és molt important ser costant en el treball.

David González i Abel Sánchez

45


La conclusió final d'aquest treball és que és molt important triar bé el tema del qual el fas i que t'ha d'agradar, ja que hi dediques moltes hores. També és important tenir un bon tutor

per

adequada.

tenir Aquest

un

ritme

treball

bo

de

treball

i

una

ens

ha

semblat

molt

exigència

interessant

degut a que estem molt interessats en la robòtica i el seu desenvolupament actual.

David González i Abel Sánchez

46


9 Fonts d'informació. •

http://www.robolot.org/

http://ro-botica.com/

http://www.mindsensors.com/

http://www.hitechnic.com/

http://es.wikipedia.org/

http://electricbricks.com/

http://mindstorms.lego.com/

http://www.robotic-lab.com/

http://nxt-mindstorm.blogspot.com/

ExtremNXT.pdf

Carles llacer-Lego-mindstorm-i2C-NXT.pdf

Memoria.pdf

Lego_Mindstorms_NXT.pdf

PCF8591.pdf

GP2D120-DATA-SHEET.pdf

*Els .pdf estan en el material digital.

David González i Abel Sánchez

47


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.