programacionde robots y lenguajes
TRANSCRIPT
-
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=