Sie sind auf Seite 1von 18

Programación

Robótica
Programación
Función de la Programación
Las funciones que debe cumplir la programación de un robot, son:

•Definir la tarea que el robot tiene que realizar.


•Controlar al robot mientras la realiza.

De lo dicho se entiende que un lenguaje que pretenda ser usado para


programar robots deberá ser, en algún sentido, diferente a los lenguajes
convencionales. Esas diferencias son debidas a que:

•El entorno del robot no puede describirse sólo en términos cuantitativos;


usa relaciones espaciales (arriba de, abajo de, sobre,...) e incluso
temporales, o de causalidad (A no puede ponerse sobre B hasta que B
no esté en X,...)

•El robot opera en un mundo real impreciso, y el modelo del mundo que
el programa maneja puede no dar cuenta debida de él, precisamente a
causa de esa imprecisión.
Programación
Función de la Programación
La activación de comandos para realizar acciones, y la secuencia en que
éstas se ejecuten, depende de que determinados eventos hayan
sucedido o no. Además, otras acciones deben ser ejecutadas en
respuesta a señales de error externas.

Para ello, es necesario que el lenguaje provea mecanismos de


sincronización de eventos, que detengan o alteren la ejecución de la
secuencia normal.
Por ello, se suelen sincronizar las acciones para atender a cuatro tipos
de eventos:

Activación (iniciar la acción al recibir cierta señal)

Terminación (cese de la acción ante la señal)

Error (inicio de acción de seguridad o recuperación ante señal de error)

Anulación (cese de la acción al NO recibir señal de terminación después


de un tiempo prudencial).
Programación
Función de la Programación

El lenguaje deberá proveer estructuras y acceso a variables sensoriales


externas, es decir, que contienen valores de las señales recogidas por
los sensores, y que, a diferencia de las variables convencionales, no se
inicializan explícitamente en el programa, y su alcance es siempre
global.

Se puede dar una actualización continua de algunas o todas estas


variables, o bien a intervalos discretos de tiempo. Además, en el caso de
que varios procesos (generalmente, todos ellos relacionados con los
sensores) puedan actualizar la misma variable, para lo cual deberán
considerarse prioridades entre ellos.
Comandos ACL
Comandos de Operación

Comandos de Visualización

Comandos de Aprendizaje

Comandos de Programación

