El modelo del entorno es la representación que tiene el robot de los
objetos con los que interacciona. Normalmente este modelo se limita a
características geométricas: posición y orientación de los objetos, y en
ocasiones a su forma, dimensiones, peso, etc.
Opportunity NASA. |
Para definir la posición y orientación de los objetos del modelo, lo
más frecuente es asignar a cada objeto de manera solidaria un sistema de
referencia, de manera que la posición y orientación de este sistema referidos a
un sistema base, normalmente denominado sistema del mundo, definen de manera
única a las del objeto.
Algunos modelos del entorno permiten establecer relaciones entre
objetos. Estas establecen la posible unión física entre los objetos. Dos
objetos pueden ser independientes (el movimiento de uno no afecta al otro) ,
tener dependencia de unión rígida (el movimiento de uno implica el movimiento
del otro y viceversa) o tener una dependencia de unión no rígida (el movimiento
de uno implica el de otro pero no al revés). Este modelo relacional, una vez
definido es actualizado de manera automática durante la ejecución del programa
mediante la estructura arborescente simplificando notablemente la tarea del
programador.
Control del movimiento del robot
Indudablemente, un método de programación de robots debe incluir la
posibilidad de especificar el movimiento del robot. Además del punto de
destino, puede ser necesario especificar el tipo de trayectoria espacial que
debe ser realizada, la velocidad media del recorrido o la precisión con que se
debe alcanzar el punto de destino. Incluso en ocasiones puede ser necesario
indicar si el movimiento debe realizarse en cualquier caso o debe estar
condicionado a algún tipo de circunstancia, procedente, por ejemplo de la
medida proporcionada por un sensor.
Las trayectorias de un robot pueden ser punto a punto, coordinadas o
trayectoria continua, englobando este último caso la línea recta, interpolación
circular y otras.
En cuanto a la especificación de la velocidad, suele ser frecuente
indicarla en la en la propia instrucción de movimiento como tanto por ciento de
una velocidad base definida aparte. De este modo se facilita la alteración de
la velocidad de todo tipo de programa o de una parte de él sustituyendo una
única instrucción.
En muchas ocasiones, el movimiento del robot en un entorno con
obstáculos obliga a la utilización de una trayectoria en línea recta, para así
asegurar que el robot no colisione con ninguno de ellos. No obstante, muchos
sistemas de programación disponen de los denominados puntos de paso o via
points, para resolver este tipo de situaciones. El modo en que una determinada
configuración (posición y orientación) se define como punto de paso, está
relacionado con la especificación de la precisión con que se desea que el robot
alcance dicho punto.
El control (cinemático-dinámico) del robot, recibe las referencias de
posición procedentes del programa, no admitiendo una nueva referencia hasta que
el extremo del robot no alcanza la referencia en vigor con la precisión
indicada. De este modo, si la precisión con la que se desea alcanzar una
determinada configuración se define como baja, el extremo del robot se
encaminará hacia la configuración siguiente sin haber llegado a la anterior y
sin tener que disminuir apenas su velocidad a costa de perder una precisión
innecesaria en esos puntos de paso.
Se ha de tener en cuenta también la posibilidad de que el robot al
recorrer la trayectoria generada tenga que pasar por un punto singular, ya sea
porque los valores de sus ejes no estén definidos de forma biunívoca o porque alguno de ellos
deba alcanzar una velocidad excesiva para mantener la posición, orientación y
velocidad deseadas en el extremo. Algunos sistemas permiten especificar qué
tipo de interpolación se debe utilizar de forma general durante la ejecución de
una trayectoria cuando se ha de pasar por estos puntos singulares.
La consideración de las señales captadas por los sensores de la
especificación de los movimientos del robot, puede hacerse a varios niveles.
Una primera posibilidad responde a la interrupción del movimiento del robot por
verificarse algún tipo de condición externa programada. Esta posibilidad se
suele denominar movimiento protegido o monitorizado (guarded motions).
La segunda alternativa implica la modificación del movimiento, en
cuanto a la situación de destino o velocidad, según la información captada del
entorno. De este modo el movimiento del
extremo del robot queda alterado, adaptándose a las necesidades de un entorno
cambiante o parcialmente indeterminado. Estos movimientos se conocen como
acomodaticios (compliant motions). En la práctica los movimientos monitorizados se implementan mediante el uso
de interrupciones, mientras que los acomodaticios se realizan mediante el uso
de funciones especiales.
Control de flujo de ejecución de un programa
Al igual que cualquier lenguaje de programación de propósito general,
un lenguaje de programación de robots ha de permitir al programador especificar
de alguna manera un flujo de ejecución de operaciones. Se emplean para ello las
estructuras habituales de bucles (for, repeat, while, etc). También es de
especial importancia la capacidad de procesamiento en paralelo, tanto para el
control de varios robots trabajando conjuntamente bajo las órdenes de un solo
programa, como para el control de un único robot en una celda de trabajo cuyos
equipos se encuentran igualmente bajo el control del programa robot. Se emplean
para ello señales de sincronismo basadas en semáforos y ejecución de tareas en
paralelo.
Es importante para la mayoría de las aplicaciones el tener un control
de instrucciones mediante las que distintos
equipos en funcionamiento puedan interaccionar con el robot. Se debe poder
fijar la prioridad en el tratamiento de las mismas, así como activarlas y
desactivarlas durante la ejecución de diversas fases del programa.
No hay comentarios:
Publicar un comentario