traduccion prolog

Embed Size (px)

Citation preview

  • 7/23/2019 traduccion prolog

    1/25

    El control de un robot mvil w ith Visual Prolog

    Tatyana Volkova

    Universidad Estatal Rusa de Humanidades, Departamento de Sistemas Inteligentes y

    Robtica e Inteligencia rti!icial "aboratorio del #useo $olit%cnico Estado,#osc&

    Resumen' Este traba(o describe un modelo simple de comportamiento del robotmvil'Se demonio strates una de las posibles !ormas de utili)ar unacomunicacin R S *++ programa escrito por -en Hooi(enga'Este robot !uecreado en el "aboratorio del #useo Estatal $olit%cnica de Robtica e Inteligenciarti!icial'

    Introduccin

    En este traba(o se describe una reali)acin pr.cticade un modelo declarativo sencillapara elcontrol de un ob(eto t%cnico * un robot mvil, el cual !ue construido en el "aboratorio del#useo Estatal $olit%cnica de Robtica e Inteligencia rti!icial ba(o T ec/nics $/D Valery0arpov yT ec/nics$/D Dmitry Dobrinin' "os estudiantes y los escolares se desarrollan yprograma sus propios robots all1' 2omo estudiante I participo en este laboratorio y me gustar1apresentar mi primer robot 3ver !igura 45Arquitectura deelsistema

    El modelo de comportamiento del robot es similar al comportamiento de una criatura viva'El sistema se puede dividir en las acciones de ba(o nivel, cap 6HI se procesan por el robot %lmismo, y las medidas de alto nivel, 7ue se sugieren por un programa $rolog en un e7uipoestacionario'

  • 7/23/2019 traduccion prolog

    2/25

    Receptores y e!ectores 8igura 4' del Robot

  • 7/23/2019 traduccion prolog

    3/25

    cciones " de nivel de !lu(o incluyen9 re!le(os incondicionales 3evadiendo un obst.culo, serasustado por una lu) repentina, siguiendo el camino en el suelo, despu%s de un emisor dein!rarro(os, 7ue de!ine si %l est. en casa 3:casa: es una manc/a gris en el suelo 55, accionessimples 3iluminacin de un "ED, llanto5, la descomposicin de alto nivel a los comandos de

    ba(o nivel'Todas las acciones de ba(o nivel se programan en microcomputadora del robot en ellengua(e 2'2omandos de alto nivel son la plani!icacin, gu1a, base de datos de mantenimiento y el mapadel mundo edi!icio' Ver !igura +'

    8igura +' Dos niveles de control del robotSi robot no recibe ning&n mensa(e del ordenador durante varios segundos, seconsidera a s1 mismo :perdido: y se paseaal a)ar, solamente reaccionar con el medio ambiente al e;posicin con sus re!le(os' 2uando lacomputadora tomacontrol, robot vuelve pasivo y obedece a la computadora'

    "a venta(a de tal sistema es 7ue e ncluso en el caso deun comando pol%mica desde el ordenadorerror o, robot todav1a pueden evadir situaciones peligrosas debido a los re!le(os incondicionales'2ombinacin de los re!le(os de ba(o nivel simples y secuencias de comandos comple(as de altonivel nos da el modelo de un organismo vivo'"a idea de la (erar7u1a en los sistemas de contro les bastante vie(o, pero no est. ampliamente e;tendido en larobtica'Entreel&ltimoimplementaciones, ? obligadaserobservado'La estructura del robot

    El robot es un dispositivo mvil autnomo, impulsado por un microcontrolador, 7ue tienevelocidad de relo( > #H) y memoria !las/ de @ 0b, lo cual no es su!iciente para un programa

    comple(o'Ver el es7uema general de la tem sys en la !igura

  • 7/23/2019 traduccion prolog

    4/25

    8igura ' El modelo del sistema 3adoptado de ?5

  • 7/23/2019 traduccion prolog

    5/25

    Robot tiene di!erentes sensores 3receptores59 sensor de iluminacin ambiente, receptoresin!rarro(os 3:o(os:5,sensores de obst.culos in!rarro(os, sensores de l1nea de!otogra!1aCe!ectores, 7ue in!luyen en el medio ambiente9 los motores, diodo emisor de lu),sonido din.mico'

    Robot env1a in!ormacin sobre sus movimientos, obtenidos por los codi!icadores en ambasruedas motrices, para 7ue podamos conocer la longitud de movimiento del vector y su .ngulocon relacin a la posicin inicial del robot'2ambio nates 2RDI polares a cartesianas, e7uipointenta dibu(ar la posicin del robot en el mapa y /acer valer los ates 2oordin de todos losob(etos importantes a la base de datos para usarlos m.s tarde para la navegacin'Programa de Comunicacin

    $ara establecer una cone;in con el robot, unaprograma de terminalen Visual $rolog sere7uiere' -en Hooi(enga escribi tal programa ba(o VI$ >'4 2E, 7ue est. disponible en el !oro

    $D2 y en Visual $rolog 6iki'El programa es !.cil de aplicar y tiene un cmodoAUI para con!igurar todos los par.metros' Elprograma permite enviar y recibir bytesv1aInter!a) RS*++ y communicstion proceso deeventos' Un sistema declarativo para los a robot s aFadido a este programa'$ara /acer un canal de comunicacin entre el robotycomputadora,se desarroll un protocolo'Descripcin del protocolo

    $ara evitar problemas de sincroni)acin, se especi!ic un es7uema 7ue implica la !irma del

    tempori)ador'2ada 4== milisegundos de un acto de comunicacin se lleva a cabo'rdenador env1auncomando de sensores de votacin, codi!icado con un byte' Robot lo recibey respuestas con dosbytes, primero de los cuales esel estado del robot y la in!ormacin sobre sus movimientos' Ensegundo byte representaseFales en los sensores del robot' In!orm.tica decide 7u% robot debe/acer a continuacin, y responde con un comando, por lo general, de un byte'Ver el es7uema dela 8ig' G

    "a 8igura G'E(emplo de comunicacin

  • 7/23/2019 traduccion prolog

    6/25

    Un ragmento del protocolo por parte de la computadora

    7u1 est. el cdigo de interrupcin de tempori)ador, en el 7ue la comunicacin entre el robot yel ordenador lleva a cabo'

    minutero rutina en cada 4== milisegundospredicadosnTimer 9 ventana 99 timer"istener'

    cl.usulasnTimer 3Source, timer59*

    "a comunicacin de inicioenviar 3:TE""#EJURSTTE:5,

    obtener un responder de el robot sobre su estado y los movimientosreadStatend#ovements 35,

    Aet seFales en sensores

    readSensors 35,

    Si autocontrol 3-ase de reglas5 es ensi autocontrol K true35 despu%s

    obtener la mando usando la regla de base3Regla 32ommandToRobot5,

    enviar el mandoenviar 32ommandToRobot5,

    !allarC volver /acia atr.s a probar todas el reglas%;ito355

    !in si,repintar el mapa en el pantalla

    re!res/map 35'

    Todos los predicados de lectura tienen una estructura similar'$or e(emplo, a continuacin es unpredicado 7ue recibe el +Lbyte desde el robot 3un vector booleano de seFales en los sensores5ylo decodi!ica, /aciendo un mapa'

    predicados

    readSensors9 35'cl.usulas

    readSensors 359*2rear la binario maci)o 4 byte largo-inaryRead K binaria 99 crear 345,

    "eer 4 byte 3predicado para comdevice,escrito por -en Hooi(enga5

    -ytesRead Kcomdevice9 read!ileoverlapped3

    -inaryRead, binario 99 getSi)e 3-inaryRead55,

  • 7/23/2019 traduccion prolog

    7/25

    convertir binario a la lista de pedacitosSensors"ist K poco 99 bitSplit3

    binario 99 getInde;edunsigned@3 -inaryRead,=55,

    para cada$oco K "ista 99 get#embernd3

    Sensors"ist5d o

    descodi!icar el seFales y a!irmar el in!odentro d ata b ase

    si decodeSensorsSignals 3bit,b(eto5,M despu%s

    aFadir un ob(eto, detectado por sensores, ael mundo modelo

    placenT/e#ap3b(eto5!in si!in !oreac/'

    Desci!rar las seFales del sensor simplemente signi!ica interp retation de acuerdo a las bases dedatos 7ue se escriben en la memoria tanto en el ordenador del robot y de'He a7u1 un !ragmento de una base tal de /ec/os'

    clase /ec/osdecodeSensorsSignals9 3Unsigned@, cuerda b(ectType5'

    cl.usulasdecodeSensorsSignals 34+@, :casa:5'decodeSensorsSignals 3NG, :alinear:5'decodeSensorsSignals 3+, :lu):5'

    J a7u1 /ay un !ragmento de la base, de la cual ordena 7ue el robot se codi!ican9-ase de /ec/os * comandos a el robotclase /ec/os

    mando9 3Unsigned@, cadena5'cl.usulas

    comando 3=;4=, :DETOPASE:5'comando 3=;+=,:TE""#EJURSTTE:5'

    comando 3=;=, :VPQR:5'La base de reglas

    "a base contiene reglas como9

    predicados

    regla9 32adena 2omando5nondeterm 35'

  • 7/23/2019 traduccion prolog

    8/25

    cl.usulasI ! t& son asustado y ver un obst.culo, giro el " ED en a asustar laposible eno miregla3:S6IT2H"EDPTE#$:59*

    estado 3:sustado:5,obstaclesensoractive 3:8arIRSensor:5'

    Si t& son a casa, giro tu "ED en3alegrarse5 y espera uno segundo 3tener la descanso5regla3:S6IT2H"EDPTE#$:59*

    estado 3:tHome:5'regla 3:6ITPESE2PD:59*

    estado 3:tHome:5'Si t& son 7uieto a casa * ir y #ira para l1nearegla3:"08R"IPE:59*

    estado 3:tHome:5'Un e!emplo de la interaccin entre el robot " el ordenador #v$ase %ig& '(

    Despu%s de ser activado, robot se mueve alrededor por alg&n tiempo para a(ustar sussensores'En el estado inicial del robot se mueve al a)ar, /asta 7ue la computadora le dice 7uebus7ue la l1nea'Teniendoencontradoell1nea, robotcomien)aaseguirella'Si un brillante destello de lu) asusta robot, 7ue :llora: y :p.nico:, movi%ndose alrededor al a)ar,/asta 7ue los pedidos de computadoras 7ue %l a su ve) condu(o y siga /acia el !aro 3!aro seencuentra en medio de la :casa:5'Robot busca el !aro y va /acia ella, comprobando si ya est. en :casa:' Si robot llega a casa, un

    comando de la computadora le dice 7ue volver a la l1nea'

    partir de el ordenador

  • 7/23/2019 traduccion prolog

    9/25

    8IAUR ' El modelo del comportamiento del robot'Transiciones ro(as slo se puedenreali)ar despu%s de la orden de un ordenador y 7ue no contienen en la memoria delrobot'

    Planes

    /ora estamos traba(ando en pr;imos proyectos'Entre nuestros proyectos son la continuacinde los traba(os sobre el museo gu1a robot*e;cursin y construir robots m.s complicados'#isegundo robot ser. un robot*navegante'

    )eerencias

    ? Aaa)e*Rapoport #A, $ospelov D De ameba al robot9 modelos decomportamiento'# '9 Pauka, 4B@> , 4,p'++*+

  • 7/23/2019 traduccion prolog

    10/25

    DobrininD' ,' 0arpovV' E' #odo ling algunas !ormas de conducta adaptativa de robotsintelectuales' Jo n!ormaciones tecnolog1as y sistemas in!orm.ticos +, +==N, p' G*N

  • 7/23/2019 traduccion prolog

    11/25

    Pgina 1

    Volumen 4 P&mero G 4===4=Gdv robot utomISSP9 +4N@*BNB R, una revista de acceso abiertocceso abiertort1culo de investigacinLos avances en )obtica " Automati*acin

    Acceso abierto

    )ad y Ras/id, dv robot utom +=4, +9 4/ttp9d;'doi'org4='G4>++4N@*BNB'4===4=GPalabras clave+RobticaC #%todos de control del robotC Robot inteligenteC PointeligenteC $rogramacin de robots de bra)oIntroduccin

    ,istoria general de la robtica"a ra1) de la palabra robot se remonta a la obra de 0arel 2apek RossumUniversal Robots 3RUR5 en 4B+4' En realidad, esto se origin desde el$alabra c/eca para :prestacin personal:

  • 7/23/2019 traduccion prolog

    12/25

    En los &ltimos aFos los robots de rueda impulsada /an sido comercialmentepromovido y utili)ado para el servicio p&blico y los propsitos tales como en/ospitales y otros lugares' En 4B> otro tipo de robtica !ue diseFadollamado "os robots /umanoides' Esto sucedi cuando*I 6abot o!recieron enapn' 2omo cuestin de /ec/o, la corriente 6abot*III ya tiene algunos menorcapacidades cognitivas' En 4BBG, otro tipo de robot /umanoide, llamado:2og:, !ue desarrollado en el #IT*I*"ab, y en 4BBB /umanoide de Hondarobot lleg y lleg a ser ampliamente conocido por el p&blico' Este tipoes controlado a distancia por los seres /umanos, y se puede caminar de !ormaautnoma' Enciencia !iccin, los robots ya son los me(ores amigos de /umanos, pero enrealidadslo veremos robots para traba(os espec1!icos como programable universal,esclavos de la m.7uina en un !uturo pr;imo 3lo 7ue conduce a preguntas

    interesantes,ver = y de varios grandes2onglomerados (aponeses comen)aron a generar los mismos robotsindustriales'#ientras 7ue en los robots de EE'UU' Unimation /ab1an sido patentadoC Sinembargo, este

    Po !ue el caso de apn, 7ue rec/a)aron debiendo internacionallas leyes de patentesC 2omo resultado, su diseFo !ue copiado

  • 7/23/2019 traduccion prolog

    13/25

    #.7uina programable universal para la samblea 3$U#5

  • 7/23/2019 traduccion prolog

    14/25

    -

    42iencias de la 2omputacin y Tecnolog1a de la In!ormacin, UTS9 Universityo! Tec/nology, Sydney, Sydney, ustralia+So!tare Departamento de Ingenier1a, 8acultad de Ingenier1a, UniversidadSala/addin, Haler, 0urdist.n

    Pgina 2

    Cita+)ad , Ras/id T 3+=45 DiseFo de un Robot rm trav%s de lengua(e deprogramacin $rolog' dv robot utom +9 4=G' doi9 10.4172 / 2168-BNB'4===4=G$.gina + de NVolumen 4 P&mero G 4===4=G

    dv robot utomatISSP9 +4N@*BNB R, una revista de acceso abierto8amulus es el primer robot industrial 7ue !ue diseFado por0U0 en 4B>' Este tipo de diseFo tuvo seis electromec.nica drivene(es' En !inales de 4B>= el inter%s en la robtica industrial se /inc/ /astadi!erentes empresas /an entrado en el campo, incluyendo los grandes comoAeneral Electric y Aeneral #otors, 7ue !orm una empresa con(unta con8PU2 "TD de apn, llamado 8PU2 Robotics' Estados Unidos lacreacin de empresas incluidasutomati; y Tecnolog1a departamento, Inc' la altura del robot

    auge en 4B@G, Unimarion !ue ad7uirida por 6esting/ouse Electric2orporacin de 4=> millones de dlares estadounidenses' Unimation !uevendido a Staubli8averges S2 por 6esting/ouse en 4B@@' "os robots articulados parageneralesy la aplicacin de sala limpia todav1a !ueron reali)adas por Staubli en +==G, yla divisin de robtica de -osc/ a !inales de +==G' $or &ltimo la visin miopedela industria estadounidense !ue reempla)ado por los recursos !inancieros y la

    !uertemercado interno dis!rutado por los (aponeses !abrica' Slo unos pocosempresas no (aponesas lograron sobrevivir en este mercado incluyendodaptar la tecnolog1a, Staubli*Unimation, la compaF1a sueco*sui)ay -- ISE

  • 7/23/2019 traduccion prolog

    15/25

    bra)o est. diseFado de modo 7ue es capa) de girar /acia la derec/a y /acia lai)7uierda34@= grados5, y capa) de recoger y colocar ob(etos' El bra)o debeser lo m.s ligero posible para ma;imi)ar la carga' El material para laestructura del bra)o tambi%n tiene 7ue ser !uerte y r1gida' Un material posibleesaluminio tal como se utili)a en

  • 7/23/2019 traduccion prolog

    16/25

    Inteligencia, a continuacin, se puede de!inir como una calidad consideradacomo arbitrariatal por el operador /umano' El t%rmino robot se utili)a de dos maneras9 unam.7uina 7ue est. dirigida por un operador /umano por control remoto y unam.7uina 7ue toma decisiones limitadas basadas en un programa in!orm.tico'#.7uinas de soldadura de !.brica son los robots 7ue pueden detectar la

    programadosposicin de las pie)as' viones autom.tica drone se dan los ob(etivos ypuedenvolar a s1 mismos' Del arte del espacio de Rusia son los coc/es autnomos7ue utili)anc.maras y sensores y ordenadores de a bordo para conducir a s1 mismosy permanecer en el camino' 2reemos m.7uinas robot no pueden pensar comonosotros

    lo /acen los /umanos, aun7ue seguimos con la esperan)a de llegar a estepunto' Ja est.son dos tipos de robots sobre la base de la inteligencia, estos son9)obots para no inteligentesUn tipo importante de robot se llama un robot no inteligente' Estasson robots 7ue no tienen sensores para recibir in!ormacin' En cambio, elrobot slo es capa) de seguir un con(unto !i(o de instrucciones, no importa lo7ue7ue est. sucediendo a su alrededor' Un robot como este nunca puedeconvertirse en inteligente38igura 45'Los robots inteligentesUn robot es controlado por con(untos de instrucciones llamados un programa,7ueest. integrado en el dispositivo de control' "os robots inteligentes deben tenersensores

    para recoger in!ormacin del entorno

  • 7/23/2019 traduccion prolog

    17/25

    a saber, la construccin mec.nica de un robot de bra)o, la electrnicacircuito, y el diseFo de programacin utili)ando la programacin $rologidioma' En este traba(o, nuestro diseFo se centra principalmente en lala programacin de los robots'La construccin mec6nica de un robot de bra*o

    Esta es la parte principal del robot de bra)o 7ue necesita tres di!erentesestructurasC estos son el /ombro, codo y muFeca' El reto en este

    parte particular es como para !i(ar el motor a la pie)a o con(unto para lograrel nivel de grado de giro pre!erido' tro reto, sobre todo, la)obot Arm

    Ciclo abierto

    #uFecaHerramienta2odo

    Hombro2intura)egulador de la computadora

    %igura 0+#uestra un robot no inteligente'

    Pgina 3

    Cita+)ad , Ras/id T 3+=45 DiseFo de un Robot rm trav%s de lengua(e deprogramacin $rolog' dv robot utom +9 4=G' doi9 10.4172 / 2168-BNB'4===4=G$.gina de N

    Volumen 4 P&mero G 4===4=G dv robot utomatISSP9 +4N@*BNB R, una revista de acceso abiertogrado de libertad previsto, se puede lograr mediante la combinacin per!ectade los di!erentes componentes del bra)o' El diseFo mec.nico se lograutili)ando el so!tare utodesk InventorC Este so!tare se utili)a paraconstruir ydiseFar el robot de bra)o' Dimensiones para el diseFo mec.nico son crucialesemitir y es considerado como el tema central en el bra)o robot' Tienen 7ue

    ser muy preciso, y no /ay margen de error menor, ya 7ue un menor de edaderror en las dimensiones provocar. un problema importante en el monta(e y!uncin de la estructura de bra)o'Dise7o de circuitos electrnicosEsto es tan importante como la parte mec.nicaC esta parte esdedicada para proporcionar control sobre el movimiento del robot de

    bra)o' "microcontrolador se utili)a para proporcionar este propsito'Dise7e la parte de programacin utili*ando el lengua!e Prolog

    DiseFar un programa de so!tare 7ue permite el movimiento del bra)o

    robotC tambi%n debe /aber una inter!a) con el so!tare para controlar elrobot de bra)o'

    https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104
  • 7/23/2019 traduccion prolog

    18/25

    El diseFo de la lengua prlogo parte de programacin utili)ando esdividido en dos partes9Planiicar " dise7o+ ,a" unrobot de bra)o con otros cuatro ob(etos eneste caso9 2uadrado, Semi*2uadrado, 21rculo, y Tri.ngulo' El bra)o es capa)demantener los ob(etos y ponerlos en los dem.s y en el suelo 38igura5C el usuario del programa puede controlar el robot mano mediante el uso dealgunoscomandos en una pantalla o men&' dem.s, el programa terminar.cada ve) 7ue el usuario pulsa en el comando de las salidas' Debe /aber unainter!a) de usuario 7ue muestra los comandos para el usuario, 7ue esperar a7ue un usuariodecir 7u% /acer' Estos comandos importantes son945 ob(eto de retencin

    +5 $oner ob(eto5 la mano libreG5 $antalla5 Salir

    Pos /emos limitado a un usuario con algunas reglas 7ue el mosto robot debra)oobedecer al reali)ar las tareas' Estas reglas est.n claramente de!inidas acontinuacin9 *45 El robot bra)o puede poner un semi*cuadrado en un cuadrado+5 El bra)o robot puede poner un tri.ngulo en un cuadrado5 El robot bra)o puede poner un c1rculo en un semi*cuadradoG5 El robot bra)o debe estar libre antes de tomar el asimiento de un ob(eto5 El robot bra)o debe estar completa antes mandado a bra)o libreN5 El ob(eto debe estar libre para poder sostenerlo>5 Un ob(eto blo7ueado no se /ace2uando el usuario elige el comando espera, el programa le pedir.al usuario sobre el nombre del ob(eto de mantenerC antes de eso, el programadebe comprobar si el bra)o es libre, si el bra)o es libre, entonces el bra)osigueC

    de lo contrario, se escribe un mensa(e para indicar al usuario 7ue el bra)o est.lleno, yvuelve de nuevo a la pantalla de bienvenida' "uego se debe comprobar si elob(etoes gratis, es decir, no est. blo7ueada o retenida'2uando el usuario elige el comando put, el programa debecomprobar si el bra)o est. lleno o no' Si el bra)o est. lleno, entoncescontin&a, osi no devuelve de nuevo a la pantalla de bienvenidaC a continuacin, el

    programa debe

    preguntar sobre el nombre del ob(eto de destino para ponerlo en, entonces elprograma

  • 7/23/2019 traduccion prolog

    19/25

    2omprueba si el ob(eto de destino es blo7ueado o no' Si el ob(eto es libreentoncescontin&a, o de lo contrario muestra un mensa(e de error al usuario del :enterotro ob(etivo' :2uando el usuario introduce el comando gratuita, el programadebe comprobar el bra)o si ya es libre o noC si es gratis, entonces elmensa(e de error se muestra al usuario 7ue dice :El ya bra)oest. libreM :, y luego volver a la pantalla de bienvenida' Si el bra)o est. lleno,entonces libreel bra)o colocando ob(eto 7ue ya se lleva a cabo, y luego regresar de nuevo ala pantalla de bienvenida'2uando el usuario introduce el comando Display, el programa debemostrar el estado de cada ob(eto y tambi%n el estado de armadoC Tambi%ndeber1amuestran 7ue los ob(etos est.n blo7ueados, y debe decir 7ue los ob(etos son

    ya en ellos'En un caso ideal de todos los ob(etos y las declaraciones de estado de bra)oson :libres:'

    Pecesitas un comunicado encabe)ado a7u1 7ue le dice a su lector de lasiguientes !rases son las declaraciones de estado-ra)o 3libre total5, ob(eto 3 mantener blo7ue libre otro ob(eto5Tanto -ra)o y ob(etos /ab1an estado, seg&n lo declaradoanteriormenteC puedes ver

    bra)o tiene dos estados, y cada ob(eto tiene G tipos de estadoC el cuartode un :otro ob(eto: signi!ica 7ue es ba(o ese ob(eto, si pongo tri.ngulosobre el estado de la pla)a pla)a se convertir. en :tri.ngulo:' El diagrama de!lu(oest. diseFado para 7ue el robot de bra)o con todas las posibilidades y!uncionalidadesindicado, 38igura G5'Codiicacin " aplicacin+ Despu$s de completarel diseFo yel diagrama de !lu(o del robot del bra)o, se implement el diagrama de !lu(o ycodi!icado en el lengua(e de programacin $rolog

  • 7/23/2019 traduccion prolog

    20/25

    en el ordenador

    %igura .+ muestraun robot inteligente'%igura 9+ muestraun robot de bra)o con los cuatro ob(etos di!erentes'

    Pgina 4

    Cita+)ad , Ras/id T 3+=45 DiseFo de un Robot rm trav%s de lengua(e deprogramacin $rolog' dv robot utom +9 4=G' doi9 10.4172 / 2168-BNB'4===4=G$.gina G de NVolumen 4 P&mero G 4===4=G dv robot utomatISSP9 +4N@*BNB R, una revista de acceso abierto% Nondetermrobothold (s, s, s, s, s, s).

    % Nondetermrobotput (x, x, x, x, x, s, s).

    cheque nondeterm (s, s).robot nondeterm (s, s, s, s, s, s, s, y).

    Llamada% nondeterm (y).% Nondeterm !lido (x).

    "l!usulascomprobar (#tri!n$ulo#, #cuadrado#).

    comprobar (#semicuadratura#, #cuadrado#).comprobar (#crculo#, #semicuadratura#).

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, )*+

    nl,escribir (#resione - para mantener#), nl,

    escribir (#resione para poner#), nl,escribir (#ulse / para libre#), nl,

    escribir (#ulse 0 para salir#), nl,escribir (#ulse 1 para imprimir#), nl,

    escritura (#2ntroducir nmero*#),read2nt (N),

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, N).

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, N)*+N 3-,

    escribir (#2ntrodu4ca entrada !lida -,,/,0,1*#),read2nt ('),

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, ').robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, N)*

    +N5 1,

    escribir (#2ntrodu4ca entrada !lida -,,/,0,1*#),

    read2nt ('),robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, ').

    https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104
  • 7/23/2019 traduccion prolog

    21/25

    robot (6, 6, 6, 6, 6, 6, 6, 0)* +

    escribir (#7di8s#), nl.robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, 6, &ar$et, -)* +

    nl,'ano = #libre#,

    escribir (#2ntrodu4ca la 9orma de celebrar :sqaure, tri!n$ulo, semicuadratura,crculo#* #),

    readln (orma),robot (quare, semicuadratura, &ri!n$ulo, "rculo, #lleno#, orma, ;lanco,

  • 7/23/2019 traduccion prolog

    22/25

    S1PoPoPoPoPo#ensa(e de error:#ano es completa:#ensa(e de error:Po Retencin de ob(etos:ImpresinEstado de cadaob(eto y la mano-ienvenida

    $antalla#ensa(e de error:#ano es gratis:#anoAratis2ambiar Estadob(ect K gratuita#ano K gratuitaARTISS"ID#PITRSalida#ensa(e de error:El ob(eto est. blo7ueado:#ensa(e de error:El ob(eto est. blo7ueado:Entrada

    Pombre del ob(etoEntrada

    Pombre del ob(etob(etoAratisb(etoAratis2ambiar Estadob(ect K suspenso#ano K completa2ambiar Estadob(ect K suspenso

    #ano K gratuita

  • 7/23/2019 traduccion prolog

    23/25

    %igura /+ muestraun diseFo de diagrama de !lu(o completo para un sistemade robot bra)o'

    Pgina 5

    Cita+)ad , Ras/id T 3+=45 DiseFo de un Robot rm trav%s de lengua(e deprogramacin $rolog' dv robot utom +9 4=G' doi9 10.4172 / 2168-BNB'4===4=G$.gina de NVolumen 4 P&mero G 4===4=G dv robot utomatISSP9 +4N@*BNB R, una revista de acceso abierto"rculo = #libre#,

    orma = #crculo#,

    robot (quare, semicuadratura, &ri!n$ulo, #mantener#, #lleno#, orma,

    ;lanco, ).robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, -)*+

    'ano = #total#,

    nl, escribir (#rror La mano no es libre#), nl,robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, ).

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, 1)*+

    nl,escribir (#quare#), escribir (cuadrado), nl,

    escritura (#semicuadratura*#), escribir (semicuadratura), nl,escribir (#&ri!n$ulo#), escribir (&ri!n$ulo), nl,

    escribir (#"rculo#), escribir ("rculo), nl,escribir (#>and*#), escribir (a mano), nl,

    escribir (#uente*#), escribir (uente), nl,escribir (#&ar$et*#), escribir (&ar$et), nl,

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, ).robot (#hold#, semicuadratura, &ri!n$ulo, "rculo, 6, 6, 6, /)* +

    robot (#libre#, semicuadratura, &ri!n$ulo, "rculo, #libre#, #libre#, #libre#, ).

    robot (la pla4a, #espera#, &ri!n$ulo, "rculo, 6, 6, 6, /)* +robot (la pla4a, #libre#, &ri!n$ulo, "rculo, #libre#, #libre#, #libre#, ).robot (quare, semicuadratura, #espera#, "rculo, 6, 6, 6, /)* +

    robot (quare, semicuadratura, #libre#, "rculo, #libre#, #libre#, #libre#, ).robot (quare, semicuadratura, &ri!n$ulo, #mantener#, 6, 6, 6, /)* +

    robot (quare, semicuadratura, &ri!n$ulo, #libre#, #libre#, #libre#, #libre#, ).robot (quare, semicuadratura, &ri!n$ulo, "rculo, #libre#, uente, &ar$et,

    /)* +nl, escribir (#La mano es ya libre#), nl,

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, #libre#, uente, &ar$et, ).

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, 6, )* +'ano = #total#,

    https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104
  • 7/23/2019 traduccion prolog

    24/25

    nl, escribir (#2ntrodu4ca la 9orma de poner en :sqaure, tri!n$ulo,

    semicuadratura, crculo:* #),

    readln (orma),robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, orma, ?).

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, )*+

    'ano 35 #lleno#,nl, escribir (#@sted debe tener una 9orma antes de poner#), nl,

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, ).robot (quare, emicuadratura, &ri!n$ulo, "rculo, 6, uente, &ar$et, ?)* +

    comprobar (uente, &ar$et),emicuadratura = #libre#,

    "rculo = #mantener#,

    uente = #crculo#,&ar$et = #semicuadratura#,robot (la pla4a, #crculo#, &ri!n$ulo, #libre#, #libre#, #libre#, #libre#, ).

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 6, uente, &ar$et, ?)* +comprobar (uente, &ar$et),

    quare = #libre#,&ri!n$ulo = #espera#,

    uente = #tri!n$ulo#,&ar$et = #cuadrado#,

    robot (#tri!n$ulo#, semicuadratura, #libre#, "rculo, #libre#, #libre#, #libre#,).

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 6, uente, &ar$et, ?)* +comprobar (uente, &ar$et),

    quare = #libre#,emicuadratura = #mantener#,

    uente = #semicuadratura#,&ar$et = #cuadrado#,robot (#semicuadratura#, #libre#, &ri!n$ulo, "rculo, #libre#, #libre#, #libre#,

    ).

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, ?)*+nl, Arite (#l destino ya bloqueado#), nl,

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, ).robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, ?)*

    +&ar$et = #crculo#,

    nl, Arite (#rror no es posible#),robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, ).

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, ?)*

    +&ar$et = #semicuadratura#,

  • 7/23/2019 traduccion prolog

    25/25

    nl, Arite (#rror no es posible#),

    robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, ).robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, ?)*

    +&ar$et = #tri!n$ulo#,

    nl, Arite (#rror no es posible#),robot (quare, semicuadratura, &ri!n$ulo, "rculo, 'ano, uente, &ar$et, ).

    Bolrobot (#libre#, #libre#, #libre#, #libre#, #libre#, #libre#, #libre#, ).

    ConclusinEste documento proporciona una de!inicin b.sica y general sobresistemas robticos en el .rea de la inteligencia arti!icial' El documento sere!iere asistemas robticos con sus servicios b.sicos, como sensores y actuadores'

    Se e;plican dos tipos de robtica9 son inteligentes y nosistemas robticos inteligentes' En este traba(o /emos considerado la no*robtica inteligente en el 7ue la programacin !ue nuestra base de manipularel sistema 3robtica basadas programa5' Un estudio de caso sobre el diseFo deun bra)o

    propuesta robot se presenta en la 7ue se describe posibles solucionesy !uncionalidades a esos problemas sin pro!undi)ar en la teor1adiseFo de la !irma nda para resolver el problema se sugiere a trav%s de undiagrama de !lu(o'

    Pgina 6Cita+)ad , Ras/id T 3+=45 DiseFo de un Robot rm trav%s de lengua(e de

    programacin $rolog' dv robot utom +9 4=G' doi9 10.4172 / 2168-BNB'4===4=G$.gina N de NVolumen 4 P&mero G 4===4=G

    https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104https://translate.google.com/translate?hl=es&prev=_t&sl=en&tl=es&u=http://dx.doi.org/10.4172/2168-9695.1000104