Programacionde Robots y Lenguajes

Embed Size (px)

Citation preview

  • 8/17/2019 Programacionde Robots y Lenguajes

    1/14

    4. PROGRAMACION DE ROBOTS Y LENGUAJES

    4.1. PROGRAMACION DE UN ROBOT, LENGUAJES, SOFTWARE.

    Programaci ó n de Robot

    El proceso de programaci ó n de un robot consiste en introducir en su sistema de control lasinstrucciones necesarias para que desempe ñ e las tareas para las que ha sido dise ñ ado. Existen

    varios procedimientos de programaci ó n de robots.

    Programaci ó n guiada o directa

    El operario interviene guiando manualmente el brazo del robot, y hace que este vaya describiendo

    los movimientos y trace las trayectorias necesarias para cumplir su funci ó n. Cada uno de los

    movimientos realizados se va almacenando en la memoria del robot, de forma que podr á n ser

    repetidos posteriormente, ya sin intervenci ó n humana. En este tipo de programaci ó n es necesario

    disponer del propio robot para la elaboraci ó n del programa. En muchas ocasiones se utiliza unsistema de guiado en forma de joystick para mover las articulaciones del robot. Es un tipo de

    programaci ó n sencilla, pero con el inconveniente de que no tiene en cuenta las variaciones del

    entorno.

    Programaci ó n textual o indirecta

    En este caso no es necesaria la presencia del robot para realizar el programa, puesto que este se

    lleva a cabo en un lenguaje inform á tico. El programa consiste en un texto formado por un

    conjunto de instrucciones; cuando el programa sea grabado en la memoria del robot, este realizar á

    las acciones indicadas en el mismo.Este tipo de programaci ó n permite realizar operaciones m á s complejas y con mayor grado de

    precisi ó n. Adem á s, presenta la ventaja de que es posible establecer relaciones entre el robot y su

    entorno. Para ello basta con introducir en el programa los datos procedentes de los sensores de

    forma que el robot act ú e en consonancia con los mismos, tal y como ocurre en los denominados

    «robots inteligentes».

    A su vez, la programaci ó n textual puede ser de dos tipos: expl í cita y especificativa.

    • La programaci ó n textual expl í cita se corresponde con los llamados lenguajes

    estructurados. Consiste en programar de forma secuenciada y estructurada el conjunto deacciones que debe realizar el robot para llevar a cabo la tarea encomendada. En dichas

    instrucciones pueden introducirse tambi é n las caracter í sticas del medio.

    • La programaci ó n textual especificativa est á m á s en consonancia con los lenguajes de

    programaci ó n orientados a objetos. En este caso, el programa gira en torno a los elementos

    manipulados por el robot y las acciones que ha de realizar con ellos, teniendo en cuenta elá mbito en el que se desarrollan dichas acciones.

  • 8/17/2019 Programacionde Robots y Lenguajes

    2/14

    4. PROGRAMACION DE ROBOTS Y LENGUAJES

    Figura 1. Programaci ó n offline con tecnolog í a de un robot virtual

    ¿Có mo se programa un robot?

    Para programar un robot se sigue un proceso semejante al de la elaboraci ó n de un programa

    inform á tico destinado a cualquier otra aplicaci ó n. Primero ser á necesario establecer el algoritmo

    id ó neo que permita al robot llevar a cabo las tareas para las que ha sido dise ñ ado, tras lo cual se

    traducir á dicho algoritmo en un lenguaje de programaci ó n inteligible por el sistema de control del

    robot. Dicho lenguaje debe permitir especificar de forma clara y sencilla las tareas que debe

    realizar el robot.

    Los lenguajes de programaci ó n habituales (PASCAL, LOGO, VISUAL BASIC, C…) son lenguajes

    de prop ó sito general, es decir, pueden emplearse para cualquier tipo de aplicaci ó n y, enparticular, en la programaci ó n de robots. Se utilizan sobre todo en microrrobots y robots

    destinados a fines educativos y de investigaci ó n, pero no son muy empleados en la industria.

    En los robots industriales no existe un lenguaje de programaci ó n generalizado. De hecho, en la

    actualidad existen multitud de lenguajes destinados a la programaci ó n de robots industriales,

    puesto que en la mayor í a de los casos los propios fabricantes desarrollan el lenguaje destinado a

    su robot concreto. Algunos ejemplos son: VAL, RCL, AL, MAPLE, RAPT, LAMA, STRIPS…

    Suelen estar dise ñ ados para programar un modelo de robot particular y no pueden emplearse en

    otros tipos de robots.

    Cuando se programa un manipulador lo que se necesita usualmente es situar su punto termina enuna localizaci ó n determinada del espacio, haciendo adem á s que la direcci ó n de aproximaci ó n a la

    misma est é tambi é n definida. Pero no s ó lo es importante que el manipulador alcance

    determinados puntos del espacio, sino que lo haga en el momento adecuado. As í , es preciso

    distinguir entre:

    • Camino, sucesi ó n de puntos del espacio.

    http://platea.pntic.mec.es/vgonzale/cyr_0708/archivos/_15/Tema_5.4.htm#pto_terminalhttp://platea.pntic.mec.es/vgonzale/cyr_0708/archivos/_15/Tema_5.4.htm#pto_terminal

  • 8/17/2019 Programacionde Robots y Lenguajes

    3/14

    4. PROGRAMACION DE ROBOTS Y LENGUAJES

    • Trayectoria, camino sujeto a condiciones temporales.

    Generalmente, es necesario dise ñ ar y programar trayectorias, rectas o curvas arbitrarias en el

    espacio cartesiano, para lo cual es importante conocer la relació

    n entre la trayectoria cartesianadel punto terminal y la de las articulaciones. En el dise ñ o de las trayectorias hay que tener en

    cuenta factores como:

    • La prevenci ó n de posibles colisiones con objetos del entorno.

    • El mantenimiento de una orientaci ó n fija del elemento terminal (transporte de l í quidos,

    soldadura, etc.).

    • La utilizaci ó n de aceleraciones moderadas, de forma que se eviten fuerzas de inercia

    elevadas que resulten inadecuadas para los motores.

    Existen determinadas circunstancias que hacen que los lenguajes de programaci ó n de robots

    resulten relativamente diferentes al resto:

    • El entorno en el que act ú a el robot no puede describirse normalmente en t é rminos

    puramente cuantitativos.

    • Se necesitan incluir condiciones no usuales, como la comentada prevenci ó n de colisiones.

    • Las acciones del robot est á n sujetas a imprecisiones que pueden dar lugar a incidentes que

    el programa debe ser capaz de procesar.

    • Ciertas informaciones de los sensores del sistema pueden ser no s ó lo dif í ciles de procesaren tiempo real, sino tambi é n ambiguas.

    Lenguajes

    1. Caracter í sticas de los lenguajes

    Habitualmente, la programaci ó n de un robot resulta un proceso continuo de ensayo y error. Por

    ello, la mayor í a de los entornos de programaci ó n son interpretados, pudi é ndose realizar un

    seguimiento paso a paso de lo programado y evitar el ciclo editar-compilar-ejecutar-reprogramar,

    costoso en tiempo. Es deseable una buena capacidad de depuraci ó n y ejecuci ó n paso a paso. Un

    lenguaje de programaci ó n de robots se podr í a considerar ideal o universal si cumpliese los

    siguientes requisitos:

    • Proporcionar tipos de datos convencionales (enteros, reales ...) pero tambi é n otros

    espec í ficos para:

    • El posicionamiento y orientaci ó n espacial de los elementos actuadores.

    • La comprobaci ó n de sucesos, es decir, la recogida puntual o continua de la

  • 8/17/2019 Programacionde Robots y Lenguajes

    4/14

    4. PROGRAMACION DE ROBOTS Y LENGUAJES

    informaci ó n de las se ñ ales generadas por los sensores y su almacenamiento en

    variables sensoriales. Estas variables son de alcance global y no se inicializan

    expl í citamente en el programa, como las variables convencionales. Asimismo, debe

    incorporar elementos de priorizaci ó n de sucesos en caso de activaci ó n simult á nea devarios sensores.

    • Incorporar ó rdenes de movimiento de los actuadores en el espacio cartesiano, sencillas y

    con posibilidad de elegir la trayectoria del punto terminal entre la posici ó n actual y la

    final. Asimismo, debe ser posible memorizar la posici ó n actual para continuar un

    movimiento en caso de interrupci ó n anormal. Tambi é n, debe contar con ó rdenes espec í ficas

    para la realizaci ó n de retardos (esperas hasta que se concluya la ejecuci ó n de un

    movimiento).

    • Proporcionar mecanismos espec í ficos de inicializaci ó n y terminaci ó n de las acciones delrobot, como pueden ser el auto-test y el calibrado inicial, o el posicionamiento en algunas

    coordenadas espec í ficas al principio o al final de la operaci ó n.

    • Incorporar medios de sincronizaci ó n de sucesos, que modifiquen la tarea normal en funci ó n

    de la ocurrencia de ciertos hechos o la llegada de ciertas se ñ ales. Las acciones de un robot

    se sincronizan normalmente para atender a cuatro tipos de sucesos:

    • Activaci ó n. Comenzar la acci ó n al recibir una se ñ al.

    • Terminaci ó n. Finalizar la acci ó n al recibir una se ñ al.

    • Error. Comenzar una secuencia de recuperaci ó n ante una se ñ al de error.

    • Anulaci ó n. Finalizar una acci ó n ante la ausencia de se ñ al de terminaci ó n en un

    tiempo establecido.

    • Proporcionar concurrencia o paralelismo, de modo que se puedan controlar

    simult á neamente todas sus articulaciones y permitir el funcionamiento simult á neo con

    otros robots. Esto se puede conseguir mediante:

    • Un lenguaje que permita concurrencia.

    • Un software que simule paralelismo mediante el reparto del tiempo del procesador.

    • Usando varios elementos de computaci ó n (varios microcontroladores)

    • Posibilitar la comunicaci ó n entre procesos cuando varios coexisten simult á neamente. Esto

    se puede llevar a cabo mediante:

    • El uso de la memoria compartida.

  • 8/17/2019 Programacionde Robots y Lenguajes

    5/14

    4. PROGRAMACION DE ROBOTS Y LENGUAJES

    • La llamada remota a procedimientos.

    • El env í o de mensajes.

    • Gozar de portabilidad a cualquier tipo de equipamiento del que se disponga, conindependencia del tipo de robot, de sensores, de actuadores y de elementos terminales.

    Puesto que estos lenguajes deben poder modificar en tiempo real el flujo del programa

    dependiendo del estado de las se ñ ales de los sensores, el sistema operativo que soporte tales

    lenguajes debe ser de tiempo real, entendiendo por tal aqu é l que pueda responder a cualquier

    suceso externo, es decir, a la petici ó n de un programa, en un tiempo acotado –suficientemente

    breve-, sin posibilidad de que dicha petici ó n pueda quedar bloqueada indefinidamente. Por

    ejemplo, el mantenimiento de la estabilidad en el movimiento de las articulaciones del robot exige

    el muestreo de los sensores de posici ó n con un per í odo definido y corto, y el env í o de la acci ó n de

    control calculada en ese mismo per í odo.

    Los lenguajes de programaci ó n actuales no verifican estrictamente todos los requisitos detallados,

    pero existen varios que resultan de utilidad dependiendo de la tarea espec í fica a la que se les

    destina.

    2. Clasificaci ó n de los lenguajes. M é todos de programaci ó n

    En funci ó n de la sintaxis del lenguaje y de su complejidad se pueden distinguir tres tipos:

    1. Secuenciadores de instrucciones. Almacenan una secuencia de posiciones y de acciones (por

    ejemplo, la apertura o cierre de la pinza de un manipulador), para repetirla posteriormenteen un orden pr á cticamente fijo. El robot aprende dichas posiciones y acciones mediante:

    • El movimiento del robot gracias a un teclado especial denominado teach pendant, a

    un rat ó n o a un joystic.

    • El movimiento manual del mismo y el almacenamiento de las posiciones de los

    encoders.

    2. Lenguajes espec í ficos para robots. Dise ñ ados normalmente por cada firma comercial para

    sus robots, teniendo en cuenta ú nicamente sus propios sensores y actuadores.

    Generalmente incorporan, adem á s, descripci ó n y razonamiento en t é rminos geom é tricos e

    interfaces a sistemas de CAD/CAM.

    3. Extensiones de lenguajes cl á sicos. Se trata de m ó dulos de ampliaci ó n espec í ficos para el

    manejo de sensores y actuadores, desarrollados para lenguajes de prop ó sito general como

    C, PASCAL o BASIC, que conservan la sintaxis general y los m é todos de control de flujo de

    los mismos.

  • 8/17/2019 Programacionde Robots y Lenguajes

    6/14

    4. PROGRAMACION DE ROBOTS Y LENGUAJES

    Por otra parte, en funci ó n del nivel de abstracci ó n que permiten a la hora de especificar la tarea,

    los lenguajes pueden ser:

    • Orientados al robot.

    • Orientados a la tarea.

    Las instrucciones de los lenguajes orientados al robot son ó rdenes para la lectura del estado de los

    sensores y para el movimiento de los actuadores. El programador debe establecer de modo

    secuencial cu á l ser á el comportamiento de los actuadores en funci ó n de las se ñ ales de los

    sensores. Estos lenguajes se pueden subdividir en tres niveles:

    • De aprendizaje. Se trata de secuenciadores de instrucciones ampliados. Permiten la

    lectura autom á tica de variables de posici ó n y su modificaci ó n en modo texto. Cuentan con

    estructuras de control simples e instrucciones de comprobaci ó n de sensores que soninsertables en la secuencia de movimientos aprendida mediante interfaces con men ú s.

    Ejemplos de este tipo de lenguajes son APT (Automatically Programmed Tools) y MCL

    (Macintosh Common LISP).

    • Estructurados. Con estructuras flexibles para la definici ó n de posiciones, orientaciones y

    manipulaci ó n. Permiten la comprobaci ó n puntual o continua de las se ñ ales sensoriales, y

    la realizaci ó n de movimientos de aproximaci ó n en cualquier direcci ó n del espacio

    cartesiano. Ejemplos de este tipo de lenguajes son los denominados KAREL (lenguaje para

    el robot Karel), SRL (Structured Robot Language), AL (Assembly Language), AML (A

    manufacturing Language), VAL (Variable Assembly Language) y VAL-II.

    • Experimentales o prototipos de investigaci ó n. Se trata de lenguajes similares a los de

    aprendizaje:

    • Cuyo resultado no es una mera repetici ó n de las acciones, sino la generaci ó n de

    programas con instrucciones de movimiento y variables libres, que puede ser

    editado con posterioridad para modificar las posiciones absolutas y a ñ adir

    instrucciones de comprobaci ó n de las se ñ ales sensoriales; un ejemplo es el lenguaje

    LM (Language Model).

    • O bien, ense ñ an al robot estrategias sensoriales mediante la extracci ó n de valores

    clave de entre todos los valores sensoriales almacenados –gracias a la detecci ó n de

    las situaciones en las que se ha modificado o interrumpido el movimiento-. Un

    ejemplo de ello lo constituye el lenguaje XPROBE.

    En los lenguajes orientados a la tarea el programador debe establecer cu á les son las acciones que

    debe ejecutar el robot pero no tiene necesariamente que detallar c ó mo hacerlo. Es el sistema el

  • 8/17/2019 Programacionde Robots y Lenguajes

    7/14

    4. PROGRAMACION DE ROBOTS Y LENGUAJES

    que decide qu é movimientos y comprobaciones sensoriales debe realizar, y en qu é orden. Las

    decisiones se toman en funci ó n de:

    • Los objetivos propuestos.

    • El estado en cada momento del mundo del robot.

    Lo anterior exime al programador de la realizaci ó n de un buen n ú mero de tareas laboriosas que

    son obligatorias en los lenguajes orientados al robot.

    La tarea se describe en lenguaje de alto nivel, mediante instrucciones en forma textual o

    utilizando una interfaz gr á fica (un simulador del mundo del robot). Un m ó dulo planificador

    consulta una base de datos, denominada el modelo del mundo, y transforma las especificaciones

    de la tarea en un programa orientado al robot. Esto est á directamente relacionado con las

    t é cnicas de Inteligencia Artificial para la generaci ó n autom á tica de programas.

    Como ejemplo, sup ó n que se debe coger un bloque de una determinada posici ó n y apilarlo sobre

    un segundo bloque situado en otra posici ó n diferente. Esta tarea podr í a descomponerse en varias

    subtareas:

    • Situar la pinza sobre el primer bloque.

    • Sujetar el bloque.

    • Llevar el primer bloque sobre el segundo.

    • Soltar el primer bloque sobre el segundo.

    A su vez, cada subtarea podr í a ser divida en otras. Por ejemplo, la primera subtarea podr í a ser

    fraccionada en las siguientes:

    • Determinar d ó nde se hallan actualmente el robot y el primer bloque.

    • Determinar d ó nde se encuentran el resto de objetos del mundo, para no tropezar con ellos.

    • Calcular una trayectoria de desplazamiento libre de colisi ó n.

    Para determinar d ó nde se encuentra el robot, ú nicamente hay que leer los sensores internos

    (normalmente codificadoresó

    pticos). Sin embargo, determinar dó

    nde se encuentra el segundobloque resulta una cuesti ó n m á s compleja. La respuesta m á s usual a este problema consiste en

    almacenar modelos geom é tricos de objetos, y tratar de obtener mediante los sensores externos

    descripciones geom é tricas de los objetos reales que encajen con los objetos almacenados. Son los

    sistemas de CAD los que permiten el modelado geom é trico, almacenamiento y posterior consulta

    de los modelos. Ejemplos de lenguajes orientados a la tarea son AUTOPASS (Automatic

    Programming System for Computer- Controlled Mechanical Assembly), RAPT (Robot

    Automatically Programmed Tool) y LAMA (Language For AutomaticMechanical Assembly).

  • 8/17/2019 Programacionde Robots y Lenguajes

    8/14

    4. PROGRAMACION DE ROBOTS Y LENGUAJES

    Figura 1. Pantalla de Choreographe

    Software

    El software rob ó tico es el conjunto de comandos codificados que cuentan a un dispositivo mec á nico

    y sistema electr ó nico, conocido en su conjunto como un ro!ot , las tareas a realizar. El softwarerob ó tico se utiliza para realizar tareas aut ó nomas. Se han propuesto muchos sistemas de software

    y marcos para hacer m á s f á cil la programaci ó n de los robots.

    Algunos programas de software rob ó tico tiene como objetivo desarrollar dispositivos mec á nicos

    inteligentes. Las tareas comunes incluyen circuitos de retroalimentaci ó n, filtrado de datos,

    control, b ú squeda de caminos y de localizaci ó n

    Proyectos de software rob ó tico

    La siguiente es una lista de software de c ó digo abierto y libre para proyectos rob ó ticos.

    • CLARAt"

    • #Li$e

    • E%perimenta Ro!oti&' (rame)or*

    • MARIE - Mobile and Autonomous Robotics Integration Environment

    • Mi&ro'o$t - Microsoft Robotics Developer Studio

    • OpenRD+

    • OpenRTM,ai't

    https://es.wikipedia.org/wiki/Robothttp://web.archive.org/web/http://claraty.jpl.nasa.gov/http://users.dickinson.edu/~braught/dlifehttp://miarn.sf.net/http://marie.sf.net/http://msdn.microsoft.com/en-us/robotics/aa731517/http://openrdk.sf.net/https://es.wikipedia.org/w/index.php?title=OpenRTM-aist&action=edit&redlink=1https://es.wikipedia.org/wiki/Robothttp://web.archive.org/web/http://claraty.jpl.nasa.gov/http://users.dickinson.edu/~braught/dlifehttp://miarn.sf.net/http://marie.sf.net/http://msdn.microsoft.com/en-us/robotics/aa731517/http://openrdk.sf.net/https://es.wikipedia.org/w/index.php?title=OpenRTM-aist&action=edit&redlink=1

  • 8/17/2019 Programacionde Robots y Lenguajes

    9/14

    4. PROGRAMACION DE ROBOTS Y LENGUAJES

    • OROCOS

    • OPRoS

    • Ro!oD+

    • Ro!oti&' Li!rar"

    • Ro!oti&' Too !o% $or MATLAB

    • P a"er-Sta e Pro/e&t

    • P"ro0 P"t1on Ro!oti&'

    • Ro!oMin# .

    • Ro!ot Operatin S"'tem (ROS).• Ro!ot Inte i en&e +erne

    Figura 3. Software act/weld para robot de soldadura

    4.2. INTELIGENCIA ARTFICIAL

    La inteligencia artificial (IA) es un á rea multidisciplinaria, que a trav é s de ciencias como las

    &ien&ia' #e a &omputa&i2n, la matem3ti&a , la 2 i&a y la $i o'o$ a, estudia la creaci ó n y dise ñ o desistemas capaces de resolver problemas cotidianos por s í mismos, utilizando como paradigma la

    inte i en&ia humana.[ &ita re5ueri#a ]

    General y amplio como eso, re ú ne a amplios campos, los cuales tienen en com ú n la creaci ó n de

    http://www.orocos.org/http://www.opros.or.kr/https://www.robodk.com/http://www.roboticslibrary.org/https://es.wikipedia.org/w/index.php?title=Robotics_Toolbox_for_MATLAB&action=edit&redlink=1https://es.wikipedia.org/w/index.php?title=Player/Stage_Project&action=edit&redlink=1http://pyrorobotics.com/http://www.robomind.net/https://es.wikipedia.org/wiki/Robot_Operating_Systemhttp://web.archive.org/web/http://www.inl.gov/adaptiverobotics/robotintelligencekernel/index.shtmlhttps://es.wikipedia.org/wiki/Ciencias_de_la_computaci%C3%B3nhttps://es.wikipedia.org/wiki/Ciencias_de_la_computaci%C3%B3nhttps://es.wikipedia.org/wiki/Matem%C3%A1ticahttps://es.wikipedia.org/wiki/L%C3%B3gicahttps://es.wikipedia.org/wiki/Filosof%C3%ADahttps://es.wikipedia.org/wiki/Inteligenciahttps://es.wikipedia.org/wiki/Wikipedia:Verificabilidadhttp://www.orocos.org/http://www.opros.or.kr/https://www.robodk.com/http://www.roboticslibrary.org/https://es.wikipedia.org/w/index.php?title=Robotics_Toolbox_for_MATLAB&action=edit&redlink=1https://es.wikipedia.org/w/index.php?title=Player/Stage_Project&action=edit&redlink=1http://pyrorobotics.com/http://www.robomind.net/https://es.wikipedia.org/wiki/Robot_Operating_Systemhttp://web.archive.org/web/http://www.inl.gov/adaptiverobotics/robotintelligencekernel/index.shtmlhttps://es.wikipedia.org/wiki/Ciencias_de_la_computaci%C3%B3nhttps://es.wikipedia.org/wiki/Matem%C3%A1ticahttps://es.wikipedia.org/wiki/L%C3%B3gicahttps://es.wikipedia.org/wiki/Filosof%C3%ADahttps://es.wikipedia.org/wiki/Inteligenciahttps://es.wikipedia.org/wiki/Wikipedia:Verificabilidad

  • 8/17/2019 Programacionde Robots y Lenguajes

    10/14

    4. PROGRAMACION DE ROBOTS Y LENGUAJES

    m á quinas capaces de pen'ar . En &ien&ia' #e a &omputa&i2n se denomina inteligencia artificial a lacapacidad de razonar de un agente no vivo. Jo1n M&Cart1" acu ñó la expresi ó n «inteligenciaartificial» en 1956, y la defini ó como «... la ciencia e ingenio de hacer m á quinas inteligentes,

    especialmente pro rama' #e &2mputo inte i ente' ».

    Al igual que en la in$orm3ti&a convencional, en la Inteligencia artificial tenemos una serie deelementos peculiares que la caracterizan y la diferencian. Para Ni ''on son cuatro los pilaresbá sicos en los que se apoya la inteligencia artificial, los cuales ser á n analizados a continuaci ó n.

    • Bú squeda del estado requerido en el conjunto de los estados producidos por las acciones

    posibles.

    • A oritmo' en6ti&o' (an á logo al proceso de evoluci ó n de las cadenas de ADN).

    • Re#e' neurona e' arti$i&ia e' (an á logo al funcionamiento f í sico del cerebro de animales yhumanos).

    • Ra7onamiento mediante una 2 i&a $orma an á logo al pensamiento abstracto humano.

    Tambi é n existen distintos tipos de percepciones y acciones, que pueden ser obtenidas y

    producidas, respectivamente, por sensores f í sicos y sensores mec á nicos en m á quinas, pulsos

    el é ctricos u ó pticos en computadoras, tanto como por entradas y salidas de bits de un software y

    su entorno software.

    Varios ejemplos se encuentran en el á rea de &ontro #e 'i'tema' , p ani$i&a&i2n autom3ti&a, lahabilidad de responder a diagn ó sticos y a consultas de los consumidores, re&ono&imiento #ee'&ritura , re&ono&imiento #e 1a! a y re&ono&imiento #e patrone' . Los sistemas de IA actualmenteson parte de la rutina en campos como e&onom a, me#i&ina, in enier a y la mi i&ia, y se ha usado engran variedad de aplicaciones de 'o$t)are , juegos de estrategia, como a/e#re7 de computador, yotros 8i#eo/ue o' .

    Categor í as de la inteligencia artificial

    Bú squeda heur í stica. Podemos definir una heur í stica como un truco o estrategia que limita

    grandiosamente la b ú squeda de soluciones ante grandes espacios de problemas. Por lo tanto ante

    un problema, nos ayuda a seleccionar las bifurcaciones, dentro de un á rbol, con m á s posibilidades,

    con ello se restringe la b ú squeda aunque no siempre se garantiza una soluci ó n adecuada. Todo lo

    que se debe tener para que una heur í stica sea adecuada es que nos proporcione soluciones que

    sean lo suficientemente buenas. Adem á s utilizando la heur í stica, no ser á necesario replantear un

    problema cada vez que se afronte, ya que si lo hemos planteado anteriormente, é sta sugerir á la

    forma en que se ha de proceder para resolverlo.

    Representaci ó n del conocimiento. La representaci ó n es una cuesti ó n clave a la hora de encontrar

    https://es.wikipedia.org/wiki/Pensamientohttps://es.wikipedia.org/wiki/Pensamientohttps://es.wikipedia.org/wiki/Ciencias_de_la_computaci%C3%B3nhttps://es.wikipedia.org/wiki/John_McCarthyhttps://es.wikipedia.org/wiki/Sistema_inteligentehttps://es.wikipedia.org/wiki/Inform%C3%A1ticahttps://es.wikipedia.org/wiki/Nilssonhttps://es.wikipedia.org/wiki/Algoritmo_gen%C3%A9ticohttps://es.wikipedia.org/wiki/Red_neuronal_artificialhttps://es.wikipedia.org/wiki/Red_neuronal_artificialhttps://es.wikipedia.org/wiki/Razonamientohttps://es.wikipedia.org/wiki/L%C3%B3gica_formalhttps://es.wikipedia.org/wiki/Teor%C3%ADa_de_controlhttps://es.wikipedia.org/wiki/Planificaci%C3%B3n_autom%C3%A1ticahttps://es.wikipedia.org/wiki/Reconocimiento_de_escriturahttps://es.wikipedia.org/wiki/Reconocimiento_de_escriturahttps://es.wikipedia.org/wiki/Reconocimiento_del_hablahttps://es.wikipedia.org/wiki/Reconocimiento_del_hablahttps://es.wikipedia.org/wiki/Reconocimiento_de_patroneshttps://es.wikipedia.org/wiki/Reconocimiento_de_patroneshttps://es.wikipedia.org/wiki/Econom%C3%ADahttps://es.wikipedia.org/wiki/Medicinahttps://es.wikipedia.org/wiki/Medicinahttps://es.wikipedia.org/wiki/Ingenier%C3%ADahttps://es.wikipedia.org/wiki/Miliciahttps://es.wikipedia.org/wiki/Softwarehttps://es.wikipedia.org/wiki/Ajedrezhttps://es.wikipedia.org/wiki/Videojuegohttps://es.wikipedia.org/wiki/Pensamientohttps://es.wikipedia.org/wiki/Ciencias_de_la_computaci%C3%B3nhttps://es.wikipedia.org/wiki/John_McCarthyhttps://es.wikipedia.org/wiki/Sistema_inteligentehttps://es.wikipedia.org/wiki/Inform%C3%A1ticahttps://es.wikipedia.org/wiki/Nilssonhttps://es.wikipedia.org/wiki/Algoritmo_gen%C3%A9ticohttps://es.wikipedia.org/wiki/Red_neuronal_artificialhttps://es.wikipedia.org/wiki/Razonamientohttps://es.wikipedia.org/wiki/L%C3%B3gica_formalhttps://es.wikipedia.org/wiki/Teor%C3%ADa_de_controlhttps://es.wikipedia.org/wiki/Planificaci%C3%B3n_autom%C3%A1ticahttps://es.wikipedia.org/wiki/Reconocimiento_de_escriturahttps://es.wikipedia.org/wiki/Reconocimiento_de_escriturahttps://es.wikipedia.org/wiki/Reconocimiento_del_hablahttps://es.wikipedia.org/wiki/Reconocimiento_de_patroneshttps://es.wikipedia.org/wiki/Econom%C3%ADahttps://es.wikipedia.org/wiki/Medicinahttps://es.wikipedia.org/wiki/Ingenier%C3%ADahttps://es.wikipedia.org/wiki/Miliciahttps://es.wikipedia.org/wiki/Softwarehttps://es.wikipedia.org/wiki/Ajedrezhttps://es.wikipedia.org/wiki/Videojuego

  • 8/17/2019 Programacionde Robots y Lenguajes

    11/14

  • 8/17/2019 Programacionde Robots y Lenguajes

    12/14

    4. PROGRAMACION DE ROBOTS Y LENGUAJES

    toda la sesi ó n Disponen herramientas capaces de desarrollar programas que son capaces de

    comprender otros programas y tambi é n de realizar modificaciones sobre ellos.

    Stuart Russell y Peter Norvig diferencian estos tipos de la inteligencia artificial:

    • Sistemas que piensan como humanos.- Estos sistemas tratan de emular el pensamiento

    humano; por ejemplo las re#e' neurona e' arti$i&ia e' . La automatizaci ó n de actividades quevinculamos con procesos de pensamiento humano, actividades como la toma #e #e&i'ione' ,re'o u&i2n #e pro! ema' y apren#i7a/e .

    • Sistemas que act ú an como humanos.- Estos sistemas tratan de actuar como humanos; es

    decir, imitan el comportamiento humano; por ejemplo la ro!2ti&a . El estudio de c ó mo lograrque los computadores realicen tareas que, por el momento, los humanos hacen mejor.

    • Sistemas que piensan racionalmente.- Es decir, con l ó gica (idealmente), tratan de imitar oemular el pensamiento l ó gico racional del ser humano; por ejemplo los 'i'tema' e%perto' . Elestudio de los &3 &u o' que hacen posible per&i!ir , ra7onar y actuar.

    • Sistemas que act ú an racionalmente (idealmente).– Tratan de emular de forma racional el

    comportamiento humano; por ejemplo los a ente' inte i ente' .Est á relacionado conconductas inteligentes en arte$a&to' .

    Figura 4. Robot para realizar operaciones a traves de nanobots

    Escuelas de pensamiento

    La IA se divide en dos escuelas de pensamiento:

    • La inteligencia artificial convencional

    • La inte i en&ia &omputa&iona

    https://es.wikipedia.org/wiki/Red_neuronal_artificialhttps://es.wikipedia.org/wiki/Toma_de_decisioneshttps://es.wikipedia.org/wiki/Toma_de_decisioneshttps://es.wikipedia.org/wiki/Resoluci%C3%B3n_de_problemashttps://es.wikipedia.org/wiki/Aprendizajehttps://es.wikipedia.org/wiki/Rob%C3%B3ticahttps://es.wikipedia.org/wiki/Sistema_expertohttps://es.wikipedia.org/wiki/C%C3%A1lculohttps://es.wikipedia.org/wiki/C%C3%A1lculohttps://es.wikipedia.org/wiki/Percepci%C3%B3nhttps://es.wikipedia.org/wiki/Raz%C3%B3nhttps://es.wikipedia.org/wiki/Agente_inteligente_(inteligencia_artificial)https://es.wikipedia.org/wiki/Artefactohttps://es.wikipedia.org/wiki/Inteligencia_computacionalhttps://es.wikipedia.org/wiki/Inteligencia_computacionalhttps://es.wikipedia.org/wiki/Inteligencia_computacionalhttps://es.wikipedia.org/wiki/Red_neuronal_artificialhttps://es.wikipedia.org/wiki/Toma_de_decisioneshttps://es.wikipedia.org/wiki/Resoluci%C3%B3n_de_problemashttps://es.wikipedia.org/wiki/Aprendizajehttps://es.wikipedia.org/wiki/Rob%C3%B3ticahttps://es.wikipedia.org/wiki/Sistema_expertohttps://es.wikipedia.org/wiki/C%C3%A1lculohttps://es.wikipedia.org/wiki/Percepci%C3%B3nhttps://es.wikipedia.org/wiki/Raz%C3%B3nhttps://es.wikipedia.org/wiki/Agente_inteligente_(inteligencia_artificial)https://es.wikipedia.org/wiki/Artefactohttps://es.wikipedia.org/wiki/Inteligencia_computacional

  • 8/17/2019 Programacionde Robots y Lenguajes

    13/14

    4. PROGRAMACION DE ROBOTS Y LENGUAJES

    Inteligencia artificial convencional

    Se conoce tambi é n como IA simb ó lico-deductiva. Est á basada en el an á lisis formal y estad í stico

    del comportamiento humano ante diferentes problemas:

    • Ra7onamiento !a'a#o en &a'o' : Ayuda a tomar decisiones mientras se resuelven ciertosproblemas concretos y, aparte de que son muy importantes, requieren de un buen

    funcionamiento.

    • Si'tema' e%perto' : Infieren una soluci ó n a trav é s del conocimiento previo del contexto enque se aplica y ocupa de ciertas reglas o relaciones.

    • Re#e' !a"e'iana' : Propone soluciones mediante inferencia probabil í stica.

    • Inte i en&ia arti$i&ia !a'a#a en &omportamiento' : Esta inteligencia contiene autonom í a ypuede auto-regularse y controlarse para mejorar.

    • Smart pro&e'' mana ement : Facilita la toma de decisiones complejas, proponiendo unasoluci ó n a un determinado problema al igual que lo har í a un especialista en la dicha

    actividad.

    Inteligencia artificial computacional

    La Inteligencia Computacional (tambi é n conocida como IA subsimb ó lica-inductiva) implica

    desarrollo o aprendizaje interactivo (por ejemplo, modificaciones interactivas de los par á metros

    en sistemas conexionistas). El aprendizaje se realiza bas á ndose en datos emp í ricos. Aplicaciones de la inteligencia artificial

    Las t é cnicas desarrolladas en el campo de la inteligencia artificial son numerosas y ubicuas.

    Com ú nmente cuando un problema es resuelto mediante inteligencia artificial la soluci ó n es

    incorporada en á mbitos de la industria y de la vida diaria de los usuarios de programas de

    computadora, pero la percepci ó n popular se olvida de los or í genes de estas tecnolog í as que dejan

    de ser percibidas como inteligencia artificial. A este fen ó meno se le conoce como el e$e&to IA.

    • Lin 9 'ti&a &omputa&iona

    • Miner a #e #ato' (Data Mining)

    • In#u'tria e' .

    • Me#i&ina

    • Mun#o' 8irtua e'

    • Pro&e'amiento #e en ua/e natura (Natural Language Processing)

    https://es.wikipedia.org/wiki/Razonamiento_basado_en_casoshttps://es.wikipedia.org/wiki/Razonamiento_basado_en_casoshttps://es.wikipedia.org/wiki/Sistema_expertohttps://es.wikipedia.org/wiki/Red_bayesianahttps://es.wikipedia.org/w/index.php?title=Inteligencia_artificial_basada_en_comportamientos&action=edit&redlink=1https://es.wikipedia.org/w/index.php?title=Smart_process_management&action=edit&redlink=1https://es.wikipedia.org/w/index.php?title=Smart_process_management&action=edit&redlink=1https://es.wikipedia.org/wiki/Efecto_IAhttps://es.wikipedia.org/wiki/Ling%C3%BC%C3%ADstica_computacionalhttps://es.wikipedia.org/wiki/Miner%C3%ADa_de_datoshttps://es.wikipedia.org/wiki/Industrialeshttps://es.wikipedia.org/wiki/Medicinahttps://es.wikipedia.org/wiki/Mundo_virtualhttps://es.wikipedia.org/wiki/Procesamiento_de_lenguajes_naturaleshttps://es.wikipedia.org/wiki/Razonamiento_basado_en_casoshttps://es.wikipedia.org/wiki/Sistema_expertohttps://es.wikipedia.org/wiki/Red_bayesianahttps://es.wikipedia.org/w/index.php?title=Inteligencia_artificial_basada_en_comportamientos&action=edit&redlink=1https://es.wikipedia.org/w/index.php?title=Smart_process_management&action=edit&redlink=1https://es.wikipedia.org/wiki/Efecto_IAhttps://es.wikipedia.org/wiki/Ling%C3%BC%C3%ADstica_computacionalhttps://es.wikipedia.org/wiki/Miner%C3%ADa_de_datoshttps://es.wikipedia.org/wiki/Industrialeshttps://es.wikipedia.org/wiki/Medicinahttps://es.wikipedia.org/wiki/Mundo_virtualhttps://es.wikipedia.org/wiki/Procesamiento_de_lenguajes_naturales

  • 8/17/2019 Programacionde Robots y Lenguajes

    14/14

    4. PROGRAMACION DE ROBOTS Y LENGUAJES

    • Ro!2ti&a

    • Me&atr2ni&a

    • Sistemas de apoyo a la decisi ó n

    • Videojuegos

    • Prototipos inform á ticos

    • An á lisis de sistemas din á micos.

    • Smart Pro&e'' Mana ement

    • Simu a&i2n #e mu titu#e'

    Figura 5. Inteligencia artificial aplicada a los videojuegos

    BIBLIOGRAFIA

    http://www.inteligenciaartificialyrobotica.com/

    Te&no o a' #e a In$orma&i2n " #e a Comuni&a&i2n. Cap í tulo 6, Programaci ó n y control deprocesos. Juan A. Alonso, Santiago Blanco A., Santiago Blanco S., Roberto escribano, V í ctor R.

    Gonz á lez, Santiago Pascual, Amor Rodr í guez. Editorial Ra-Ma 2004.

    http://www.comoves.unam.mx/numeros/articulo/2/la-inteligencia-artificial-hacia-donde-nos-lleva

    https://es.wikipedia.org/wiki/Rob%C3%B3ticahttps://es.wikipedia.org/wiki/Ingenier%C3%ADa_mecatr%C3%B3nicahttps://es.wikipedia.org/w/index.php?title=Smart_Process_Management&action=edit&redlink=1https://es.wikipedia.org/wiki/Simulaci%C3%B3n_de_multitudeshttp://www.quadernsdigitals.net/index.php?accionMenu=hemeroteca.DescargaArticuloIU.descarga&tipo=PDF&articulo_id=7374&pagina_actual=https://es.wikipedia.org/wiki/Rob%C3%B3ticahttps://es.wikipedia.org/wiki/Ingenier%C3%ADa_mecatr%C3%B3nicahttps://es.wikipedia.org/w/index.php?title=Smart_Process_Management&action=edit&redlink=1https://es.wikipedia.org/wiki/Simulaci%C3%B3n_de_multitudeshttp://www.quadernsdigitals.net/index.php?accionMenu=hemeroteca.DescargaArticuloIU.descarga&tipo=PDF&articulo_id=7374&pagina_actual=