Está en la página 1de 23

UNIVERSIDAD TECNOLÓGICA BOLIVIANA

CARRERA DE INGENIERÍA ELECTRÓNICA

PROGRAMACION DE ROBOTS

UNIVERSITARIOS:

AHDEMAR WILMER ZEGARRA FLORES


RAUL CONDORI YUCRA
JUAN CARLOS GUTIERREZ CONDORI
DANIEL MAMANI QUISPE
YANNICK EVAL BERRIOS MARQUEZ

DOCENTE:
ING. FELIX PINTO MACEDO

LA PAZ – BOLIVIA

2014
1

PROGRAMACIÓN DE ROBOTS

Un robot industrial es básicamente un manipulador multifuncional


reprogramable, lo cual permite su adaptación de manera rápida y
económica a diferentes aplicaciones. La programación de un robot se
puede definir como el proceso mediante el cual se le indica a éste la
secuencia de acciones que deberá llevar a cabo durante la realización de
su tarea. Estas acciones consisten generalmente en moverse a puntos
predefinidos y manipular objetos del entorno.

Durante la ejecución de un programa se interacciona con la memoria del


sistema, leyendo y actualizando el contenido de las variables utilizadas en
el programa:

 Con el sistema de control cinemático y dinámico del robot,


encargados de dar la señal de mando a los accionamientos del robot
a partir de las especificaciones del movimiento que se les
proporciona.
 Con las entradas-salidas del sistema, logrando la sincronización del
robot con el resto de las máquinas y elementos componen su
entorno.

Por lo tanto, el sistema de programación es la herramienta con la cual el


usuario puede acceder a las diversas prestaciones del robot.

 MÉTODOS DE PROGRAMACIÓN

Programar un robot consiste en indicar paso por paso las diferentes


acciones (moverse a un punto, abrir o cerrar la pinza, etc.) que éste
deberá realizar durante su funcionamiento, la flexibilidad en la aplicación
del robot y, por lo tanto, su utilidad van a depender en gran parte de las
características de su sistema de programación.

Actualmente no existe normalización en relación a los procedimientos de


programación de robots, cada fabricante desarrolla su método particular,
el cual es válido solamente para sus propios robots. Sin embargo, algunos
han servido de modelo para el desarrollo de otros, por ejemplo: el
lenguaje AL (Finkel-74).

Existen varios criterios para clasificar los métodos de programación.


Algunos lo hacen según la potencia del método, y otras lo hacen según el
sistema utilizado para indicar la secuencia de acciones a realizar, éste
2

último es el más ilustrativo al momento de dar a conocer las alternativas


existentes para programar un robot.

 Según este último criterio, un robot puede ser programado por:

1. Programación por guiado.

2. Programación Textual.

1. Programación por Guiado

La programación por guiado o aprendizaje consiste en hacer realizar al


robot, o a una maqueta del mismo, la tarea, registrando las
configuraciones adoptadas para su posterior repetición en forma
automática.

Para guiar al robot por los puntos deseados se utilizan distintas soluciones:

 1.1 Guiado Pasivo: Si los actuadores del robot están desconectados y el


programador aporta en forma directa la energía para mover el robot, se
habla de un guiado pasivo.

 Existe el guiado pasivo directo y el guiado pasivo por maniquí.

 Guiado Pasivo Directo: En este caso, el programador puede tomar el


extremo del robot y llevarlo hasta los puntos deseados a través de las
trayectorias más adecuadas. La unidad de control del robot registra de
manera automática la señal de los sensores de posición de las
articulaciones en todos los puntos recorridos. Un ejemplo es el caso de los
robots de pintura de la firma Gaiotto, los cuales fueron programados con
este procedimiento.

Guiado Pasivo por Maniquí: La dificultad física de mover toda la estructura


