Analytical Mechanics: Variational Principles Shinichi Hirai Dept. Robotics, Ritsumeikan Univ. Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 1 / 71
Agenda Agenda 1 Variational Principle in Statics 2 Variational Principle in Statics under Constraints 3 Variational Principle in Dynamics 4 Variational Principle in Dynamics under Constraints Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 2 / 71
Variational Principle in Statics Statics Variation principle in statics minimize I = U W under constraint minimize I = U W subject to R = 0 Solutions analytically solve δi = 0 numerical optimization (fminbnd or fmincon) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 3 / 71
Variational Principle in Statics Example (simple pendulum) C θ l y m O x mg λ simple pendulum of length l and mass m suspended at point C τ: external torque around C, θ: angle around C Given τ, derive θ at equilibrium. Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 4 / 71
Variational Principle in Statics Statics in variational form U W potential energy work done by external forces/torques Variational principle in statics Internal energy I = U W reaches to its minimum at equilibrium: I = U W minimum Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 5 / 71
Variational Principle in Statics Statics in variational form Solutions: 1 Solve minimize I = U W analytically 2 Solve minimize I = U W numerically 3 Solve δi = 0 analytically Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 6 / 71
Variational Principle in Statics Example (simple pendulum) C θ l y O x m mg λ U = mgl(1 cos θ), W = τθ I = mgl(1 cos θ) τθ Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 7 / 71
Variational Principle in Statics Example (simple pendulum) Solve analytically minimize I = mgl(1 cos θ) τθ I = mgl sin θ τ = 0 θ Equilibrium of moment around C Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 8 / 71
Variational Principle in Statics Example (simple pendulum) Solve numerically minimize I = mgl(1 cos θ) τθ ( π θ π) Let m = 0.01, l = 2.0, g = 9.8, τ = 0.1 Apply fminbnd to minimize a function numerically Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 9 / 71
Variational Principle in Statics Example (simple pendulum) File internal_energy_simple_pendulum.m function I = internal_energy_simple_pendulum(theta) global mass; global length; global grav; global tau; end U = mass*grav*length*(1-cos(theta)); W = tau*theta; I = U - W; Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 10 / 71
Variational Principle in Statics Example (simple pendulum) File internal_energy_simple_pendulum_min.m global mass; global length; global grav; global tau; mass = 0.01; length = 2.0; grav = 9.8; tau = 0.1; [thetamin, Imin] =... fminbnd(@internal_energy_simple_pendulum, -pi, pi); thetamin Imin Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 11 / 71
Variational Principle in Statics Example (simple pendulum) Result: >> internal_energy_simple_pendulum_min thetamin = 0.5354 Imin = -0.0261 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 12 / 71
Variational Principle in Statics Example (simple pendulum) Solve analytically δi = 0 I = mgl(1 cos θ) τθ I + δi = mgl(1 cos(θ + δθ)) τ(θ + δθ) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 13 / 71
Variational Principle in Statics Example (simple pendulum) Note that cos(θ + δθ) = cos θ (sin θ)δθ: I = mgl(1 cos θ) τθ I + δi = mgl(1 cos θ + (sin θ)δθ) τ(θ + δθ) δi = mgl(sin θ)δθ τδθ = (mgl sin θ τ)δθ 0, δθ mgl sin θ τ = 0 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 14 / 71
Variational Principle in Statics under Constraints Example (pendulum in Cartesian coordinates) C R<0 y l R=0 m R>0 O x mg λ simple pendulum of length l and mass m suspended at point C [ x, y ] T : position of mass [ f x, f y ] T : external force applied to mass Given [ f x, f y ] T, derive [ x, y ] T at equilibrium. Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 15 / 71
Variational Principle in Statics under Constraints Example (pendulum in Cartesian coordinates) C R<0 y l R=0 m R>0 O x mg λ geometric constraint distance between C and mass = l R = { x 2 + (y l) 2} 1/2 l = 0 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 16 / 71
Variational Principle in Statics under Constraints Statics under single constraint U W R potential energy work done by external forces/torques geometric constraint Variational principle in statics Internal energy U W reaches to its minimum at equilibrium under geometric constraint R = 0: minimize U W subject to R = 0 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 17 / 71
Variational Principle in Statics under Constraints Statics under single constraint Solutions: 1 Solve minimize U W subject to R = 0 analytically 2 Solve minimize U W subject to R = 0 numerically Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 18 / 71
Variational Principle in Statics under Constraints Statics under single constraint Solve minimize U W subject to R = 0 analytically minimize I = U W λr λ: Lagrange s multiplier δi = δ(u W λr) = 0 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 19 / 71
Variational Principle in Statics under Constraints Example (pendulum in Cartesian coordinates) C R<0 y l R=0 m R>0 O x mg λ U = mgy, W = f x x + f y y R = { x 2 + (y l) 2} 1/2 l Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 20 / 71
Variational Principle in Statics under Constraints Example (pendulum in Cartesian coordinates) [ {x I = mgy (f x x + f y y) λ 2 + (y l) 2} ] 1/2 l Note that δr = R x δx + R y δy, where R x = R x = x { x 2 + (y l) 2} 1/2 R y = R y = (y l) { x 2 + (y l) 2} 1/2 δi = mg δy f x δx f y δy λr x δx λr y δy = ( f x λr x )δx + (mg f y λr y )δy 0, δx, δy Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 21 / 71
Variational Principle in Statics under Constraints Example (pendulum in Cartesian coordinates) f x λr x = 0 mg f y λr y = 0 [ 0 mg ] + [ fx f y ] + λ [ Rx R y ] = [ 0 0 ] [ 0 mg ] grav. force, [ fx f y ] ext. force, [ Rx λ R y ] constraint force gradient vector ( to R = 0) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 22 / 71
Variational Principle in Statics under Constraints Example (pendulum in Cartesian coordinates) three equations w.r.t. three unknowns x, y, and λ: f x λr x = 0 mg f y λr y = 0 R = 0 we can determine position of mass [ x, y ] T and magnitude of constraint force λ Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 23 / 71
Variational Principle in Statics under Constraints Example (pendulum in Cartesian coordinates) Note I = U W λr = U (W + λr) C y θ l R=-1 R=0 R=1 R=2 m λ R magnitude of a constraint force distance along the force constraint force contour R = constant O x mg λ λr work done by a constraint force W + λr work done by external & constraint forces Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 24 / 71
Variational Principle in Statics under Constraints Statics under single constraint Solve numerically minimize I = U W subject to R = 0 Let m = 0.01, l = 2.0, g = 9.8, f x = 0.1, f y = 0.2 Apply fmincon to minimize a function numerically under constraints Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 25 / 71
Variational Principle in Statics under Constraints Example (pendulum in Cartesian coordinates) File internal_energy_pendulum_cartesian.m function I = internal_energy_pendulum_cartesian (q) global mass; global grav; global fx; global fy; x = q(1); y = q(2); U = mass*grav*y; W = fx*x + fy*y; I = U - W; end Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 26 / 71
Variational Principle in Statics under Constraints Example (pendulum in Cartesian coordinates) File nonlcon.m function [ineq, cond] = nonlcon (q) global length; x = q(1); y = q(2); R = sqrt(x^2+(y-length)^2)-length; ineq = []; cond = [R]; end Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 27 / 71
Variational Principle in Statics under Constraints Example (pendulum in Cartesian coordinates) File internal_energy_pendulum_cartesian_min.m global mass; global length; global grav; global fx; global fy; mass = 0.01; length = 2.0; grav = 9.8; fx = 0.1; fy = 0.2; qinit = [0;0]; [qmin, Imin] = fmincon(@internal_energy_pendulum_cartesian qinit, [],[], [],[], [],[], @nonlcon); qmin fmin Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 28 / 71
Variational Principle in Statics under Constraints Example (pendulum in Cartesian coordinates) Result: >> internal_energy_pendulum_cartesian_min Local minimum found that satisfies the constraints. <stopping criteria details> qmin = 1.4001 3.4281 Imin = -0.4897 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 29 / 71
Variational Principle in Statics under Constraints Statics under multiple constraints U W R 1, R 2 potential energy work done by external forces/torques geometric constraints Variational principle in statics Internal energy U W reaches to its minimum at equilibrium under geometric constraints R 1 = 0 and R 2 = 0: minimize U W subject to R 1 = 0, R 2 = 0 δi = δ(u W λ 1 R 1 λ 2 R 2 ) = 0 λ 1, λ 2 : Lagrange s multipliers Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 30 / 71
Variational Principle in Dynamics Dynamics Lagrangian L = T U + W L = T U + W + λr (under constraint) Lagrange equations of motion L q d L dt q = 0 Solutions numerical ODE solver (ode45) constraint stabilization method (CSM) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 31 / 71
Variational Principle in Dynamics Example (simple pendulum) C θ l y m O x mg λ simple pendulum of length l and mass m suspended at point C τ: external torque around C at time t, θ: angle around C at time t Derive the motion of the pendulum. Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 32 / 71
Variational Principle in Dynamics Dynamics in variational form T U W kinetic energy potential energy work done by external forces/torques Lagrangian L = T U + W Lagrange equation of motion L θ d L dt θ = 0 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 33 / 71
Variational Principle in Dynamics Example (simple pendulum) C θ l y m O x mg λ T = 1 2 (ml 2 ) θ 2 U = mgl(l cos θ), W = τθ Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 34 / 71
Variational Principle in Dynamics Example (simple pendulum) Lagrangian L = 1 2 (ml 2 ) θ 2 mgl(l cos θ) + τθ partial derivatives L θ = mgl sin θ + τ, L Lagrange equation of motion θ = (ml 2 ) θ d L = ml 2 θ dt θ mgl sin θ + τ ml 2 θ = 0 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 35 / 71
Variational Principle in Dynamics Example (simple pendulum) Equation of the pendulum motion ml 2 θ = mgl sin θ + τ Canonical form of ordinary differential equation θ = ω ω = 1 (τ mgl sin θ) ml 2 can be solved numerically by an ODE solver Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 36 / 71
Variational Principle in Dynamics Example (simple pendulum) Let m = 0.01, l = 2.0, g = 9.8 and τ(t) = 0 File pendulum_ode.m function dotq = pendulum_ode (t,q) global mass; global length; global grav; theta = q(1); omega = q(2); dottheta = omega; dotomega = 1/(mass*length*length)*... (external_torque(t) - mass*grav*length*sin(theta)); dotq = [dottheta; dotomega]; end Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 37 / 71
Variational Principle in Dynamics Example (simple pendulum) File external_torque.m function tau = external_torque(t) tau = 0; end File pendulum.m global mass; global length; global grav; mass = 0.01; length = 2.0; grav = 9.8; interval = [0, 10]; qinit = [pi/3; 0]; % [ theta(0); omega(0) ] [time, q] = ode45(@pendulum_ode, interval, qinit); plot(time, q(:,1)); Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 38 / 71
Variational Principle in Dynamics Example (simple pendulum) Result: >> pendulum >> Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 39 / 71
Variational Principle in Dynamics Example (simple pendulum) Graphs: plot(time, q(:,1)); saveas(gcf, pendulum_theta.png ); plot(time, q(:,2)); saveas(gcf, pendulum_omega.png ); plot(q(:,1), q(:,2)); saveas(gcf, pendulum_phase.png ); Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 40 / 71
Variational Principle in Dynamics Example (simple pendulum) t θ (pendulum theta.png) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 41 / 71
Variational Principle in Dynamics Example (simple pendulum) t ω (pendulum omega.png) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 41 / 71
Variational Principle in Dynamics Example (simple pendulum) θ ω (phase plot) (pendulum phase.png) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 41 / 71
Variational Principle in Dynamics Example (pendulum with viscous friction) Assumptions viscous friction around supporting point C works viscous friction causes a negative torque around C magnitude of the torque is proportional to angular velocity viscous friction torque = b θ (b: positive constant) Replacing τ by τ b θ: (ml 2 ) θ = (τ b θ) mgl sin θ θ = ω ω = 1 (τ bω mgl sin θ) ml 2 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 42 / 71
Variational Principle in Dynamics Example (pendulum with viscous friction) Let m = 0.01, l = 2.0, g = 9.8, b = 0.01 and τ(t) = 0 File pendulum_viscous_ode.m function dotq = pendulum_viscous_ode (t,q) global mass; global length; global grav; global viscous; theta = q(1); omega = q(2); dottheta = omega; dotomega = 1/(mass*length*length)*... (external_torque(t) - mass*grav*length*sin(theta).. - viscous*omega); dotq = [dottheta; dotomega]; end Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 43 / 71
Variational Principle in Dynamics Example (pendulum with viscous friction) File pendulum_viscous.m global mass; global length; global grav; global viscous; mass = 0.01; length = 2.0; grav = 9.8; viscous = 0.01; interval = [0, 10]; qinit = [pi/3; 0]; % [ theta(0); omega(0) ] [time, q] = ode45(@pendulum_viscous_ode,... interval, qinit); plot(time, q(:,1)); saveas(gcf, pendulum_viscous_theta.png ); plot(time, q(:,2)); saveas(gcf, pendulum_viscous_omega.png ); plot(q(:,1), q(:,2)); saveas(gcf, pendulum_viscous_phase.png ); Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 44 / 71
Variational Principle in Dynamics Example (pendulum with viscous friction) t θ (pendulum viscous theta.png) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 45 / 71
Variational Principle in Dynamics Example (pendulum with viscous friction) t ω (pendulum viscous omega.png) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 45 / 71
Variational Principle in Dynamics Example (pendulum with viscous friction) θ ω (phase plot) (pendulum viscous phase.png) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 45 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) C R<0 y l R=0 m R>0 O x mg λ simple pendulum of length l and mass m suspended at point C [ x, y ] T : position of mass at time t [ f x, f y ] T : external force applied to mass at time t Derive the motion of the pendulum in Cartesian coordinates. Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 46 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) C R<0 y l R=0 m R>0 O x mg λ geometric constraint distance between C and mass = l R = { x 2 + (y l) 2} 1/2 l = 0 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 47 / 71
Variational Principle in Dynamics under Constraints Dynamics under single constraint T U W kinetic energy potential energy work done by external forces/torques Lagrangian Lagrange equations of motion L = T U + W + λr L x d L dt ẋ = 0 L y d L dt ẏ = 0 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 48 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) C θ l y m O x mg λ T = 1 2 m{ẋ 2 + ẏ 2 } U = mgy, W = f x x + f y y R = { x 2 + (y l) 2} 1/2 l Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 49 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) Lagrangian L = 1 [ {x 2 m{ẋ 2 + ẏ 2 } mgy + f x x + f y y + λ 2 + (y l) 2} ] 1/2 l partial derivatives L x = f x + λr x, L y = mg + f y + λr y, Lagrange equations of motion L ẋ = mẋ L ẏ = mẏ f x + λr x mẍ = 0 mg + f y + λr y mÿ = 0 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 50 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) Lagrange equations of motion [ ] [ ] 0 fx + + λ mg f y [ Rx R y ] + { [ ẍ m ÿ gravitational external constraint inertial dynamic equilibrium among forces ]} = [ 0 0 ] Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 51 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) three equations w.r.t. three unknowns x, y, and λ: mẍ = f x + λr x mÿ = mg + f y + λr y R = 0 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 52 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) three equations w.r.t. three unknowns x, y, and λ: mẍ = f x + λr x mÿ = mg + f y + λr y R = 0 Mixture of differential and algebraic equations Difficult to solve the mixture of differential and algebraic equations Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 52 / 71
Variational Principle in Dynamics under Constraints Constraint stabilization method (CSM) Constraint stabilization convert algebraic eq. to its almost equivalent differential eq. algebraic eq. R = 0 differential eq. R + 2α Ṙ + α 2 R = 0 (α: large positive constant) critical damping (converges to zero most quickly) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 53 / 71
Variational Principle in Dynamics under Constraints Constraint stabilization method (CSM) Dynamic equation of motion under geometric constraint: differential eq. L q d L dt q = 0 algebraic eq. R = 0 differential eq. L q d L dt q = 0 differential eq. R + 2α Ṙ + α 2 R = 0 can be solved numerically by an ODE solver. Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 54 / 71
Variational Principle in Dynamics under Constraints Computing equation for constraint stabilization Assume R depends on x and y: R(x, y) = 0 Differentiating R(x, y) w.r.t time t: Ṙ = R x dx dt + R dy y dt = R xẋ + R y ẏ Differentiating R x (x, y) and R y (x, y) w.r.t time t: Ṙ x = R x x Ṙ y = R y x Second order time derivative: dx dt + R x dy y dt = R xxẋ + R xy ẏ dx dt + R y dy y dt = R yxẋ + R yy ẏ R = (Ṙxẋ + R x ẍ) + (Ṙyẏ + R y ÿ) = (R xx ẋ + R xy ẏ)ẋ + R x ẍ + (R yx ẋ + R yy ẏ)ẏ + R y ÿ Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 55 / 71
Variational Principle in Dynamics under Constraints Computing equation for constraint stabilization Second order time derivative: R = [ ] [ ] ẍ R x R y ÿ + [ ẋ ẏ ] [ R xx R xy R yx R yy Equation to stabilize constraint: [ ] [ ] ẍ R x R y = [ ẋ ẏ ] [ R xx R xy ÿ R yx R yy + 2α(R x ẋ + R y ẏ) + α 2 R ] [ ẋ ẏ ] [ ẋ ẏ ] ] [ ] [ ] v R x R x y v y v x = ẋ, vy = ẏ = [ ] [ R v x v xx R xy y R yx R yy + 2α(R x v x + R y v y ) + α 2 R ] [ vx v y ] Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 56 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) Equation for stabilizing constraint R(x, y) = 0: R x v x R y v y = C(x, y, v x, v y ) where and C(x, y, v x, v y ) = [ ] [ R v x v xx R xy y R yx R yy + 2α(R x v x + R y v y ) + α 2 R ] [ vx v y ] P = {x 2 + (y l) 2 } 1/2, R x = xp, R y = (y l)p R xx = P x 2 P 3, R yy = P (y l) 2 P 3 R xy = R yx = x(y 1)P 3 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 57 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) Combining equations of motion and equation for constraint stabilization: ẋ = v x m R x m R y R x R y v x v y λ ẏ = v y = f x mg + f x C(x, y, v x, v y ) five equations w.r.t. five unknown variables x, y, v x, v y and λ given x, y, v x, v y = ẋ, ẏ, v x, v y This canonical ODE can be solved numerically by an ODE solver. Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 58 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) Let m = 0.01, l = 2.0, g = 9.8, α = 1000 and f x (t) = 0, f y (t) = 0 File pendulum_cartesian_ode.m function dotq = pendulum_cartesian_ode (t,q) global mass; global length; global grav; global alpha; x = q(1); y = q(2); vx = q(3); vy = q(4); dotx = vx; doty = vy; R = sqrt(x^2+(y-length)^2) - length; P = 1/sqrt(x^2+(y-length)^2); Rx = x*p; Ry = (y-length)*p; Rxx = P - x^2*p^3; Ryy = P - (y-length)^2*p^3; Rxy = -x*(y-length)*p^3; C = [vx,vy]*[rxx, Rxy; Rxy, Ryy]*[vx;vy]... + 2*alpha*(Rx*vx + Ry*vy)... + 2*alpha^2*R; Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 59 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) A = [mass, 0, -Rx; 0, mass, -Ry; -Rx, -Ry, 0]; b = [ 0; -mass*grav; C ]; s = A \ b; dotvx = s(1); dotvy = s(2); dotq = [dotx; doty; dotvx; dotvy]; end Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 60 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) File pendulum_cartesian.m global mass; global length; global grav; mass = 0.01; length = 2.0; grav = 9.8; global alpha; alpha = 1000; interval = [0, 10]; qinit = [length*sin(pi/3); length*(1-cos(pi/3)); 0; 0]; [time, q] = ode45(@pendulum_cartesian_ode,... interval, qinit); plot(time,q(:,1), -, time,q(:,2), -- ); saveas(gcf, pendulum_cartesian_x_y.png ); Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 61 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) plot(time,q(:,3), -, time,q(:,4), -- ); saveas(gcf, pendulum_cartesian_vx_vy.png ); plot(q(:,1), q(:,2)); saveas(gcf, pendulum_cartesian_path.png ); angle = atan2(q(:,1), length-q(:,2)); plot(time, angle); saveas(gcf, pendulum_cartesian_computed_angle.png ); R = sqrt(q(:,1).^2 + (q(:,2)-length).^2)-length; plot(time, R); saveas(gcf, pendulum_cartesian_r.png ); Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 62 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) t x, y (pendulum Cartesian x y.png) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 63 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) t v x, v y (pendulum Cartesian vx vy.png) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 63 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) x y (pendulum Cartesian path.png) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 63 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) t computed θ (pendulum Cartesian computed angle.png) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 63 / 71
Variational Principle in Dynamics under Constraints Example (pendulum in Cartesian coordinates) t constraint R (pendulum Cartesian R.png) Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 63 / 71
Variational Principle in Dynamics under Constraints Notice Lagrangian L = T U + W + λr = T (U W λr) = T I Lagrangian is equal to the difference between kinetic energy and internal energy under a constraint Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 64 / 71
Summary Summary Variational principles statics I = U W statics under constraint I = U W λr dynamics L = T U + W δi 0 dynamics under constraint L = T U + W + λr constraint stabilization method L q d L dt q = 0 Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 65 / 71
Summary Summary How to solve a static problem Solve (nonlinear) equations originated from variation or Numerically minimize internal energy How to solve a dynamic problem Step 1 Derive Lagrange equations of motion analytically Step 2 Solve the derived equations numerically Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 66 / 71
Summary Numerical Simulation Report # 1 due date : Nov. 12 (Mon) 1 Simulate the dynamic motion of a simple pendulum described with angle θ. Apply any ODE solver to solve the equation of motion numerically. 2 Simulate the dynamic motion of a simple pendulum described with Cartesian coordinates x and y under one geometric constraint. Apply constraint stabilization method to convert the constraint into its almost equivalent ODE, then apply any ODE solver to solve a set of ODEs (equations of motion and equation for constraint stabilization) numerically. Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 67 / 71
Appendix Appendix: Variational calculus Small virtual deviation of variables or functions. y = x 2 Let us change variable x to x + δx, then variable y changes to y + δy accordingly. Thus y + δy = (x + δx) 2 = x 2 + 2x δx + (δx) 2 = x 2 + 2x δx δy = 2x δx Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 68 / 71
Appendix Appendix: Variational calculus Small virtual deviation of variables or functions. I = T 0 {x(t)} 2 dt Let us change function x(t) to x(t) + δx(t), then variable I changes to I + δi accordingly. I + δi = = T 0 T 0 {x(t) + δx(t)} 2 dt {x(t)} 2 + 2x(t) δx(t) dt Thus δi = T 0 2x(t) δx(t) dt Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 69 / 71
Appendix Appendix: Variational calculus Variational operator δ δθ δf (θ) virtual deviation of variable θ virtual deviation of function f (θ) virtual increment of variable increment of function simple examples δ(5x) = 5 δx δ sin θ = (cos θ) δθ, δf (θ) = f (θ)δθ θ θ + δθ f (θ) f (θ + δθ) = f (θ) + f (θ)δθ f (θ) f (θ) + δf (θ) δx 2 = 2x δx δ cos θ = ( sin θ) δθ Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 70 / 71
Appendix Appendix: Variational calculus Variational operator δ δθ δf (θ) virtual deviation of variable θ virtual deviation of function f (θ) virtual increment of variable increment of function simple examples δ(5x) = 5 δx δ sin θ = (cos θ) δθ, δf (θ) = f (θ)δθ θ θ + δθ f (θ) f (θ + δθ) = f (θ) + f (θ)δθ f (θ) f (θ) + δf (θ) δx 2 = 2x δx δ cos θ = ( sin θ) δθ Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 70 / 71
Appendix Appendix: Variational calculus assume that θ depends on time t virtual increment of function θ(t) θ(t) + δθ(t) dθ dt d dθ (θ + δθ) = dt dt + d dt δθ θ dt (θ + δθ) dt = θ dt + δθ dt variation of derivative and integral δ δ dθ dt = d dt δθ θ dt = δθ dt variational operator and differential/integral operator can commute Shinichi Hirai (Dept. Robotics, Ritsumeikan Univ.) Analytical Mechanics: Variational Principles 71 / 71