Академический Документы
Профессиональный Документы
Культура Документы
Resumen. El desarrollo de controles para motores es muy importante en el área de la robótica, ya que
permite el diseño de mecanismos servo actuados para realizar distintas tareas. El control en modo par
para un robot brinda la posibilidad de generar trayectorias y movimientos más suaves, ya que es posible
controlar la velocidad y la fuerza del movimiento, además de optimizar la energía consumida por los
motores. En este documento se presenta el control en modo par de un robot manipulador serial de 3
grados de libertad (simulación), utilizando un control PD en los motores para controlar la posición
mediante la corriente que es suministrada.
1
respecto al marco de referencia del robot), todo con
respecto al eslabón 𝑖. La fórmula que defina la energía
potencial tiene la siguiente forma:
𝑣
6) 𝑉(𝑞) = 𝑚𝑖 𝑔0 𝑝𝑐𝑚,𝑖
𝑣
donde 𝑔0 es la gravedad, y 𝑝𝑐𝑚,𝑖 es la componente
vertical de la posición del centro de masa del eslabón
Fig. 3. Diagrama eléctrico de un motor
𝑖 con respecto al maro de referencia del robot.
Posteriormente se calcula la función de Lagrange,
dada por la diferencia entre la energía cinética total y
1.1 Ecuaciones dinámicas de un motor la energía potencial total:
eléctrico
7) ℒ(𝑞, 𝑞̇ ) = 𝐾(𝑞, 𝑞̇ ) − 𝑉(𝑞)
Del diagrama de la figura 3, es posible derivar las
Posteriormente se calcula la ecuación de Lagrange,
ecuaciones que definen la dinámica eléctrica y
donde se deducen las ecuaciones de movimiento:
mecánica del motor. Del diagrama eléctrico, y por
medio de la Ley de Voltajes de Kirchoff, se puede 𝑑 𝜕ℒ 𝜕ℒ
8) − =𝛤
calcular la fuerza contraelectromotriz y las caídas de 𝑑𝑡 𝜕𝑞̇ 𝜕𝑞
tensión en los componentes eléctricos del motor, donde 𝛤 es el vector de pares y fuerzas generalizadas.
mediante la siguiente ecuación: Además, si la energía cinética es cuadrática, es decir
𝑉 − 𝑉𝑅 − 𝑉𝐿 = 𝐸𝑔 1
9) 𝐾(𝑞, 𝑞̇ ) = 𝑚𝑖 𝑞̇ ′𝐷(𝑞)𝑞̇
2
Sustituyendo los valores de VR y VL, la ecuación
anterior toma la siguiente forma: donde 𝐷(𝑞) es una matriz simétrica definida positiva,
conocida como matriz de inercia, entonces la ecuación
𝑑𝑖𝑎
1) 𝑉 − 𝑅𝑖𝑎 − 𝐿 = 𝐸𝑔 8 resulta en una ecuación diferencial de segundo
𝑑𝑡
orden, tal que:
Además, el voltaje que se opone al flujo de corriente
en el conductor, Eg, es proporcional a la velocidad 10) 𝐷(𝑞)𝑞̈ + 𝐶(𝑞, 𝑞̇ )𝑞̇ + 𝐺(𝑞) = 𝛤
angular del rotor, de tal forma que: 𝜕𝑉(𝑞)
donde 𝐺(𝑞) = es el vector de gravedad, y
𝜕𝑞
2) 𝐸𝑔 = 𝐾𝑏 𝜔
𝜕
donde Kb es la constante de fuerza contraelectromotriz 11) 𝐶(𝑞, 𝑞̇ )𝑞̇ = ( (𝐷(𝑞)𝑞̇ )) 𝑞̇ −
𝜕𝑞
del rotor. El par (𝜏𝑒 ) generado por el eje del rotor es ′
proporcional al flujo magnético (φ) y a la corriente de 1 𝜕
(𝐷(𝑞)𝑞̇ )) 𝑞̇
(
armadura (ia), por lo tanto: 2 𝜕𝑞
2
Control Proporcional (P)
Control Derivativo (D)
Control Integral (I)
Un sistema de control proporcional es un tipo de
sistema de control de realimentación lineal, en el cual
la salida del controlador es proporcional a la señal de
error, que es la diferencia entre una señal objetivo o
deseada y la variable de salida de la planta o sistema
en cuestión. Se dice que el control proporcional
depende del error actual.
La acción derivativa se manifiesta cuando existe un
cambio en el valor absoluto de la señal de error, y su
función es la de mantener el error al mínimo
corrigiéndolo proporcionalmente con la misma
velocidad con la que se produce, evitando así que el
error se incremente. Se dice que la acción derivativa es
una predicción de los errores futuros.
La acción integral busca atenuar y eliminar el error en
estado estacionario, provocado por perturbaciones
exteriores. El control integral actúa cuando existe una
diferencia entre la señal objetivo y la variable de
salida, integrando esta desviación en el tiempo y
sumándola a la acción proporcional. El control integral
depende de los errores pasados. Fig. 4 Representación de las ecuaciones con diagramas a bloques
3
2.2 Control del motor Ahora se conocen las ganancias del control PI,
sustituyendo en el diagrama de la figura 5, se obtiene:
El control del motor se diseñó a partir del diagrama de
la figura 3, donde la entrada principal es el voltaje que
se le suministra al sistema. Se seleccionó un control de
corriente, ya que el par generado por el rotor es
directamente proporcional a la corriente, y ésta a su
vez es proporcional al voltaje. Para ello, se
implementó un control PI, ya que la fuerza
contraelectromotriz (dinámica mecánica) genera una
perturbación al voltaje de entrada (dinámica eléctrica),
Fig. 8 Control de corriente PI con valores de ganancias Kp y Ki
la cual es deseable atenuar y eliminar, con el fin de
controlar de manera eficiente y precisa la posición del El nodo de entrada (2) del diagrama de control de
rotor. El siguiente diagrama a bloques representa el corriente, corresponde al par deseado para controlar la
control de corriente implementado previo a la entrada posición, el cual es calculado a través la estimación de
de voltaje del diagrama de la figura 3: error entre la posición actual del rotor y la posición
deseada. Para ello se aplicó un control PD con la
finalidad de atenuar el error entre las señales de
posición, y que la señal de posición del rotor converja
en el menor tiempo posible a la posición deseada.
4
Fig. 12 Diagrama general con control PD general de posición para los 3
motores
6
Fig. 20 Error de posición angular con control particular de posición. Fig. 23 Corriente de armadura de un motor para control particular de
posición.
4 Referencias
[1] Olguín, E. 3D Motion of Rigid Bodies. Vol. 7.9,
(Agosto, 2016).
[2] Spong, M. W., Vidyasagar, M. and Hutchinson,
S. Robot Modeling and Control. Vol 1,
Fig. 21 Velocidad angular de cada motor para control particular de
(Noviembre, 2005), pp. 231-242.
posición.
[3] Schneider Electric, BSH0552P32F2A, AC-
Servo-motor specs. Disponible en línea:
https://www.schneider-
electric.us/en/product/BSH0552P32F2A/ac-
servo-motor-bsh---0.9-n.m---4000-rpm---keyed-
shaft---with-brake---ip65/
[4] Westervelt, E., Grizzle, J., Chevallereau, C.
Feedback Control of Dynamic Bipedal Robot
Locomotion. 1st edition, (Abril, 2007), pp. 418-
420.
7
5 Anexos
5.1 Función de MATLAB para calcular ecuaciones de movimiento de un manipulador
planar de 3 grados de libertad
function [T]=robot_3dof(q1,q2,q3,qp1,qp2,qp3,qdp1,qdp2,qdp3)
L1=0.08;
L2=L1;
L3=L2;
lcm1=0.06;
lcm2=0.06;
lcm3=0.06;
m1=0.3;
m2=0.3;
m3=0.3;
Jcm1=0.8;
Jcm2=0.8;
Jcm3=0.8;
g0=9.81;
%Mass-Inertia Matrix
D=(m1*(pcmp1.')*pcmp1)+(m2*(pcmp2.')*pcmp2)+(m3*(pcmp3.')*pcmp3)...
+(Jcm1*(th_absp1.')*th_absp1)+(Jcm2*(th_absp2.')*th_absp2)+(Jcm3*(th_absp3.')*th_absp3);
%Coriollis Matrix
C =[- (qp3*((9*sin(q2 + q3))/3125 + (9*sin(q3))/3125))/2 - (qp2*((9*sin(q2 + q3))/3125 +
(21*sin(q2))/3125))/2, - (qp3*((9*sin(q2 + q3))/3125 + (9*sin(q3))/3125))/2 - (qp1*((9*sin(q2 + q3))/3125 +
(21*sin(q2))/3125))/2 - (qp2*((9*sin(q2 + q3))/3125 + (21*sin(q2))/3125))/2, -(9*(sin(q2 + q3) +
sin(q3))*(qp1 + qp2 + qp3))/6250;
(qp1*((9*sin(q2 + q3))/3125 + (21*sin(q2))/3125))/2 -
(9*qp3*sin(q3))/6250,
-(9*qp3*sin(q3))/6250, -(9*sin(q3)*(qp1 + qp2 + qp3))/6250;
(qp1*((9*sin(q2 + q3))/3125 + (9*sin(q3))/3125))/2 +
(9*qp2*sin(q3))/6250,
(9*sin(q3)*(qp1 + qp2))/6250, 0];
%Gravity vector
G =[(8829*cos(q1 + q2 + q3))/50000 + (20601*cos(q1 + q2))/50000 + (32373*cos(q1))/50000;
(8829*cos(q1 + q2 + q3))/50000 + (20601*cos(q1 + q2))/50000;
(8829*cos(q1 + q2 + q3))/50000];
%Dynamic equations
T=D*qdp+C*qp+G;
end