del robot se resuelve a través de este procedimiento. En este caso se
dispone de un doble del robot, mientras que éste permanece fuera de
línea. El doble posee una configuración idéntica que el robot real, pero es
mucho más ligero y fácil de mover. La programación se realiza llevando de
la mano a este doble, mientras que la unidad de control muestrea y
almacena con cierta frecuencia los valores que toman los sensores de
posición de las articulaciones, para su posterior repetición por el robot. Un
ejemplo es el caso de los robots de pintura fabricados por Nordson, los
cuales son programados utilizando este procedimiento.
3

1.2 Guiado activo: Esta posibilidad permite emplear el propio sistema de


accionamiento del robot, controlado desde una botonera o bastón de
mando (conocido como joystick) para que sea éste el que mueva sus
articulaciones.

Ejemplos de este tipo se encuentran en los robots de ABB (ARLA) o en los


Cincinnati Milacron (T3).

Atendiendo a la potencia del sistema, se habla de guiado básico y guiado


extendido.

Guiado Básico: El robot es guiado por los puntos por los cuales se desea
que pase durante la fase de ejecución automática del programa. Durante
ésta, la unidad de control interpola dichos puntos según determinadas
trayectorias. Muchas veces no es posible incluir ningún tipo de estructuras
de control dentro del programa, por lo que los puntos son recorridos
siempre secuencialmente, en el mismo orden que se programaron. Un
ejemplo de este tipo de programación es la utilizada en casi todos lo
robots de pintura, donde la unidad de control muestrea automáticamente
los puntos recorridos por el robot con una frecuencia muy alta.

Guiado Extendido: Permite especificar, junto a los puntos por los que
deberá pasar el robot, datos relativos a la velocidad, tipo de trayectoria,
precisión con la que se quiere alcanzar los puntos, control del flujo del
programa, atención a entradas/salidas binarias, etc. En este caso, el
método guiado de utilizado es el de la botonera o joystick. El guiado por
extendido aumenta la potencia del sistema de programación.

Los métodos por guiado son muy útiles y presentan ventajas, como que
son fáciles de aprender y requieren de un espacio de memoria
relativamente pequeño para almacenar la información. Sin embargo,
también presenta inconvenientes como la necesidad de utilizar al propio
robot y su entorno para realizar la programación, lo que obliga a sacar al
robot de la línea de producción e interrumpir ésta. También está la
inexistencia de una documentación del programa y la dificultad de realizar
modificaciones en el mismo.

 2. Programación textual

Este método de programación permite indicar la tarea al robot a través de


un lenguaje de programación específico. Un programa se entiende como
4

una serie de órdenes que son editadas y posteriormente ejecutadas, por lo


tanto, existe un texto para el programa.

La programación textual se puede clasificar en tres niveles:

 2.1 Nivel robot, si las órdenes se refieren a los movimientos a realizar por
el robot.

2.2 nivel objeto, si las órdenes se refieren al estado en que deben ir


quedando los objetos.

2.3 nivel tarea, si las órdenes se refieren al objetivo a conseguir.

Actualmente, la programación de robots se queda en el primero de ellos,


existiendo una gran cantidad de lenguajes de programación textual, entre
los que destacan por orden cronológico los siguientes:

 AL (Universidad de Stanford - 1974)


 AML (IBM - 1979)
 LM (Universidad de Grenoble - 1981)
 VAL II (ADEPT – 1989)
 RAPID ( ABB – 1994)

A nivel objeto, se han realizado diversos intentos para poder


desarrollarlos, pero las dificultades que se han encontrado han impedido
una implementación eficiente. Entre ellos destacan los siguientes
ejemplos:

 LAMA (MIT – 1976)


 AUTOPASS ( IBM – 1977)
 RAPT ( Universidad de Edimburgo- 1978)

Ejemplo: Se pretende situar la pieza A, sobre la que se apoya la pieza B,


en el interior del orificio de la pieza D. A continuación se presentará la
programa en los tres niveles de manera simple y utilizando lenguajes
hipotéticos.

