Hasta ahora hemos utilizado varias maneras diferentes de pasar parámetros a nuestra simulación. Repasémoslas ahora.
En alguna simulación de la P2 guardábamos los datos del movimiento en un archivo de datos de matlab externo (mueve_ejes.mat) que tenemos que tener accesible en el path.
Luego, en la fase P4, varios módulos incluían datos externos (el modelo del robot y los puntos XYZ), que ya se incluyeron en la simulación, como podemos comprobar en la ventana del "Model Explorer":
Esos datos ya fueron incorporados al Model Workscape específico del modelo slx (ya veremos como). Otra opción habría sido no incorporarlos, y obligar a ejecutar un script los_parametros_x.m previamente, para que los datos estuvieran disponibles en el workspace general. Esta estrategia también la utilizamos en la fase P4. En tal caso también necesitamos vigilar que cumplimos todas las dependencias que figuran en el script con el modelo concreto el_modelo.slx correspondiente al que va destinado.
Una manera elegante de incluir scripts en el modelo es utilizando el "pulsador" o bloque Callback Button , como se incluyó en una de nuestros modelos, ya que permite empotrar y ejecutar código de matlab directamente en el archivo de simulación xls.
En ocasiones necesitamos las ecuaciones matemáticas (modelo) de nuestro robot, por ejemplo para calcular la cinemática inversa IK. Veamos cómo lo conseguimos y dónde lo utilizamos.
En la parte P1 ya discutimos sobre los tipos de modelo, y de la función importrobot que nos permite importar varios tipos de modelos (CAD y urdf principalmente) en formato rigid body tree (RBT) de matlab:
>> [robot, importInfo] = importrobot('abb_irb_120d.urdf')
tras lo cual lo convertimos a un modelo de Simscape (simscape multibody model ):
>> model2 = smimport(robot);
Este modelo, que ya vemos en bloques en una ventana de simulink, lo podemos ordenar, testear y limpiar de elementos innecesarios, y guardarlo ya como un modelo de simulink en formato slx, sobre el que construiremos el resto de la simulación. Ese es el caso del archivo irb120_ejes12.slx de nuestro ejemplo.
Aún así es posible que en algún momento necesitemos volver a utilizar el modelo RBT, como ocurrió en el caso de la IK. En tal caso basta con recurrir a cargar el modelo slx base, con:
>> [robot, importInfo] = importrobot('irb120_ejes12')
y podremos utilizar el tipo de dato robot (rbt) cuando sea requerido.