martes, 12 de noviembre de 2013

Programa Rbasic

Mediante un ciclo permita capturar las posiciones de los servos y que posteriormente repita la secuencia de las posiciones.

LET I=0
DELETE *
Inicio:
SERVO 0=@ 'soltando los servos
SERVO 1=@
PRINT " Captura posición de los Servos "
PRINT "================================="
PRINT " --> MUEVA LOS SERVOS Y DESPUÉS DIGITE LA OPCIÓN DESEADA"
PRINT "1. MOSTRAR LA POSICION DE LOS SERVOS"
PRINT "2. PARA CAPTURAR LA POSICION DE LOS SERVOS "
PRINT "0. PARA FINALIZAR LA CAPTURA"
LET C=$IR
IF C=12 THEN Mostrar
IF C=13 THEN Capturar
IF C=21 THEN Teclado
PRINT "Error opcion no valida"
GOTO Inicio

Mostrar:
LET A=$SERVO(0)  'asigna valor a la variable 
LET B=$SERVO(1)
PRINT  "servo 0 = [",A,"]"  'Muestra valor del servo 
PRINT  "servo 1 = [",B,"]"
GOTO Inicio

Capturar:
INSERT I,A 
LET I=I+1
INSERT I,B
LET I=I+1
PRINT @!:2
GOTO Inicio

Teclado:
PRINT "==> DIGITE EL TECLADO PARA DEFINIR SU OPCION"
PRINT "SI DIGITA S O s DEBE EJECUTAR LOS MOVIMIENTOS CAPTURADOS"
PRINT "SI DIGITA N O n DEBE CONTINUAR CON EL PASO SIGUIENTE"
LET T=$KBD
IF T = 83 or T = 115 THEN Ejecutar
IF T =110 or T=78 THEN Opcion
PRINT "error de tecla"
GOTO Teclado

Ejecutar:
PRINT "El arreglo es", @!:2
FOR X = 0 TO I [BY 2]
MOVE @{2,@![X],@![X+1]},10,1000
NEXT X

Opcion:
LET K=$KBD
PRINT "INDIQUE SU OPCION EN EL TECLADO"
PRINT "1.Ingresar nuevas posiciones"
PRINT "2.Terminar programa"
IF K = 49  THEN Inicio
IF K = 50 THEN Salir
PRINT "ERROR TECLA"
GOTO Opcion

Salir:
END


INTEGRANTES : Stefany Hurtado y Gisselle Encalada


lunes, 9 de septiembre de 2013

Control PID