2.1 Nivel Robot: Se debe especificar cada uno de los movimientos que ha
de realizar el robot, como velocidad, direcciones de aproximación y salida,
apertura y cierre de la pinza, etc. También es necesario descomponer la
tarea global en varias subtareas.
5

Ejemplo: Quitar B de A (poniendo B sobre C), introducir A en D, etc.


Considerando el ejemplo planteado anteriormente la operación que
consiste en colocar B sobre C, tendría el siguiente aspecto:

Mover_a P1 via P2 ; Situarse en un punto sobre la pieza B


Vel = 0.2 * VELMAX ; Reducir la velocidad
Pinza = ABRIR ; Abrir la pinza
Prec = ALTA ; Aumentar la precisión
Mover_recta_a P3 ; Descender verticalmente en línea
recta
Pinza = CERRAR ; Cerrar la pinza para coger la pieza B
Espera= 0.5 ; Esperar para garantizar cierre de
pinza
Mover_recta_a P1 ; Ascender verticalmente en longa recta
Prec = MEDIA ; Decrementar la precisión
Vel = VELMAX ; Aumentar la velocidad
mover_a P4 via P2 ; Situarse sobre la pieza C
Prec = ALTA ; Aumentar la precisión
Vel = 0.2 * VELMAX ; Reducir velocidad
Mover_recta_a P5 ; Descender verticalmente en línea
recta
Pinza = ABRIR ; Abrir pinza

2.2Nivel Objeto: Disminuye la complejidad del programa. La


programación se realiza de manera más cómoda, ya que las instrucciones
se dan en función de los objetos a manejar. Una planificación de la tarea
se encargará de consultar una base de datos y generar las instrucciones a
nivel de robot.

 Situar B sobre C haciendo coincidir

LADO_B1 con LADO_C1 y LADO_B2 con LADO_C2 ;

Situar A dentro D haciendo coincidir

EJE_A con EJE_HUECO_ y BASE_A con BASE_D ;

2.3 Nivel Tarea: El programa se reduce a una única sentencia, ya que, se


especifica qué es lo que debe hacer el robot en lugar de cómo debe
hacerlo.

Ensamblar A con D
6

Cabe destacar, que los sistemas de programación de robots tienden a


combinar con mayor frecuencia los dos modos básicos (guiado y textual),
permitiendo desarrollar el programa mediante la escritura de las
instrucciones y utilizando la posibilidad de guiado en línea en aquellos
momentos en que sea necesario. Sistemas como RAPID de ABB, VAL II de
Staubli y V+ de Adept Technology son ejemplos de esta ambivalencia.

REQUERIMIENTOS DE UN SISTEMA DE PROGRAMACIÓN DE ROBOTS

A pesar de la falta de normalización entre los métodos de programación de robots


existentes, las necesidades comunes han originado un cierto paralelismo y afinidad
entre casi todos ellos. Esta circunstancia permite establecer una serie de
características generales que se manifiestan en los elementos de programación que
contienen. Tradicionalmente los requerimientos generales que se vienen
estableciendo para un sistema de programación de robots son los siguientes:

 Entorno de programación.
 Modelado del entorno.
 Tipo de datos.
 Manejo de entradas/salidas (digital y analógica).
 Control de movimiento.
 Control del flujo de ejecución del programa.

Cada sistema de programación de robots da respuesta a estos requerimientos en


mayor o menor grado. Así, mientras algunos no contemplan modelo alguno del
entorno, otros basan totalmente su modo de funcionamiento en la existencia y
mantenimiento de un detallado modelo geométrico.
Se realiza a continuación una descripción de estos requerimientos, prestando mayor
atención a los que se consideran más frecuentes.

8.2.1. Entorno de programación


7

Como en cualquier lenguaje de programación convencional, es de gran importancia,


