Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La S-function es una herramienta clave para simular Modelo dinámico en el espacio de estados.
sistemas de control de robots en Simulink, ya que permite la La ecuación dinámica en el espacio de estados para el
integración de algoritmos personalizados y modelos manipulador robótico de tres grados de libertad estará
matemáticos complejos. Con la S-function, es posible diseñar y representada por:
probar algoritmos de control específicos para un robot en
particular, ajustando sus parámetros y evaluando su desempeño
en diferentes escenarios.
Implementación del método de la máquina analógica con
herramientas de simulación:
El método de la máquina analógica es una técnica que
utiliza herramientas de simulación para emular el
comportamiento de sistemas físicos en tiempo real. En el
contexto del control de robots, este método se puede aplicar en
Simulink mediante la combinación de modelos matemáticos
precisos y la implementación de algoritmos de control en
tiempo real utilizando la S-function. Al simular el donde M(x) es una matriz simétrica de 3x3 de masas inerciales,
comportamiento del robot en una máquina analógica, es posible C(x, x) es un vector de 3x1 de los términos de Coriolis y
obtener una representación visual y numérica del sistema en Centrípetas, Fb˙x es un vector de 3x1 de los términos de
tiempo real, lo que facilita el análisis y la optimización del fricción viscosa, G(x) es un vector de 3x1 de la fuerza de
control. gravedad, Td es un vector de 3x1 que involucra a las
incertidumbres y perturbaciones que pudiese presentar el
Ventajas de simular sistemas de control de robots en
sistema y Tin es un vector de 3x1 que involucra a los pares
Simulink:
aplicados. Por lo tanto
Evaluación y optimización previa a la implementación
física: La simulación en Simulink permite probar y ajustar los
algoritmos de control antes de implementarlos en un robot real.
Esto reduce los costos y el tiempo de desarrollo, ya que los
errores y las mejoras se pueden abordar en el entorno virtual.
Análisis detallado del desempeño: Simulink proporciona
herramientas para realizar análisis detallados del
comportamiento del sistema de control de robots, como el
seguimiento de trayectorias, la respuesta a perturbaciones y la
eficiencia energética. Esto permite una comprensión profunda
del rendimiento del sistema y la identificación de posibles
problemas o áreas de mejora.
Flexibilidad y reutilización: Simulink facilita la
modificación y reutilización de los modelos de control de
robots. Los bloques funcionales y la S-function permiten
ajustar parámetros, cambiar algoritmos y adaptar el control a
diferentes configuraciones de robots y tareas específicas.
La simulación en Simulink proporciona una plataforma
poderosa para el diseño, análisis y optimización de sistemas de
control de robots. La implementación de modelos de control
utilizando la S-function y la aplicación del método de la
máquina analógica permiten una representación precisa y en
tiempo real del comportamiento del robot. Esto brinda ventajas
significativas, como la evaluación previa a la implementación
física, el análisis detallado del desempeño y la flexibilidad en el
diseño y la reutilización de los modelos de control. Al
aprovechar estas capacidades, los ingenieros pueden desarrollar
sistemas de control de robots más eficientes y efectivos.
III. DESARROLLO
S-function
3
((D+B)*x(2))+E*((x(2)*x(2))*s_235-
(2*x(4)*x(6)+(x(6)*x(6)))*s5);
B*x(2)+E(x(2)*c3*s_35+(x(4)*x(4))*s5)];
G = [0; (m1+m2)*g*l1*c3+m2*g*l2*c35; m2*g*l2*c35];
u(1)= Kt*x(3);
Q = (inv(M))*([u(1);u(2)]-(C*[x(2);x(4)])-G);
sys = [x(2);Q(1);x(4);Q(2)];
case 2 %
Discrete state update
sys = []; % do nothing
case 3
sys = [x(1);x(2);x(3);x(4);x(5);x(6)];
case 9 %
Terminate
sys = []; % do nothing
otherwise
DAStudio.error('Simulink:blocks:unhandledFlag',
num2str(flag));
A continuacion mostramos el codigo implmenetado para la end
S_Function;
function [sys,x0,str,ts] = sfuncont(~,x,u,flag)
%SFUNCONT An example M-File S-function for continuous Implementación virtual
systems.
% This M-file is designed to be used as a template for
other Exportar un diseño de SolidWorks a Simulink implica varios
% S-functions. Right now it acts as an integrator. This
template pasos y requerimientos para garantizar una integración fluida y
% is an example of a continuous system with no discrete precisa. A continuación, se mencionan algunos de los
components.
% requerimientos clave:
% See sfuntmpl.m for a general S-function template.
%
• Modelo 3D en SolidWorks: Debemos tener un modelo 3D
% See also SFUNTMPL. completo y preciso del diseño en SolidWorks. Esto incluye
% Copyright 1990-2007 The MathWorks, Inc.
todas las piezas, ensamblajes y restricciones necesarias para
representar adecuadamente el sistema mecánico. El modelo
m1=1; debe estar correctamente dimensionado y tener todas las
m2=1;
l1=1; propiedades materiales asignadas.
l2=1;
m3=1;
• Conversión a formato compatible: SolidWorks permite
l3=1; exportar modelos en diferentes formatos, como STEP, IGES o
g = 9.81;
% Be=1; STL. Antes de importar el modelo en Simulink, es necesario
% Bm=1; convertirlo al formato compatible utilizado por Simulink, como
% Jm=1;
% Kt=1; STEP (.stp) o Parasolid (.x_t).
% La=1; • Importación en Simulink: Una vez convertido el modelo al
% Ra=1;
A = m2*(l2*l2); formato adecuado, podemos importarlo en Simulink. Simulink
B = m2*(l2*l2)*x(2)*cos(x(3)+x(5))*sin(x(3) + x(5)); proporciona interfaces de importación que te permiten cargar el
C = (m1 + m2)*(l1*l1);
D = (m1 + m2)*(l1*l1)*x(2)*cos(x(3))*sen(x(3)); modelo 3D y utilizarlo como base para la simulación.
E = m2*l1*l2;
F = m2*g*l2*cos(x(3) + x(5)); • Asignación de propiedades y comportamiento: Dependiendo
s_235 = sen(2*x(3) + x(5)); de los objetivos de simulación, tendremos que asignar
c3 = cos(x(3));
c5 = cos(x(5)); propiedades y comportamientos adicionales a los componentes
s3 = sin(x(3)); del modelo importado en Simulink. Esto puede incluir la
s5 = sin(x(5));
c_35 = cos(x(3) + x(5)); asignación de propiedades físicas como masa, inercia o
s_35 = sin(x(3) + x(5));
fricción, así como la definición de restricciones y condiciones
de contorno.
switch flag
case 0 %
Initialization
sys = [6, % number of continuous states
0, % number of discrete states
6, % number of outputs
3, % number of inputs
0, % reserved must be zero
1, % direct feedthrough flag
1]; % number of sample times
x0 = [0;0;0;0;0;0];
str = [];
ts = [0 0]; % sample time: [period, offset]
case 1 % Derivatives
M = [C*(c3*c3)+A*(c_35*c35)+2*E*c3*c_35 0 0; 0
C+A+(2*E*c5) A+E*c5; 0 A+E*c5 A];
C = [-2*x(1)*D-2*B(x(4)+x(6))-
2*x(2)*(E*x(4)*s_235+x(6)*c3*s_235);
4
IV. RESULTADOS
Juicio profesional
Bibliotecas de componentes predefinidos: Simscape ofrece una En última instancia, tanto la implementación mediante S-
amplia variedad de componentes predefinidos y bibliotecas que function como la simulación virtual con Simscape y Simulink
facilitan la construcción de modelos físicos, lo que ahorra son herramientas poderosas para el diseño y la simulación de
tiempo y esfuerzo en la implementación. sistemas. La elección del enfoque adecuado dependerá del
Integración nativa con Simulink: Simscape se integra sin equilibrio entre flexibilidad, control detallado y facilidad de
problemas con el entorno de Simulink, permitiendo combinar uso que se requiera para el proyecto en particular.
fácilmente modelos físicos con otros componentes y sistemas
en una simulación completa. REFERENCIAS
Desventajas: [1] "Simulink Documentation" - Documentación oficial de MathWorks sobre
Menor flexibilidad en el nivel de detalle: Al utilizar Simulink: https://www.mathworks.com/help/simulink/index.html
componentes predefinidos, es posible que no se pueda lograr el [2] "SolidWorks Help" - Documentación oficial de SolidWorks:
https://help.solidworks.com/
mismo nivel de detalle o personalización que con una
[3] "Introduction to Robotics: Mechanics and Control" de John J. Craig - Un
implementación mediante S-function. libro de referencia para aprender sobre robótica y control de robots:
Limitaciones en ciertos tipos de sistemas: Aunque Simscape es https://www.amazon.com/Introduction-Robotics-Mechanics-Control-
adecuado para una amplia gama de sistemas físicos, puede 4th/dp/0133489795
[4] "Modern Robotics: Mechanics, Planning, and Control" de Kevin M. Lynch
haber casos en los que la representación de ciertos fenómenos o
y Frank C. Park - Otro libro ampliamente utilizado para estudiar robótica y sist
componentes específicos sea limitada o compleja de modelar. emas de control: https://www.amazon.com/Modern-Robotics-Mechanics-
En última instancia, la elección entre una implementación Planning-Control/dp/1107156300
mediante S-function y la simulación virtual con Simscape y [5] "Modeling and Simulation of Dynamic Systems" de Robert L. Woods y
Simulink dependerá de las necesidades y características Kent L. Lawrence - Un libro que cubre la simulación de sistemas dinámicos y
proporciona una introducción a Simscape:
específicas del sistema que estemos simulando. Es https://www.amazon.com/Modeling-Simulation-Dynamic-Systems-
recomendable evaluar cuidadosamente las ventajas y Conceptual/dp/0133373797
desventajas de cada enfoque y considerar la complejidad del [6] Repositorios de código abierto en GitHub - Puedes buscar proyectos
sistema, el nivel de detalle requerido, la experiencia y relacionados con la simulación de robots y sistemas de control en GitHub.
Algunos ejemplos incluyen:
habilidades del equipo, así como los recursos y las limitaciones [7] Repositorio de MATLAB y Simulink Robotics Arena:
de tiempo disponibles. https://github.com/mathworks-robotics/robotics-arena
[8] Repositorio de modelos de robots de la Universidad Técnica de Múnich:
https://github.com/tum-i6/ModelingSimulationControl
V. CONCLUSIONES
En conclusión, hemos explorado dos enfoques diferentes para
la simulación de sistemas: la implementación mediante S-
function y la simulación virtual con Simscape y Simulink. Cada
enfoque tiene sus propias ventajas y desventajas.
La implementación mediante S-function ofrece una mayor
flexibilidad y control detallado sobre el sistema simulado.
Permite personalizar algoritmos de control y cálculos
específicos, lo que es beneficioso para sistemas con
características particulares. Sin embargo, la implementación
mediante S-function requiere un mayor nivel de conocimiento
en programación y puede llevar más tiempo de desarrollo.
Por otro lado, la simulación virtual con Simscape y Simulink
simplifica el proceso de modelado y configuración.
Proporciona una interfaz gráfica intuitiva y bibliotecas de
componentes predefinidos, lo que facilita la construcción de
modelos físicos. La integración nativa con Simulink permite
combinar fácilmente diferentes componentes en una simulación
completa. Sin embargo, puede haber limitaciones en el nivel de
detalle y personalización en comparación con la
implementación mediante S-function.
La elección entre estos enfoques dependerá de las necesidades
específicas del sistema y las capacidades del equipo. Es
importante evaluar cuidadosamente las ventajas y desventajas
de cada método, considerando la complejidad del sistema, el
nivel de detalle requerido, la experiencia del equipo y los
recursos disponibles.