Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Calcular la dinámica de la gravedad del manipulador en Simulink

En este ejemplo se muestra cómo utilizar los bloques del algoritmo del manipulador para calcular y comparar la dinámica debida a la gravedad de un robot manipulador.

Especifique dos modelos de robot similares con distintas aceleraciones de gravedad. Cargue el modelo del robot KUKA LBR en el área de trabajo de MATLAB® y cree una copia. Para el primer modelo de robot, lbr, especifique un vector de gravedad normal, [0 0 -9.81]. Para la copia, lbr2, utilice el vector de gravedad predeterminado, [0 0 0]. Estos modelos de robot también se especifican en los parámetros del árbol de cuerpo rígido de los bloques del modelo.

load('exampleLBR.mat','lbr')
lbr.DataFormat = 'column';
lbr2 = copy(lbr);
lbr.Gravity = [0 0 -9.81];

Abra el modelo de dinámica de la gravedad. Si es necesario, vuelva a cargar los modelos de robot especificados por el código de MATLAB mediante el botón de callback Load Robot Models (Cargar modelos de robot).

open_system('gravity_dynamics_model.slx')

El bloque de dinámicas directas calcula las aceleraciones de las articulaciones debidas a la gravedad para una configuración de robot lbr indicada sin velocidad inicial, par motor ni fuerza externa. Luego, el bloque de dinámicas inversas calcula los par motores necesarios para que la articulación cree esas mismas aceleraciones sin gravedad mediante el uso del robot lbr2. Por último, el bloque de par motores de gravedad calcula el par necesario para contrarrestar la gravedad del robot lbr.

Ejecute el modelo. Aparte de algunas pequeñas diferencias numéricas, el par motor de gravedad y el par motor necesario para las aceleraciones debidas a la gravedad tienen el mismo valor con direcciones opuestas.

Consulte también

Bloques

Clases

Funciones

Temas relacionados