para conseguir un aumento considerable de productividad de la programación, el
contar con un entorno de programación adecuado a las necesidades.
Programar las acciones de un manipulador es complicado en el sentido de que en
todo momento existe una interacción con el entorno, tratándose de un proceso
continuo de prueba y error. Esta es la principal causa que lleva a que !a mayoría de
los sistemas de programación de robots sean de tipo interpretado, pudiéndose
realizar un seguimiento paso a paso de lo programado en cada momento. Se evita
así el tedioso ciclo de editar-compilar-ejecutar muy costoso en tiempo.
Es pues importante y de desear que un sistema de programación de robots presente
una buena capacidad de depuración y de ejecución paso a paso, teniendo
especialmente en cuenta la interacción en tiempo real que existe entre los distintos
equipos de la célula con el controlador del robot. También es aconsejable la
existencia de una buena monitorización continua del desarrollo del programa.
Algunos de los sistemas de programación actuales se soportan sobre sistemas
operativos multitarea, permitiendo el control simultáneo y sincronizado de varios
robots o del robot con otros sistemas (visión, transportes, etc.).

8.2.2. Modelado del entorno

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.
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 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
8

rígida (el movimiento de uno implica el del otro y viceversa) o tener una dependencia
de unión no rígida (el movimiento de uno implica el del 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 una estructura arborescente, simplificando
notablemente la tarea del programador.

8.2.3. Tipos de datos

Un sistema de programación de robots cuenta, además de con los tipos de datos


convencionales (enteros, reales, booleanos, etc.) con otros específicamente
destinados a definir las operaciones de interacción con el entorno, como son, por
ejemplo, los que especifican la posición y orientación de los puntos y objetos a los
que debe acceder el robot. Como ya se vio en el Capítulo 3, correspondiente a
herrramientas matemáticas, la posición y orientación espacial de un objeto puede ser
especificada de diversas formas.
Utilizando coordenadas articulares o del robot: mediante una n-upla (q ...qn)> donde n
1

es es número de grados de libertad del robot, que indica los valores articulares que
debe tomar el robot para posicionar y orientar su extremo como el objeto en cuestión.
Utilizando coordenadas cartesianas o del usuario: en este caso, una vez asociado un
sistema de referencia de coordenadas {S1} al objeto, su posición se describe por las
coordenadas cartesianas del origen de {S1}, (px, py, pz mientras que la orientación
admite diferentes tipos de representación:
La representación conjunta de posición y orientación del extremo del robot se
consigue agrupando las tres coordenadas de posición con alguno de los métodos de
representación de la orientación. Los diferentes sistemas de programación existentes
emplean una o varias de estas representaciones

MANEJOS DE ENTRADAS Y SALIDAS


La comunicación del robot con otra maquinas o procesos que cooperan con él, es
fundamental para conseguir su integración y sincronización en los procesos de
fabricación. Todo esto es gracias a las señales binarias de entradas y salidas,
mediante ello el robot puede tomar acciones de reacción y manipulación.
9

SISTEMAS AUTOMÁTICOS
Algunos sistemas incluyen la posibilidad de comenzar automáticamente su siglo de
trabajo cuando le llega una señal binaria.

DESARROLLO GRACIAS A UN SENSOR

La integración de sensores, incorporados la información de estos al desarrollado de


la tarea. Los sensores permiten realizar determinadas aplicaciones en un entorno. La
información que son introducidas o capturas por los sensores se lo puede utilizar en
la programación de robot en diversas formas:

Ejemplos:
 modificar la trayectoria
10
11

CONTROL DE MOVIMIENTO DEL ROBOT


Un método de robot debe incluir la posibilidad de especificas el movimiento del robot.
Además del punto de destino, puede ser necesario especificas el tipo de trayectoria
especial que debe ser realizada, la velocidad depende al recorrido. Incluso el robot
puede ejercer un movimiento en cualquier caso o debe estar condicionado a algún
tipo de circunstancias por ejemplo de un censor.
En ocasiones el movimiento del robot en su entorno con obstáculos obliga a la
utilización de una trayectoria en línea recta, para así que el robot no colisione con
ninguno de ellos.

ROBOT INDUSTRIAL

ROBOT ABB:

ABB ( Asea Brown Boveri) es una


corporación multinacional, cuya sede
12

central queda en Zürich, Suiza y cuyos mayores negocios son los de tecnologías


en generación de energía eléctrica y en automatización industrial. ABB opera en más
de cien países y emplea a más de 124.000 personas.
El tipo de programación que utilizan estos robots son:
RAPID:(Roboties Application Programming Iterative dialogue)
Muy similar a lenguaje de programación de alto nivel (Basic, Pascal, C)

Acá podemos mencionar algunas instrucciones de RAPID:


13

INSTRUCCIÓN DE MOVIMIENTOS:
Para mover el robot existen tres instrucciones:

MoveJ Punto, Velocidad, Zona, Herramienta


Se mueve el robot hacia un punto usando coordenadas articulares.
Cuando no tiene que seguir ninguna trayectoria determinada.

MoveL Punto, Velocidad, Zona, Herramienta


Se mueve el robot hacia un punto usando la línea recta.
14

MoveC Punto_Circulo, Punto_Destino, Velocidad, Zona, Herramienta;


Se mueve el extremo del robot hacia el punto de destino pasando por el
punto del circulo trazando un arco de circunferencia.

Como ejemplo podemos mencionar el siguiente gráfico.


:

Ejemplo 1.

Realizar un programa que active 4 sensores, realizar los movimientos en el orden que
se muestra en la figura de tal modo que el movimiento de un punto a otro se realice de
forma que la herramienta no cambie de orientación. A continuación se dan los puntos
que se tienen que activar así como sus respectivas coordenadas, todas ellas
referenciadas sobre plano10 o p10:

Paso Puntos Coordenada X Coordenada Y Coordenada Z


s
1 Punto 1 0 0 0
2 Punto 5 520 80 0
3 Punto10 495 450 0
4 Punto 15 425 800 0

Nota: Es importante saber que El punto 10, se encuentra 5 cm/s (50 mm/s) por
encima del sensor 1, por lo tanto, para activar la señal tendremos que bajar (-) 50 mm/s
(MoveJ Offs (p10, 0,0,-50),fine, tool0;) Cuando se haya activado el punto tendremos que
volver a subir los 5 cm/s para no colisionar.

El plano de los sensores es el siguiente:


15

PLANO DE TRABAJO

ABB
1 13

14

2 11
8

10 15
3 6
16
12
4 5 7 9

Figura: Plano de sensor ejemplo 1.

 MoveC : Este movimiento tiene la característica principal de que desplaza el


punto central de herramienta en forma circular desde su ubicación hasta el
destino solicitado, esta instrucción permite que la herramienta no pierda su
sentido de orientación. En la siguiente grafica veremos cómo se realiza el
movimiento.
16

Punto: Origen

Punto Destino
Figura Movimiento circular.

Al utilizar el MoveC desde el punto origen se producirá un movimiento circular


hacia el punto destino como se ve en el trayecto de la figura anterior. Formado un
semicírculo entre punto origen y destino. La instrucción se usa de la siguiente
manera:
MoveC p1, p2, v100, z30, tool1
De esta forma tenemos que la herramienta se mueve en círculo hacia la posición
p2, con sus respectivos datos de velocidad y de zona dados por v100 y z30. Se
debe tener en cuenta que el circulo se define a partir de la posición inicial, el
punto intermedio p1 y del punto destino p2.

LENGUAJE C.
//PROGRAMACION PARA MANEJAR 5 SERVOS

#include <Servo.h> // librería


Servo servo1; // crear objeto servo para controlar un servo
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;
//VARIABLES DE COMUNICACION SERIAL
int a=90,b=90,c=90,d=90,e=90;
char serialdata[100];
17

void setup()
{
Serial.begin(57600); //velocidad bps (baudios)
servo1.attach(4,500,2400); // servo1 azul pinza
servo2.attach(5,500,2400); // servo2 HS-311 muñeca
servo3.attach(6,500,2400); // servo3 HS-311antebrazo
servo4.attach(7,500,2400); // servo4 MG995 brazo
servo5.attach(8,500,2400); // servo5 HS-311base
}

void loop()
{

while (Serial.available() > 0)


{
Serial.readBytesUntil(';', serialdata,15);
a = memcmp ( serialdata,"",1);//valor int a
memset (serialdata,'a',1); //agregar la letra a
b = memcmp ( serialdata,"a",2); //valor int b despues del la letra a
memset (serialdata,'b',2); //agregar b
c = memcmp ( serialdata,"bb",3); //valor c despues de bb
memset (serialdata,'c',3);
d = memcmp ( serialdata,"ccc",4);
memset (serialdata,'d',4);
e = memcmp ( serialdata,"dddd",5);
}
servo1.write(a); //servo1 ajusta la posición del servo según el valor de escala
servo2.write(b); //servo2
servo3.write(c); //servo3
servo4.write(d); //servo4
servo5.write(e); //servo5
delay(15);

CONTROL DEL FLUJO EJECUCIÓN DEL


PROGRAMA

Al igual que en cualquier lenguaje de


programación de propósitos general, un
lenguaje de programación de robot ha de
permitir al programador especificar de alguna manera un flujo de ejecución de
operaciones.
18

Lenguajes de programación de robots


La mayoría de los lenguajes de programación para robots consiste en una serie de
instrucciones o comandos codificados que le indican a los sistemas mecánicos y
electrónicos que acción llevar a cabo, estas instrucciones permiten automatizar
tareas, debido a esto se han creado muchos sistemas de programación e interfaces
que ayudan a que la tarea de programación sea más sencilla.
En los lenguajes de programación de robots se emplean técnicas de flujo de datos
por la mayoría de los fabricantes, que se basan en el concepto de que si una variable
cambia, todas las variables que dependen de esta, deberían cambiar también. A esto
se denomina programación de flujo de datos y es modelado como una secuencia de
funciones.
Debido a que cada fabricante de robots utiliza su propio entorno y lenguaje de
programación, no existe un lenguaje único para todos los robots si bien se han hecho
grandes avances mediante el uso de software libre, en general y debido a la alta
naturaleza propietaria del software de robots, no existe un estándar definido si bien
hay bastantes similitudes entre varios lenguajes de programación.
A continuación se mencionan algunos lenguajes de programación utilizados en
robots de amplio uso.

VAL
Variable Assembly Languaje – Es un lenguaje de
programación de robots adoptado originalmente para su
uso con robots de UNIMATION, y actualmente con Adept
Technology, Stäubli que utiliza VAL3. Consiste en una
serie de comandos con palabras fáciles de entender, es también un sistema en
tiempo real que permite calcular trayectorias y realizar movimientos rápidamente, una
característica conveniente de VAL es su habilidad para utilizar librerías y rutinas
predefinidas para producir rápidamente programas complejos con menor esfuerzo.
VAL está formado por módulos
- Monitor: es el programa administrativo que controla toda la operación del
sistema, recibe los comandos dados por los programas escritos por el
usuario e inicia las respuestas apropiadas para dirigir el robot.
- Editor: es un editor de comandos en formato de texto y permite introducir
los comandos al sistema.
- Location: Es una herramienta de programación de indica la posición de un
objeto en el espacio, durante la ejecución del programa.

El siguiente es un programa de ejemplo hecho en VAL para efectuar un movimiento


de agarre y posicionamiento (Pick & Place)
- PROGRAM PICKPLACE
- 1. MOVE P1
- 2. MOVE P2
- 3. MOVE P3
- 4. CLOSEI 0.00
- 5. MOVE P4
19

- 6. MOVE P5
- 7. OPENI 0.00
- 8. MOVE P1
- .END
20

RAPID
Robotics Application Programming Interactive Dialogue, es un
lenguaje de programación desarrollado por la empresa ABB, un
programa desarrollado en este lenguaje consiste en una rutina
principal llamada MAIN, un conjunto de varias subrutinas que
ayudan a reducir el tamaño del programa dividiéndolo en partes
más pequeñas y los datos del programa, que definen
posiciones, coordenadas, etc.
Los datos son representados de la siguiente manera
- Constantes (CONS), que indican datos de valor fijo que no pueden cambiar
- Variables (VAR), son datos cuyo valor puede ser cambiado en cualquier
momento
- Persistentes (PERS), son datos que cambian durante la ejecución del
programa pero son mantenidos hasta la próxima ejecución
- Atómicos, almacenan un dato, pero que no puede dividirse en otros más
sencillos, dentro de estos se encuentran:
o num: Para almacenar valores numéricos, sean en teros o reales.
o bool: Designan valores lógicos de TRUE o FALSE
o string: Almacenan cadenas de caracteres, hasta un máximo de 80
o pos: Representan posiciones (en milímetros) en X. Y, Z
o orient: Es un dato tipo registro que almacena la orientación de un
elemento
o pose: Sirve para cambiar de un sistema de coordenadas a otro, está
compuesto por un tipo de datos pos y otro orient
o confdata: Permite definir las configuraciones de los ejes de los
robots
- Registros, almacenan más de un tipo de dato a la vez, son similares a las
estructuras (struct) en lenguaje C.

La siguiente es una lista de las palabras reservadas para este lenguaje

El siguiente es un ejemplo de un programa hecho en RAPID:


21

V+
Es un lenguaje de programación para
robots, desarrollado en 1989 por Adept
Technology para permitir la programación
de tareas complejas en robots mediante
un lenguaje sencillo.
Un programa en V+ consiste en una serie
de líneas o STEP que se interpretan
como instrucción del programa. El inicio
de un programa es marcado por la instrucción .PROGRAM y el final con la
instrucción .END
Una importante característica de V+ consiste en que permite la ejecución de
múltiples tareas (hasta 7) siendo la número 0 la de mayor prioridad, se pueden
también efectuar llamadas asíncronas a subrutinas, las cuales no detienen el flujo del
programa en comparación de una llamada CALL.
En V+ se pueden utilizar variables con tres tipos de acceso definidos:
- Globales: Todos los programas tienen acceso a la variable
- Locales: Una variable es local al declararla con la instrucción LOCAL y solo
es visible para el programa que la creo.
- Automáticas: Son creadas por la instrucción AUTO y según se use la
variable es designada como local o global.

OROCOS
Open Robot Control Software
Es un proyecto de software abierto que provee un framework
para el control en tiempo real de brazos robóticos y máquinas
herramientas fue desarrollado inicialmente en 2000 como una
22

idea de Herman Bruyninckx, motivado por más de dos décadas de inconvenientes de


trabajo con software comercial de los cuales no tenía acceso a las capas más
profundas de control de hardware. Actualmente este proyecto es apoyado por la
Comisión Europea y varias empresas alrededor del mundo.
OROCOS está compuesto de una seria de librerías como la KDL (Kinematics and
Dynamics Library) la cual sirve para el desarrollo, modelado y computación de
cadenas cinemáticas empleadas en robots. BFL (Bayesian Filtering Library) la que
provee los medios para el procesamiento de información y algoritmos utilizados en la
determinación de trayectorias y posicionamiento de un robot.
Se puede obtener más información de este proyecto además de descargas del
código fuente y documentación, en la siguiente dirección: http://www.orocos.org

También podría gustarte