Un PID es un mecanismo de control por realimentación que calcula la desviación o error entre un valor medido y el valor que se quiere obtener, para aplicar una acción correctora que ajuste el proceso. El algoritmo''' de cálculo del control PID se da en tres parámetros distintos: el proporcional, el integral, y el derivativo. El valor Proporcional determina la reacción del error actual. El Integral genera una corrección proporcional a la integral del error, esto nos asegura que aplicando un esfuerzo de control suficiente, el error de seguimiento se reduce a cero. El Derivativo determina la reacción del tiempo en el que el error se produce. La suma de estas tres acciones es usada para ajustar al proceso vía un elemento de control como la posición de una válvula de control o la energía suministrada a un calentador, por ejemplo. Ajustandestas tres variables en el algoritmo de control del PID, el controlador puede proveer un control diseñado para lo que requiera el proceso a realizar. La respuesta del controlador puede ser descrita en términos de respuesta del control ante un error, el grado el cual el controlador llega al "set point", y el grado de oscilación del sistema. Nótese que el uso del PID para control no garantiza control óptimo del sistema o la estabilidad del mismo. Algunas aplicaciones pueden solo requerir de uno o dos modos de los que provee este sistema de control. Un controlador PID puede ser llamado también PI, PD, P o I en la ausencia de las acciones de control respectivas. Los controladores PI son particularmente comunes, ya que la acción derivativa es muy sensible al ruido, y la ausencia del proceso integral puede evitar que se alcance al valor deseado debido a la acción de control.




Funcionamiento

Para el correcto funcionamiento de un controlador PID que regule un proceso o sistema se necesita, al menos:

  1. Un sensor, que determine el estado del sistema (termómetrocaudalímetro,manómetro, etc).
  2. Un controlador, que genere la señal que gobierna al actuador.
  3. Un actuador, que modifique al sistema de manera controlada (resistencia eléctrica, motor, válvula, bomba, etc).
El sensor proporciona una señal analógica o digital al controlador, la cual representa el punto actual en el que se encuentra el proceso o sistema. La señal puede representar ese valor en tensión eléctrica, intensidad de corriente eléctrica o frecuencia. En este último caso la señal es de corriente alterna, a diferencia de los dos anteriores, que también pueden ser con corriente continua.
El controlador lee una señal externa que representa el valor que se desea alcanzar. Esta señal recibe el nombre de punto de consigna (o punto de referencia), la cual es de la misma naturaleza y tiene el mismo rango de valores que la señal que proporciona el sensor. Para hacer posible esta compatibilidad y que, a su vez, la señal pueda ser entendida por un humano, habrá que establecer algún tipo de interfaz (HMI-Human Machine Interface), son pantallas de gran valor visual y fácil manejo que se usan para hacer más intuitivo el control de un proceso.
El controlador resta la señal de punto actual a la señal de punto de consigna, obteniendo así la señal de error, que determina en cada instante la diferencia que hay entre el valor deseado (consigna) y el valor medido. La señal de error es utilizada por cada uno de los 3 componentes del controlador PID. Las 3 señales sumadas, componen la señal de salida que el controlador va a utilizar para gobernar al actuador. La señal resultante de la suma de estas tres se llama variable manipulada y no se aplica directamente sobre el actuador, sino que debe ser transformada para ser compatible con el actuador utilizado.
Las tres componentes de un controlador PID son: parte Proporcional, acción Integral y acción Derivativa. El peso de la influencia que cada una de estas partes tiene en la suma final, viene dado por la constante proporcional, el tiempo integral y el tiempo derivativo, respectivamente. Se pretenderá lograr que el bucle de control corrija eficazmente y en el mínimo tiempo posible los efectos de las perturbaciones.


Proporcional


La parte proporcional consiste en el producto entre la señal de error y la constante proporcional para lograr que el error en estado estacionario se aproxime a cero, pero en la mayoría de los casos, estos valores solo serán óptimos en una determinada porción del rango total de control, siendo distintos los valores óptimos para cada porción del rango.

P_{\mathrm{sal}}=K_p\,{e(t)}


Integral

El modo de control Integral tiene como propósito disminuir y eliminar el error en estado estacionario, provocado por el modo proporcional.

I_{\mathrm{sal}}=K_{i}\int_{0}^{t}{e(\tau)}\,{d\tau}

Derivativo

La acción derivativa se manifiesta cuando hay un cambio en el valor absoluto del error; (si el error es constante, solamente actúan los modos proporcional e integral).

D_{\mathrm{sal}}=K_d\frac{de}{dt}
 

Ejemplos prácticos

 

Se desea controlar el caudal de un flujo de entrada en un reactor químico. En primer lugar se tiene que poner una válvula de control del caudal de dicho flujo, y un caudalimetro, con la finalidad de tener una medición constante del valor del caudal que circule. El controlador irá vigilando que el caudal que circule sea el establecido por nosotros; en el momento que detecte un error, mandará una señal a la válvula de control de modo que esta se abrirá o cerrará corrigiendo el error medido. Y tendremos de ese modo el flujo deseado y necesario. El PID es un cálculo matemático, lo que envía la información es el PLC.

Se desea mantener la temperatura interna de un reactor químico en su valor de referencia.

Se debe tener un dispositivo de control de la temperatura (puede ser un calentador, una resistencia eléctrica) y un sensor (termómetro). El P, PI o PID irá controlando la variable (en este caso la temperatura). En el instante que esta no sea la correcta avisará al dispositivo de control de manera que este actúe, corrigiendo el error. De todos modos, lo más correcto es poner un PID; si hay mucho ruido, un PI, pero un P no nos sirve mucho puesto que no llegaría a corregir hasta el valor exacto.
 

Aplicaciones y ejemplos


Un ejemplo muy sencillo que ilustra la funcionalidad básica de un PID es cuando una persona entra a una ducha. Inicialmente abre la llave de agua caliente para aumentar la temperatura hasta un valor aceptable (también llamado "Setpoint"). El problema es que puede llegar el momento en que la temperatura del agua sobrepase este valor así que la persona tiene que abrir un poco la llave de agua fría para contrarrestar el calor y mantener el balance. El agua fría es ajustada hasta llegar a la temperatura deseada. En este caso, el humano es el que está ejerciendo el control sobre el lazo de control, y es el que toma las decisiones de abrir o cerrar alguna de las llaves; pero no sería ideal si en lugar de nosotros, fuera una máquina la que tomara las decisiones y mantuviera la temperatura que deseamos?

Esta es la razón por la cual los lazos PID fueron inventados. Para simplificar las labores de los operadores y ejercer un mejor control sobre las operaciones. Algunas de las aplicaciones más comunes son:

  • Lazos de Temperatura (Aire acondicionado, Calentadores, Refrigeradores, etc.)
  • Lazos de Nivel (Nivel en tanques de líquidos como agua, lácteos, mezclas, crudo, etc.)
  • Lazos de Presión (para mantener una presión predeterminada en tanques, tubos, recipientes, etc.)

 

 






Bibliografía



viernes, 23 de agosto de 2013

Agentes autómatas

  
 Introducción 

En esta investigación conoceremos más acerca de agentes autómatas, compuertas lógicas  leyes de Morgan, mapas de Kargnaugh , como simular un circuito en worbench y memorias biestables. 

Agentes Autómatas


Introducción
La teoría de autómatas es el estudio de dispositivos de cálculo abstractos, es decir, de las “máquinas”. Antes de que existieran las computadoras, en la década de los años treinta, A. Turing estudió una máquina abstracta que tenía todas las capacidades de las computadoras de hoy día, al menos en lo que respecta a lo que podían calcular. El objetivo de Turing era describir de forma precisa los límites entre lo que una máquina de cálculo podía y no podía hacer; estas conclusiones no sólo se aplican a las máquinas abstractas de Turing, sino a todas las máquinas reales actuales.
En las décadas de los años cuarenta y cincuenta, una serie de investigadores estudiaron las máquinas más simples, las cuales todavía hoy denominamos “autómatas finitos”. Originalmente, estos autómatas se propusieron para modelar el funcionamiento del cerebro y, posteriormente, resultaron extremadamente útiles para muchos otros propósitos.

 Autómata finito
Se define en términos de sus estados, la entrada que acepta y su reacción ante la misma. Hay autómatas finitos de 2 tipos: Deterministas y no Deterministas, dependiendo de cómo se defina la capacidad para cambiar el estado.

Funcionamiento de los autómatas finitos Deterministicos (AFD).
Consiste en ir pasando de un estado a otro, a medida que va recibiendo los caracteres de la palabra de entrada. Simplemente hay que pasar de estado a estado siguiendo las flechas de transiciones para cada carácter de la palabra de entrada, empezando por el estado inicial. Este proceso puede llevarse a cobo en los diagramas de estado y el camino recorrido se visualiza como una trayectoria.


Autómata Finito Determinista (AFD)
Es una quíntupla D = (Q; Σ; δ;s; F ) donde:
Q es un conjunto finito de estados.
Σ es un alfabeto de finito.
δ es una función de transición, finita.
s es el estado inicial.
F es una colección de estados finales o de aceptación.

Autómata Finitos No Deterministicos (AFND)

Hay dos formas posibles de entender como funciona un AFND.
La primera es pensar que cuando hay varias alternativas, el AFND elige una de ellas. Si existe una forma de elegir el siguiente estado que me lleve finalmente a aceptar la cadena, entonces el AFND  la aceptaría.
La segunda forma es imaginarse que el AFND esta en varios estados a la vez ( en todos en los que "puede estar" de acuerdo a la primera visión). Si luego leer la cadena puede estar en un estado final, acepta la cadena. En cualquier caso, es bueno por un rato no pensar en como implementar un AFND.

Una libertad adicional que permitiremos en los AFNDs es la de rotular las transiciones
con cadenas, no sólo con caracteres. Tal transición se puede seguir cuando los caracteres de
la entrada calzan con la cadena que rotula la transición, consumiendo los caracteres de la
entrada. Un caso particularmente relevante es el de las llamadas transiciones-ε, rotuladas
por la cadena vacía. Una transición-ε de un estado p a uno q permite activar q siempre que
se active p, sin necesidad de leer ningún carácter de la entrada.

Autómata Finito Determinista (AFND)
Es una quíntupla D = (Q; Σ; δ;s; F ) donde:
Q es un conjunto finito de estados.
Σ es un alfabeto de finito.
δ es una función de transición, finita.
s es el estado inicial.
F es una colección de estados finales o de aceptación.



Compuertas Lógicas
Las compuertas lógicas son dispositivos que operan con aquellos estados lógicos mencionados en la página anterior y funcionan igual que una calculadora, de un lado ingresas los datos, ésta realiza una operación, y finalmente, te muestra el resultado.


 
Cada una de las compuertas lógicas se las representa mediante un Símbolo, y la operación que realiza (Operación lógica) se corresponde con una tabla, llamada Tabla de Verdad.
 Compuerta NOT
Se trata de un inversor, es decir, invierte el dato de entrada, por ejemplo; si pones su entrada a 1 (nivel alto) obtendrás en su salida un 0 (o nivel bajo), y viceversa. Esta compuerta dispone de una sola entrada. Su operación lógica es s igual a  a invertida


Compuerta AND
Una compuerta AND tiene dos entradas como mínimo y su operación lógica es un producto entre ambas, no es un producto aritmético, aunque en este caso coincidan.

*Observa que su salida será alta si sus dos entradas están a nivel alto*


Compuerta OR
Al igual que la anterior posee dos entradas como mínimo y la operación lógica, será una suma entre ambas... Bueno, todo va bien hasta que 1 + 1 = 1, el tema es que se trata de una compuerta O Inclusiva es como a y/o b.

*Es decir, basta que una de ellas sea 1 para que su salida sea también 1*


 Compuerta OR-EX o XOR
Es OR EXclusiva en este caso con dos entradas (puede tener mas entradas) y lo que hará con ellas será una suma lógica entre a por b invertida y a invertida por b.

*Al ser O Exclusiva su salida será 1 si una y sólo una de sus entradas es 1*

Leyes de Morgan
Son una parte de la Lógica proposicional, analítica ,y fueron creada por Augustus de Morgan; estas declaran las reglas de equivalencia en las que se muestran que dos proposiciones pueden ser lógicamente equivalentes.

Las Leyes de Morgan permiten:

El cambio del operador de conjunción en operador de disyunción y viceversa.  Las proposiciones conjuntivas o disyuntivas a las que se aplican las leyes de Morgan pueden estar afirmadas o negadas (en todo o en sus partes).
Casos:

¬(P ^ Q) ≡ (¬P v ¬Q)

Si nos encontramos con una proposición conjuntiva totalmente negada, la ley de Morgan nos permite transformarla en una proposición disyuntiva con cada uno de su miembros negados

¬(P v Q) ≡ (¬P ^ ¬Q)

Si nos encontramos con una proposición disyuntiva totalmente negada, la ley de Morgan nos permite transformarla en una proposición conjuntiva con cada uno de sus miembros negados

(P ^ Q) ≡ ¬ (¬ P v ¬ Q)

Si nos encontramos con una proposición conjuntiva afirmada, la ley de Morgan nos permite transformarla en una proposición disyuntiva negada en su totalidad y en sus miembros.

(P v Q) ≡ ¬(¬P ^ ¬Q)

Si nos encontramos con una proposición disyuntiva afirmada, la ley de Morgan nos permite transformarla en una proposición conjuntiva negada en su totalidad y en sus miembros.


 Mapas de Kargnaugh
Un mapa de Kargnaugh se conoce  como tabla de Kargnaugh o  diagrama de Veitch(abreviado mapa-K o mapa-KV) es un diagrama utilizado para la simplificación de funciones algebraicas Booleanas; este mapa fue inventado en 1950 por Maurice Kargnaugh.
Las variables de entrada pueden combinarse de 16 formas diferentes, por lo que el mapa de Kargnaugh tendrá 16 celdas, distribuidas en una cuadricula de 4 × 4.

La combinación de dígitos binarios en el mapa representa el resultado de la función por cada combinación de entradas. Por ejemplo, la celda en la esquina superior izquierda del mapa es 0, porque el resultado de la función es ƒ = 0 cuando A = 0, B = 0, C = 0, D = 0. De igual manera, la esquina inferior derecha es 10 porque el resultado de la función es ƒ = 10 cuando A = 1, B = 0, C = 1, D = 0. Una vez construido el mapa de Kargnaugh, la siguiente tarea es la de seleccionar conjunto de términos denominados subcubos de manera que se obtenga el menor número de subcubos posible. Estos subcubos se seleccionan formando grupos de rectángulos que encierren a los unos del mapa, las áreas deben ser potencia de 2 (ej. 1, 2, 4, 8, ...) y se debe tratar de agrupar el mayor número de unos posible. En resumen hay que tomar en cuenta al hacer estos grupos de unos (subcubos) lo siguiente:

  • Debemos utilizar todos los unos del mapa.
  • Es mejor crear el menor numero de grupos.
  • Los unos pueden estar en varios grupos.
  • El número de unos dentro de un grupo debe de ser cualquier potencia de 2.
  • Mientras más grande sea un grupo la simplificación de la función será mejor.
  • No es necesario que todos los grupos tengan el mismo tamaño.


Construcción del mapa-K.
Las variables de entrada pueden combinarse de 16 formas diferentes, por lo que el mapa de Kargnaugh tendrá 16 celdas.


Como simular un circuito en Workbench

Memorias Biestables.
Un biestable, también llamado báscula (flip-flop en inglés), es un multivibrador capaz de permanecer en un estado determinado o en el contrario durante un tiempo indefinido. Esta característica es ampliamente utilizada en electronica digital para memorizar información. El paso de un estado a otro se realiza variando sus entradas. Dependiendo del tipo de dichas entradas los biestables se dividen en asíncronos y síncronos.
La principal diferencia es que el asíncrono solo tiene entradas de control, sin embargo el síncrono dispone además de una entrada para sincronismo o reloj. Si las entradas de control dependen de la de sincronismo se denominan síncronas y en caso contrario asíncronas. Por lo general, las entradas de control asíncronas prevalecen sobre las síncronas.  La entrada de sincronismo puede ser activada por nivel (alto o bajo) o por flanco (de subida o de bajada). Dentro de los biestables síncronos activados por nivel están los tipos RS yD, y dentro de los activos por flancos los tipos JK,T y D.
Un biestable puede usarse para almacenar un bit. La información contenida en muchos biestables puede representar el estado de un secuenciador, el valor de un contador, un carácter ASCII en la memoria de un ordenador, o cualquier otra clase de información. Un uso corriente es el diseño de maquinas de estado finitas electrónicas. Los biestables almacenan el estado previo de la máquina que se usa para calcular el siguiente.
El T es útil para contar. Una señal repetitiva en la entrada de reloj hace que el biestable cambie de estado por cada transición alto-bajo si su entrada T está a nivel 1. La salida de un biestable puede conectarse a la entrada de reloj de la siguiente y así sucesivamente. La salida final del conjunto considerado como una cadena de salidas de todos los biestables es el conteo en codigo binario del número de ciclos en la primera entrada de reloj hasta un máximo de 2n-1, donde n es el número de biestables usados. Una cadena de biestables T como la descrita anteriormente también sirve para la división de la frecuencia de entrada entre 2n, donde n es el número de biestables entre la entrada y la última salida.


Conclusión


El mapa

El mapa de Kargnaugh,  podría considerarse como una especie de tabla de la verdad. Su gran utilidad radica en la posibilidad de minimizar expresiones booleanas.
Las compuertas lógicas son dispositivos electrónicos muy sencillos, pero al mismo tiempo son muy utilizados en el área de la automatización industrial. 

             Bibliografía
 


martes, 13 de agosto de 2013

Robot

 Introducción




En esta investigación conoceremos más acerca de que es un robot , de su historia y de la evolución que ha tenido en el tiempo hasta la actualidad. Además cuando se piensa en la palabra robot a todos nos llega a la imaginación de mecanismos generalmente antropomórficos con prestaciones sobrehumanas, a veces malignos, maquiavélicos, otras veces simpáticos y serviciales, e incluso una herramienta domestica maravillosa que nos libera de todos los trabajos pesados y rutinarios del hogar o el trabajo. 


Definición de un robot


Un robot es una entidad virtual o mecánica artificial. En la práctica, esto es por lo general un sistema electromecánico que, por su apariencia o sus movimientos, ofrece la sensación de tener un propósito propio. La independencia creada en sus movimientos hace que sus acciones sean la razón de un estudio razonable y profundo en el área de la ciencia y tecnología.

Historia de la robótica
Por siglos, el ser humano ha construido máquinas que imitan partes del cuerpo humano. Los antiguos egipcios unieron brazos mecánicos a las estatuas de sus dioses; los griegos construyeron estatuas que operaban con sistemas hidráulicos, los cuales eran utilizados para fascinar a los adoradores de los templos.
El inicio de la robótica actual puede fijarse en la industria textil del siglo XVIII, cuando Joseph Jacquard inventa en 1801 una máquina textil programable mediante tarjetas perforadas. Luego, la Revolución Industrial impulsó el desarrollo de estos agentes mecánicos. Además de esto, durante los siglos XVII y XVIII en Europa fueron construidos muñecos mecánicos muy ingeniosos que tenían algunas características de robots. Jacques de Vauncansos construyó varios músicos de tamaño humano a mediados del siglo XVIII.En 1805, Henri Maillardert construyó una muñeca mecánica que era capaz de hacer dibujos.


La palabra robot se utilizó por primera vez en 1920 en una obra llamada "Los Robots Universales de Rossum", escrita por el dramaturgo checo Karel Capek. Su trama trataba sobre un hombre que fabricó un robot y luego este último mata al hombre. La palabra checa 'Robota' significa servidumbre o trabajado forzado, y cuando se tradujo al ingles se convirtió en el término robot.
Luego, Isaac Asimov comenzó en 1939 a contribuir con varias relaciones referidas a robots y a él se le atribuye el acuñamiento del término Robótica y con el surgen las denomidas "Tres Leyes de Robótica" que son las siguientes:
  1. Un robot no puede actuar contra un ser humano o, mediante la inacción, que un ser humano sufra daños.

  2. Un robot debe de obedecer las ordenes dadas por los seres humanos, salvo que estén en conflictos con la primera ley.

  3. Un robot debe proteger su propia existencia, a no ser que esté en conflicto con las dos primeras leyes


En 1960 se introdujo el primer robot "Unimate'', basada en la transferencia de artículos.
En 1961 Un robot Unimate se instaló en la Ford Motors Company para atender una máquina de fundición de troquel.
En 1966 Trallfa, una firma noruega, construyó e instaló un robot de pintura por pulverización.
En 1971 El "Standford Arm'', un pequeño brazo de robot de accionamiento eléctrico, se desarrolló en la Standford University.
En 1978 Se introdujo el robot PUMA para tareas de montaje por Unimation, basándose en diseños obtenidos en un estudio de la General
Motors.


Actualmente, el concepto de robótica ha evolucionado hacia los sistemas móviles autónomos, que son aquellos que son capaces de desenvolverse por sí mismos en entornos desconocidos y parcialmente cambiantes sin necesidad de supervisión. En los setenta, la nasa inicio un programa de cooperación con el Jet Propulsión Laboratory para desarrollar plataformas capaces de explorar terrenos hostiles.


En general la historia de la robótica la podemos clasificar en cinco generaciones :las dos primeras, ya alcanzadas en los ochenta, incluían la gestión de tareas repetitivas con autonomía muy limitada. La tercera generación incluiría visión artificial, en lo cual se ha avanzado mucho en los ochenta y noventas. La cuarta incluye movilidad avanzada en exteriores e interiores y la quinta entraría en el dominio de la inteligencia artificial en lo cual se esta trabajando actualmente.


Tipos de Robots

Androides: Robots con forma humana. Imitan el comportamiento de las personas, su utilidad en la actualidad es de sólo experimentación. El principal limitante de este tipo de robots es la implementación del equilibrio ya que es bípedo.

Móviles: Se desplaza mediante una plataforma rodante(ruedas); estos modelos aseguran el transporte de piezas de un lugar a otro.

Zoomórficos: Sistema de locomoción imitando a los animales.La aplicación de estos robots sirve principalmente para el estudio de volcanes y exploración espacial.

Poliarticulados: Mueven sus extremidades con pocos grados de libertad. Su principal utilidad es industrial, para desplazar elementos que requieren cuidados.



Robot en la actualidad


Hoy en día la información y avances tecnológicos  sobre los robots son cada vez más comunes y más frecuentes. El caso  más importante y conocido  es el robot  Curiosity utilizado por la NASA para la exploración del planeta Marte.







Además hay otros casos importantes como por ejemplo: 

Robot Kirobo

Kirobo, el primer robot humanoide en viajar al espacio.





Robot con aspecto humano

El robot Bender puede demostrar emociones, mueve los ojos, labios, detecta y reconoce personas e incluso responde cuando le hablan.

Aplicaciones de la Robótica

Los robots son muy útiles en muchas áreas:
  • En la industria se utilizan para hacer trabajos peligrosos como soldaduras de arco, de punto o implementación de sustancias inhalantes nocivas. También se usan para aplicar pintura en spray, transporte pesado, molienda de materiales o moldeado en plástico.
  • En los Laboratorios médicos se utilizan para realizar tareas repetitivas de medición de peso, cantidad de materia, pH, etc. Los robots presentan tres ventajas sobre el trabajo humano: mayor productividad, mayor control de calidad y reducción de exposición humana a sustancias dañinas.
  • El Instituto de Investigación Australiano ha invertido mucho dinero en fabricar robots para la agricultura; produjo uno que esquila ovejas, y otro que realiza los cortes de los cerdos.
  • En la actividad de investigación del espacio se han utilizado y se utilizan robots, la información que se recoge de los planetas con las sondas no tripuladas como la Galileo, que investigó Júpiter; son producto de mediciones de robots.

Conclusión

Bueno la robótica no es más que la ciencia detrás de lo que son los robots ,ya sea, en su diseño, funcionamiento, producción y  programación . Además la robótica hoy en día se ha vuelto muy popular y es utilizada mayormente para llevar a cabo las tareas que los seres humanos no quieren realizar, es decir, porque son peligrosas y desagradables.
Por último para el futuro la robótica se convertirá en una necesidad para la sociedad.

Bibliografía

http://www.emol.com/noticias/nacional/2013/08/11/614056/robot-con-aspecto-humano-es-uno-de-los-atractivos-de-feria-tecnologica-de-osorno.html?utm_source=twitter&utm_medium=tweets

http://es.wikipedia.org/wiki/Curiosity

http://www.argos.edu.uy/alumnos/2007/robotica/Aplicaciones.htm

http://www.slideshare.net/hilariozaguilar/tipos-de-robots-8229707

martes, 2 de julio de 2013

Búsqueda informada

Introducción

Búsqueda ciega o no informada (anchura, profundidad): no cuenta con ningún conocimiento sobre cómo llegar al objetivo.

Búsqueda informada: aplicar conocimiento al proceso de búsqueda para hacerlo más eficiente.

El conocimiento vendrá dado por una función que estima la “bondad” de los estados:

Dar preferencia a los estados mejores.

Ordenando la cola de ABIERTOS, comparando su bondad estimada.

Objetivo: reducir el árbol de búsqueda, ganando eficiencia en la práctica.


Heurística



Del griego heuriskein, descubrir: ¡Eureka!

Según la RAE: “técnica de la indagación y del descubrimiento”.

Otro significado: método para resolver problemas que no garantiza la solución, pero que en general funciona bien.

En nuestro caso, una heurística será una función numérica sobre los estados.

Características:
- Esta función de evaluación se utiliza para guiar el proceso haciendo que en cada momento se seleccione el estado o las operaciones más prometedoras.
- No siempre se garantiza encontrar una solución (si existe).
-No siempre se garantiza encontrar la solución más próxima (la que tenga el número menor de operaciones).

Como por ejemplo:



Búsqueda A*: minimizar el costo estima total de la solución



La forma más ampliamente conocida de la búsqueda  primero el mejor se le llama búsqueda A* conocida como “Búsqueda A-estrella”; la cual evalúa los nodos combinando g(n) y h(n) de la siguiente manera:

f(n)=g(n)+h(n)

g(n) significa el coste para alcanzar el nodo; lo que quiere decir que nos da el coste de camino desde el nodo inicial al nodo n y h(n)=significa el coste de ir al nodo objetivo, es decir, el coste estimado del camino más barato desde n hasta el objetivo.

f(n)=coste más barato estimado de la solución a través de n.

De esta manera se trata de encontrar la solución más barata y es razonble intentar primero el nodo con el valor más bajo de g(n).
Cabe mencionar que esta estrategia resulta ser más que razonable con tal que la funcion heurística h(n) satisfaga cierta condiciones; la búsqueda A* compleja como optima, la optimalidad de A* es sencilla de analizar si se usa con la búsqueda de árboles.
A* es óptima si h(n) es una heurística admisible, es decir, con tal de que la h(n) nunca sobrestime el coste de alcanzar el objetivo. Como g(n) es el coste exacto para alcanzar n, tenemos como consecuencia inmediata que la f(n) nunca sobrestime el coste verdadero de una solución a través de n.
Como por ejemplo:





En el ejemplo de la figura, se ha superpuesto una rejilla para estimar distancias. Supóngase que se quiere determinar el camino óptimo entre A y F. Inicialmente, se toma el origen y se coloca en la lista Abierta.
El nodo A pasa a lista cerrada y se pasan a la lista Abierta los conectados con el (B y C), asignándoles valores R, E y punteros al antecesor (A).
Se selecciona el de menor valor T de la lista Abierta (C) y se pasa a lista cerrada. Los conectados con el (D y E) se pasan a Abierta, asignándoles valores R, E y punteros al antecesor (C).

Se selecciona el de menor valor T de la lista Abierta (B) y se pasa a lista cerrada. Los conectados con el (D y E) no se pasan a Abierta, pues el valor T es mayor que los ya existentes.

Se selecciona el de menor valor T de la lista Abierta (D) y se pasa a lista cerrada. Sólo se pasa el nodo F a Abierta, pues B está ya en cerrada.
Se selecciona el de menor valor T de la lista Abierta (F) y se pasa a lista cerrada. Como es el nodo destino, se acaba el proceso.
Ahora, se puede recuperar el camino óptimo retrocediendo desde el nodo F mediante los punteros.



Búsqueda IDA*


Es de tipo de algoritmos de búsqueda heurística con limitación de memoria. Los más utilizados son el IDA* (Iterative Deepening A*), y SMA* (Simplified memory A*).
El IDA* (Iterative-Deepening A*) es al igual que el DFID un algoritmo basado en la profundización iterativa. La única diferencia entre ambos algoritmos estriba en que mientras el DFID se basa en la profundidad para cada una de sus iteraciones, el IDA se basa en la información heurística que posee para determinar el siguiente límite de la iteración. El tratamiento de esa información se realiza de igual forma que en el algoritmo del A*, o sea mediante la función de evaluación f introducida anteriormente. El funcionamiento del algoritmo es el siguiente:

En cada iteración el algoritmo realiza una búsqueda en profundidad hasta donde se lo permita su límite de coste. Cada vez que se visita todo el grafo de búsqueda contenido dentro de ese límite sin hallar la solución entonces, el algoritmo incrementa el límite de coste. Ese nuevo límite viene dado por el menor de los límites de corte, o sea, por el menor valor del coste de los nodos que tenían un valor superior en la anterior iteración.

Este algoritmo se considera limitado en profundidad, aunque esta afirmación no sea estrictamente cierta. La razón de ello viene dado por su eficacia en cuanto al uso de memoria pero en su funcionamiento no realiza un control estricto de la memoria.

Características de IDA*


IDA* es un método de búsqueda completo y óptimo, lo que quiere decir que siempre encuentra una solución si es que ésta existe y además garantiza encontrar la mejor solución de entre todas las posibles.

 Este método tiene las mismas ventajas y desventajas que A*, excepto en lo referente al coste espacial. En este aspecto IDA* presenta notables ventajas ya que únicamente necesita un espacio proporcional a la longitud de la ruta más larga que se explore. 

Esta limitación en el uso de la memoria resulta beneficiosa pero también tiene sus desventajas, ya que al convertir la búsqueda de la solución en un proceso iterativo expandiremos varias veces los mismos nodos. Esto es algo muy a tener en cuenta, ya que dependiendo de las características de los problemas a resolver obtendremos mejores o peores prestaciones.

En el mejor caso el coste temporal de IDA* puede ser muy similar al de A*, e incluso menor, ya que al ser un algoritmo simple y no necesitar de inserciones, borrados y reordenamientos en listas de prioridades tiene una menor sobrecarga por nodo. Este mejor caso ocurrirá cuando tengamos un problema en el que las heurísticas adopten valores aproximados al coste real desde el comienzo de la ejecución, ya que entonces se realizarán pocas iteraciones, expandiendo además pocos nodos en las iteraciones iniciales. Podemos asociar este caso con el problema del 8-puzzle cuando se usa la heurística de distancias.

En el peor caso el coste temporal de IDA* se acerca al de un algoritmo de profundización iterativa habitual como el IDS (Iterative Deepening Search), es decir, en cada iteración se profundiza únicamente un nivel más en el árbol. Esto ocurre en problemas en los que los valores heurísticos son poco acertados, lo que provoca que en cada iteración aumentemos el contorno en sólo uno o dos niveles.


Como por ejemplo:

Conclusión      



Por lo visto en este capítulo  podemos concluir que la utilización de métodos de búsqueda respaldados con información, presenta nuevos problemas para la elección del método de búsqueda mas adecuado para un problema, ya que, no solo debemos tener en cuenta  el método de búsqueda sino que también se debe confeccionar correctamente una heurística eficiente.

El valor devuelto debe resultar útil y correcto ya que, aunque eligiéramos el mejor método si la heurística falla podríamos no arribar a la solución.
También podemos concluir que en algunos casos se pueden combinar métodos de búsqueda para así llegar a una función óptima.