UNIVERSIDAD FERMÍN TORO VICERRECTORADO ACADEMICO DECANATO DE INGENIERÍA ESCUELA DE COMPUTACIÓN
DISEÑO DE UN ROBOT EVASOR DE OBSTACULOS BASADO EN LA TEORIA DE AUTOMATAS AUTOMATAS FINITOS F INITOS
CABUDARE AGOSTO DE 2016.
UNIVERSIDAD FERMÍN TORO VICERRECTORADO ACADEMICO DECANATO DE INGENIERÍA ESCUELA DE COMPUTACIÓN
DISEÑO DE UN ROBOT EVASOR DE OBSTACULOS BASADO EN LA TEORIA DE AUTOMATAS FINITOS
INTEGRANTES: Ronald Arias Rafael Bellina Yanko Durn !ora"io #on$le$ &oises 'i(a)e Danilo *rdane)a
CI: 24.393.726 CI: 20.650.414 CI: 20.155.416 CI: 25.147.40% CI: 23.4%5.049 CI: 23.4%5.049
ASIGNATURA: A*+,&A+A- Y /#*A/- ,R&A/-e""in 317 'rof. /de"io rei)e$
CABUDARE AGOSTO DE 2016
INTRODUCCIÓN
a )eora de au)a)as fini)os "onsis)e en odelos a)e)i"os de sis)eas "on en)radas salidas dis"re)as. /l sis)ea 8uede es)ar en "ualuiera de un nuero fini)o de "onfiura"iones o ;es)ados<. /l es)ado del sis)ea resue la infora"in "on"ernien)e a en)radas an)eriores ue es ne"esaria 8ara de)erinar el "o8or)aien)o del sis)ea su res8e")i=a a""in al re"i>ir da)os 8or las res8e")i=as en)radas nue=aen)e.
/n las "ien"ias de la "o8u)a"in? en"on)raos u"@os ee8los de sis)eas de es)ados fini)os? la )eora de au)a)as fini)os es una @erraien)a u )il en lo ue a es)a "ien"ia "on"ierne. *n ee8lo es un "ir"ui)o de in)erru8"in? en"on)rado en las unidades de "on)rol de dis)in)as "o8u)adoras i"ro"on)roladores? el "ual es) "o8ues)o 8or un nuero fini)o de "o8uer)as li"as sis)ea "o>ina"ional? "ada una de es)as "o8uer)as se 8uede en"on)rar en dos es)ados 8osi>les? "eros unos? si )oaos el "ero "oo un es)ado de ;desa")i=ado< el uno "oo un es)ado ;a")i=o< eneraos una se"uen"ia de "eros unos? nos dareos "uen)a de ue es 8osi>le )ener una se"uen"ia de a")i=a"in desa")i=a"in del sis)eaE )odo es)o aunado a "on"e8)uali$a"iones "oo lo son el lenuae de esa se"uen"ia de da)os el alfa>e)o en el "ual se en"uen)ran )odos los s>olos ue la auina o sis)ea re"ono"e nos 8eri)irn o>)ener una li"a la "ual nos 8ro8or"ionar la "a8a"idad de )oar de)erinadas a""iones de "on)rol.
/n es)e "on)eF)o el 8resen)e )ra>ao es) enfo"ado diriido a e8lear la )eora de Au)a)as ini)os 8ara odelar las )rae")orias 8osi>les de un ro>o) e=asor de o>s)"ulos R/,? as "oo los diferen)es es)ados ue res8onden a los "a>ios
8resen)es en las en)radas del iso 8ro=enien)es de una ru)a "odifi"ada 8or "o8u)ador.
BASES TEORICAS
Teoría de autómatas.
a )eora de au)a)as es una raa de las "ien"ias de la "o8u)a"in ue es)udia las uinas a>s)ra")as los 8ro>leas ue Gs)as son "a8a" es de resol=er.
Autómata.
*n au)a)a es una auina "a8a$ de reali$ar o=iien)os 8ro8ios? sen la Real A"adeia de la enua /s8a(ola se define al au)a)a "oo la uina ue ii)a la fiura o=iien)os de un ser aniado. -u eui=alen)e en los )ie8os a")uales a nues)ro ni=el de )e"noloa sern los ro>o)s. -en el es)udio de la )eora de au)a)as se define a un au)a)a "oo un odelo a)e)i"o 8ara una uina de es)ado fini)o -& sus silas en inlGs. *na -& es una uina ue? dada una en)rada de s>olos? Hsal)aH a )ra=Gs de una serie de es)ados de a"uerdo a una fun"in de )ransi"in ue 8uede ser eF8resada "oo una )a>la. a en)rada es leda s>olo 8or s>olo? @as)a ue es H"onsuidaH "o8le)aen)e 8iense en Gs)a "oo una "in)a "on una 8ala>ra es"ri)a en ella? ue es leda 8or una "a>e$a le")ora del au)a)aE la "a>e$a se ue=e a lo laro de la "in)a? leendo un s>olo a la =e$ una =e$ la en)rada se @a ao)ado? el au)a)a se de)iene.
De8endiendo del es)ado en el ue el au)a)a finali$a se di"e ue es)e @a a"e8)ado o re"@a$ado la en)rada. -i Gs)e )erina en el es)ado Ha"e8)aH? el au)a)a a"e8)a la 8ala>ra. -i lo @a"e en el es)ado Hre"@a$aH? el au)a)a re"@a$ la 8ala>ra? el "onun)o de )odas las 8ala>ras a"e8)adas 8or el au)a)a "ons)i)uen el lenuae a"e8)ado 8or el iso.
Autómata Finito (AF)
oralen)e? un au)a)a fini)o A 8uede ser des"ri)o "oo una 5)u8la: AF =( Q , Σ , δ , s , F )
Donde "ada uno de los eleen)os =ara de8endiendo del )i8o de au)a)a ue se es)G anali$ando o i8leen)ando. Den)ro de la )eora de Au)a)as ini)os eFis)en di=ersos odelos a)e)i"os ue eF8li"an la anera en la "ual las )ransi"iones los es)ados res8onden an)e dis)in)as en)radas? esos au)a)as son los siuien)es:
- Autómata Finito Determinista (AFD) *n AD es un au)a)a fini)o ue ades es un sis)ea de)erinis)aE es de"ir? 8ara "ada es)ado en ue se en"uen)re el au)a)a? "on "ualuier s>olo del alfa>e)o ledo? eFis)e sie8re a lo s una )ransi"in 8osi>le desde ese es)ado "on ese s>olo. oralen)e es) definido 8or una un)u8la donde: AFD =( Q , Σ , δ , s , F ) Q Conun)o de es)ados del au)a)a ∑ Conun)o del alfa>e)o de en)rada δ fun"in de )ransi"in Q F ∑ Q
s = /s)ado ini"ial
F /s)ado inal o de a"e8)a"in. F ⊆ Q
Autómata Finito No Determinista (AFND) *n AD es un au)a)a fini)o ue? a diferen"ia de los au)a)as fini)os de)erinis)as AD? 8osee al enos un es)ado q ∈ Q? )al ue 8ara un s>olo a ∈ J del alfa>e)o? eFis)e s de una )ransi"in Kq? a 8osi>le. /n un AD 8uede darse "ualuiera de es)os dos "asos: 1. Lue eFis)an )ransi"iones del )i8o Kq? a q1 Kq?a q2? siendo q1 M q2E 2. Lue eFis)an )ransi"iones del )i8o Kq? N? siendo q un es)ado nofinal? o >ien un es)ado final? 8ero "on )ransi"iones @a"ia o)ros es)ados. Cuando se "u8le el seundo "aso? se di"e ue el au)a)a es un au)a)a fini)o no de)erinis)a "on )ransi"iones =a"as o )ransi"iones N ADN. /s)as )ransi"iones 8eri)en al au)a)a "a>iar de es)ado sin 8ro"esar ninn s>olo de en)rada. *n AD foralen)e se en"uen)ra definido 8or la siuien)e un)u8la en donde:
AFND =( Q , Σ , Δ , s , F )
Q Conun)o de es)ados del au)a)a Σ Conun)o del alfa>e)o de en)rada un"in de )ransi"in donde: O : Q F J P(Q). (Para el caso de un AFND común) • O : Q F { Σ ∪ ε } P(Q). (Para el caso de un AFND-ε) •
s = /s)ado ini"ial F /l "onun)o de es)ados finales o de a"e8)a"in. F ⊆ Q Conceptos generales de la teoría de autómatas
S!"#$%$: *n da)o ar>i)rario ue )iene aln sinifi"ado a o efe")o en la uina. A es)os s>olos )a>iGn se les llaa le)ras o )oos.
P&%'&: *na "adena fini)a forada 8or la "on"a)ena"in de un nero de s>olos.
A%()*$: Conun)o fini)o de s>olos. *n alfa>e)o se indi"a noralen)e "on Σ+ ue es el "onun)o de le)ras ue "onfora al alfa>e)o? in"luendo la 8ala>ra =a"a , .
L)/&): *n "onun)o de 8ala>ras? forado 8or s>olos en un alfa>e)o dado. 'uede ser infini)o.
C%&//'& ) 3%))): *n lenuae se 8uede "onsiderar "oo un su>"onun)o de )odas las 8osi>les 8ala>ras. /l "onun)o de )odas las 8ala>ras 8uede a su =e$? ser "onsiderado "oo el "onun)o de )odas las 8osi>les "on"a)ena"iones e "adenas. oralen)e? ese "onun)o se indi"a "oo Σ
¿
? donde el su8erndi"e P se le
llaa es)rella de kleene.
Arduino /s una "o8a(a de @ardQare li>re? "ounidad )e"noli"a? ue dise(a anufa")ura 8la"as de desarrollo de @ardQare sof)Qare "o8ues)a res8e")i=aen)e 8or "ir"ui)os i8resos ue in)eran un i"ro"on)rolador? un en)orno de desarrollo en donde se 8roraa "ada 8la"a. Arduino se enfo"a en a"er"ar fa"ili)ar el uso de la ele")rni"a 8roraa"in de sis)eas e>e>idos en 8roe")os ul)idis"i8linarios. /l @ardQare "onsis)e en una 8la"a de "ir"ui)o i8reso "on un i"ro"on)rolador? usualen)e A)el AR? 8uer)os dii)ales anali"os de en)radaSsalida? los "uales 8ueden "one")arse a 8la"as de eF8ansin s@ields ue a8lan las "ara")ers)i"as de fun"ionaien)o de la 8la"a arduino. Asiiso? 8osee un 8uer)o de "oneFin *-B
desde donde se 8uede alien)ar la 8la"a es)a>le"er "ouni"a"in serial "on el "o8u)ador. 'or o)ro lado? el sof)Qare "onsis)e en un en)orno de desarrollo >asado en el en)orno de 'ro"essin lenuae de 8roraa"in >asado en Tirin? as "oo en el "arador de arranue >oo)loader ue es ee"u)ado en la 8la"a.4 /l i"ro"on)rolador de la 8la"a se 8roraa a )ra=Gs de un "o8u)ador? @a"iendo uso de "ouni"a"in serial edian)e un "on=er)idor de ni=eles R-232 a ++ serial.
MODELO MATEM4TICO
- Explicación -en la fundaen)a"in )eri"a an)erioren)e des"ri)a en es)e )ra>ao? el odelo a)e)i"o ue des"ri>e las a""iones ue el R/, re8resen)a es en "on"re)o un Au)a)a ini)o De)erinis)a. -e di"e ue es un AD 8or el o)i=o de ue el R/, sie8re se en"on)rar "on solo )ransi"iones ni"as en)re es)ados? es)o uiere de"ir ue 8or "ada eleen)o de la 8ala>ra in)rodu"ida en el au)a)a eFis)ir solo una )ransi"in 8or "ada es)ado? es de"ir:
existe : δ ( q a , a )= qb
'ero no 8uede o"urrir lo siuien)e:
δ ( qa , a ) =qb δ ( qa , a ) =qc
/s)o se de>e a ue el R./.,. solo se 8uede en"on)rar en un es)ado a la =e$. Coo sa>eos el solo 8uede reali$ar los o=iien)os de adelan)e? i$uierda? dere"@a? diaonal i$uierda? diaonal dere"@a es)ar de)enido? 8ero no es 8osi>le ue duran)e aln ins)an)e de )ie8o el R./.,. se en"uen)re en dos es)ados al iso )ie8o. -ie8re el R./.,. se en"on)rar ni"a eF"lusi=aen)e en un solo es)ado a la =e$.
-i 8or ee8lo el R/, se en"uen)ra de)enido? eso nos indi"a ue es) en su es)ado ini"ial es8erando la ru)a? 8or ende? a ese es)ado lo llaareos
q 0 . -i el R./.,.
re"i>e la ins)ru""in de a=an$ar la "ual "odifi"areos "on el "ar")er ;a<? el R./.,. "oien$a un des8la$aien)o @a"ia adelan)e "a>ia a un es)ado en o=iien)o al ue llaareos
q1 ? al "a>iar de es)ado en)re de)enido o=iien)o @u>o una
)ransi"in? 8rodu"ida 8or la ins)ru""in ;a< a=an$ar. /s de"ir? o"urri la )ransi"in en el au)a)a:
δ ( q0 , a )= q1
A su =e$ se 8uede dedu"ir ue el R/, no 8uede es)ar en dos es)ados a la =e$ de>ido a una ins)ru""in a ue sen las isas "ara")ers)i"as fsi"as del ro>o) al odelo a)e)i"o es i8osi>le ue )al si)ua"in o"urra.
- Modelo matemático aplicado al .E.!. +i8o de au)a)a: Au)a)a fini)o de)erinis)a AD. M ={ Σ ,Q , δ , s , F }
Σ ={ a , b , c , d , e , f } Q = { q0 , q1 , q2 , q3 , q4 , q 5 , q 6 }
s = q0 E F =q6 E
Transiciones del autómata
δ(q0,a)=q1;
δ(q2,b)=q3;
δ(q3,d)=q2;
δ(q4,f)=q5;
δ(q1,a)=q1;
δ(q2,c)=q6;
δ(q3,e)=q4;
δ(q5,a)=q1;
δ(q1,b)=q3;
δ(q2,d)=q2;
δ(q3,f)=q5;
δ(q5,b)=q3;
δ(q1,c)=q6;
δ(q2,e)=q4;
δ(q4,a)=q1;
δ(q5,c)=q6;
δ(q1,d)=q2;
δ(q2,f)=q5;
δ(q4,b)=q3;
δ(q5,d)=q2;
δ(q1,e)=q4;
δ(q3,a)=q1;
δ(q4,c)=q6;
δ(q5,e)=q4;
δ(q1,f)=q5;
δ(q3,b)=q3;
δ(q4,d)=q2;
δ(q5,f)=q5;
δ(q2,a)=q1;
δ(q3,c)=q6;
δ(q4,e)=q4;
!m"olos del Al#a"eto
S!"#$%$ a > " d e f
S55(5&$ A=an$ar adelan)e A=an$ar i$uierda De)enerse A=an$ar Dere"@a Diaonal I$uierda Diaonal Dere"@a
E*&$ 1 3 6 2 4 5
T%& 1+ 7I($'"&58 $#*)5& ")5&*) %& $5(5&58 ) $(*9&') Ta"la de transición de estados$
δ & B C E 1 U U U U ;0 ;1 1 3 6 2 4 1 3 6 2 4 ;2 1 3 6 2 4 ;< 1 3 6 2 4 ;= 1 3 6 2 4 ;> U U U U U ;6 T%& 2+ 7T%& ')/%*&*) ) %& (/5$) ) *'&558 )% &/*8"&*& Dia%rama de Transición de &stados (DT&)
F U 5 5 5 5 5 U
IMPLEMENTACION
"o#t$are
a i8leen)a"in del sof)Qare se reali$a 8or edio de un 8roraa "on in)erfa$ orien)ado a o>e)os ue siule la si)ua"in a")ual del R/, ue de)erine el re"orrido s 8)io desde el 8un)o de salida @as)a el 8un)o de lleada del ro>o). /s)a a8li"a"in? la "ual ser reali$ada "on ')@on "oo lenuae de 8roraa"in? es la en"arada de >us"ar el re"orrido s "or)o del ro>o) a )ra=Gs de un alori)o de >sueda AP A as)eris"o o es)rella 8or edio de un arrelo >idiensional ue re8resen)e la $ona donde el ro>o) se o=ili$a. ')@on es un lenuae de 8roraa"in in)er8re)ado "ua filosofa @a"e @in"a8iG en una sin)aFis ue fa=ore$"a un "dio lei>le. -e )ra)a de un lenuae de 8roraa"in ul)i8aradia? a ue so8or)a orien)a"in a o>e)os? 8roraa"in i8era)i=a ? en enor edida? 8roraa"in fun"ional. /s un lenuae in)er8re)ado? usa )i8eado dini"o es ul)i8la)afora. /l alori)o AP "ono"ido )a>iGn "oo A es)rella o as)eris"o se define "oo un alori)o de >sueda ue en"uen)ra la ru)a de enor "os)e en)re dos 8un)os sie8re "uando se "u8lan una serie de "ondi"iones. /s) "lasifi"ado den)ro de los alori)os de >sueda en rafos a ue )iene la ne"esidad de dar a los e"anisos ro>)i"os? =e@i"ulares o =ir)uales un sis)ea de na=ea"in au)noo. /s a8liaen)e u)ili$ado en las "ien"ias de la "o8u)a"in 8ara en"on)rar ru)as ue )an )ransi)a>le es una rfi"a? es de"ir? se refiere al 8ro>lea de =isi)ar )odos los nodos en una rfi"a dada de fora 8ar)i"ular es)o no es s ue el 8ro"eso de )ra$ado de la ru)a s efi"ien)e en)re unos 8un)os llaados nodos. /s)e alori)o o$a de una a"e8)a>le "on)inua i8leen)a"in ra"ias a su dese8e(o 8re"isin. ue des"ri)o 8or 8riera =e$ en 196% "oo una eF)ensin del alori)o de Diks)ra 1959? 8or 'e)er !ar)? ils ilsson Ber)ran Ra8@ael? ue eF8usieron ue el AP lora>a un eor dese8e(o "on res8e")o al )ie8o usando @eurs)i"as. /l en)orno se desarroll en una a8li"a"in de es"ri)orio 8ara eso u)ili$aos ki= ue es un fraeQork de "dio a>ier)o ')@on u)ili$ado 8ara el desarrollo de a8li"a"iones =iles o)ros sof)Qares de a8li"a"iones ul)i)ou"@ "on una in)erfa$ de usuario na)ural *I.
-
%ard$are
'omonentes utiliados$
• • • • • • •
1 Arduino uno. Ca>les de arduino 'ro)o>oard 4 ruedas de 8ls)i"o 2 o)ores DC eds 'uen)e !