8
Comandos
Comandos de Operación
Run: Es un comando Directo utilizado para comenzar la ejecución de una
tarea a partir de la primer línea del programa.
Run PLV1 (Ejecuta el programa de usuario PLV1

Open: Es un comando mixto que abre la pinza hasta el final de su


movimiento.

Close: Es un comando mixto que cierra la pinza hasta el final de su


movimiento.

Move: Es un comando directo que desplaza el robot hasta la posición


indicada, con la velocidad especificada previamente, pero que no asegura la
ejecución secuencial de las operaciones definidas en el programa

Moved: Es comando de edición que cumple la misma función que el


anterior, pero este asegura la ejecución secuencial de las operaciones
definidas en el programa

Movel: Es un comando Mixto que desplaza el robot hasta la posición


especificada por una trayectoria lineal de acuerdo con la velocidad actual
Comandos
Comandos de Operación

Moveld: Es un comando de Edición que desplaza el robot hasta la posición


especificada por una trayectoria lineal y además asegura la ejecución
secuencial de las operaciones definidas en el programa
Moveld PLVC[1] (desplaza el robot hasta la posición 1 del vector PLVC)
Speed: Fija el valor de velocidad actual, expresado en porcentaje de la
velocidad total
Speed 20 (fija la velocidad al 20 % del máximo valor de velocidad, el cual es
un valor de velocidad alto)
Speed 5 (fija la velocidad al 5 % del máximo valor de velocidad, el cual es un
valor de velocidad bajo, pero adecuado para nuestra práctica)
Speedl: Fija el valor de velocidad lineal actual, expresado en velocidad
lineal en mm/ seg
Speedl 50 (fija la velocidad lineal en 50 mm / seg, la cual es una velocidad
adecuada para nuestra práctica)

Para visualizar los ajustes de velocidad actual se utiliza el comando:


Show Speed
Comandos
Comandos de Visualización

List: Comando directo que sirve para ver todas las líneas de código de un
programa especificado, o de no especificarse, visualiza todos los programas del
controlador.
List PLH1 (muestra todas las líneas de comando del programa PLH1)

Listp: Presenta una lista de todos los grupos de posiciones o vectores de


posiciones.

Listpv: Presenta los valores absolutos de la posición o grupo de posiciones


especificada
Listpv PL (muestra los valores de coordenadas absolutas del grupo de
posiciones Pl
Listpv PL[1] (muestra los valores de coordenadas absolutas de la posición PL[1]

Show speed: muestra en pantalla los ajustes de velocidad actuales


Comandos
Comandos de Aprendizaje
Dimp: Es un comando Directo que crea y define un vector de una cantidad de
posiciones especificada.
Dimp PLVC[30] (define y crea un vector de 30 posiciones llamado PLV)
El nombre de un vector debe comenzar con una letra y puede tener como máximo 5
caracteres.

Attach: Es un comando Directo que especifica el vector en el que se asignarán


posiciones desde el teacher.

Here: Es un comando Mixto que permite grabar la posición actual de cada uno de
los ejes en una posición determinada
Here PLVC[1] (define que la ubicación en que se encuentra ahora el robot, queda
guardado en la posición 1 del vector PLVC)

Teachr: Es un comando Directo que sirve para igualar dos valores de posiciones
Teachr PLVC[1] PLV[2] (la posición 2 del vector PLVC, toma los mismos valores de
ubicación que la posición 1 del mismo vector)
Setp: Tiene exactamente el mismo uso, pero es un comando mixto.

Shiftc: Es un comando Mixto que sirve para cambiar la ubicación de una posición
en valor determinado en un eje cartesiano determinado
Shiftc PLVC[1] Y 2000 (cambia la ubicación de la posición 1 del vector PLVC 2 mm)
Estructuras de Programación

INICIO
Estructura Secuencial

Conjunto de símbolos que


indican una secuencia de
acciones u operaciones, es
la estructura mas
elemental, admite un solo
camino posible para las
acciones descriptas, y un
único orden.

FIN
Estructuras de Programación

PLH1
Ejemplo: Estructura Secuencial

A
Program PLH1
Define A
A5 Set A = 5
Moved PLH[ A ]
End

PLH [ A ]

FIN
Estructuras de Programación
Estructura de decisión o disyunción

No

Conjunto de símbolos que


indican decisión o
Si disyunción, en el interior
de la figura con forma de
rombo, se coloca la
pregunta o la comparación,
admite solo dos posibles
respuestas: Verdadero o
Falso
Estructuras de Programación
Ejemplo: Estructura de decisión o disyunción

No
If A = B them
A=B
Print B
Else
Si GoSub PLH1
Endif
B PLH1
Set C = A + B
End

CA+B
Estructuras de Programación
Estructura de Repetición

Estructura Para.
Estructura de repetición
que repite el ciclo una
Valor Final cantidad determinada
de veces, utiliza una
Valor Inicial Incremento variable que se va
autoincrementando
Estructuras de Programación
Ejemplo: Estructura de Repetición
C0

Set C = 0
For I = 1 to 10
Set C = C + (3*I)
10 EndFor
C  C + (3*I)
Print C
I=1 1
End

C
Comandos
Comandos de Programación
For < > to < > / endfor: Estructura formada por varios comandos utilizada
como subrutina para ejecutar un ciclo de repetición desde un valor
determinado hasta otro valor determinado.
For A=1 to 10
<>
Endfor
(Forma una subrutina de 10 ciclos en los cuales la variable “A” pasa del valor 1
hasta el 10, saltando de 1 en 1)

If – endif: Estructura formada por varios comandos utilizada como subrutina


para ejecutar una disyunción o decisión comprobando una relación, y
ejecutando una acción si es vcerdadera y otra acción si es falsa.
If A = 1 Then
<Acción 1>
Else
>Acción 2>
Endif
(Ejecuta la “Acción 1” si el valor de la variable “A” es 1, y ejecuta la “Acción 2”,
si el valor de la variable A es distinto de 1.
Comandos
Comandos de Programación

Gosub: Comando de edición utilizado para transferir el control desde el


programa principal hacia otro programa, comenzando por la primer línea hasta
el comando End, luego del comando End continúa con el programa principal
desde la línea que sigue al comando Gosub.
Program PLH1
Gosub PLHM (Interrumpe momentáneamente la ejecución del programa de
usuario “PLH1”, para ejecutar el programa secundario “PLHM”, al terminar la
ejecución de PLHM continúa con PLH1).
Comandos
Comandos de Programación
Program: Comando de edición, es necesario escribirlo en la primer línea de
cada programa, para que el controlador reconozca que allí comienza un
programa.

End: Comando de edición, es necesario escribirlo en la última línea de cada


programa, para que el controlador reconozca que allí termina el programa.

Define: Comando de edición se utiliza para definir el uso de una variable en


forma local, que solo será utilizada por el programa en curso. Para usar
variable debe estar previamente definida.

Global: Comando mixto se utiliza para definir el uso de una variable en forma
global, que podrá ser utilizada por cualquier programa de usuario. Se pueden
definir hasta 12 variables en un comando.

Set: Comando mixto, es utilizado para asignar valores a una variable


Set A = 16 (Asigna a la variable “A” el valor 16)
Set B = A + 10 (Asigna a la variable “B” el valor de la variable “A” +10)

Das könnte Ihnen auch gefallen