Download presentation
Presentation is loading. Please wait.
1
ECE 383 / ME 442 Fall 2015 Kris Hauser
Dynamics ECE 383 / ME 442 Fall 2015 Kris Hauser
2
Issue Kinematic planning works fine for industrial manipulators: most come with a “go-to” command, and track paths well But: How did an engineer make the “go-to” command work in the first place? They could move faster if timing were considered What about cars, planes, drones, mobile robots, and humanoid robots? We need to begin thinking about velocities, forces, inertias, and transmissions… dynamics!
3
Agenda Rigid body dynamics From dynamic equations to simulations
Reference: Murray, Li, and Sastry. MIRM Ch
4
Dynamics Definition: A description of how a system moves over time in reaction to forces and torques Distinguished from kinematics, which purely describes states and geometric paths
5
Rigid Body Dynamics The following can be derived from first principles using Newton’s laws + rigidity assumption Parameters CM translation c(t) CM velocity v(t) Rotation R(t) Angular velocity w(t) Mass m, local inertia tensor HL
6
Rigid body ordinary differential equations
We will express forces and torques in terms of terms of H (a function of R), 𝜔, 𝑣 and 𝜔 𝑓 = 𝑚 𝑣 𝜏 = [𝜔] 𝐻 𝜔 + 𝐻 𝜔 Rearrange… 𝑣 =𝑓/𝑚 𝜔 = 𝐻 −1 (𝜏− 𝜔 𝐻 𝜔 ) So knowing f(t) and τ(t), we can derive c(t), v(t), R(t), and w(t) by solving an ordinary differential equation (ODE)
7
Preliminaries: Newtonian mechanics of a 1D particle
Kinetic energy, ½ mv2 Momentum: derivative of KE w.r.t. velocity, mv Force: affects the time derivative of momentum, f=ma
8
Newtonian mechanics of a rigid body
Assume a body 𝐵∈ 𝑅 3 has density 𝜌(𝑥) Velocity 𝑣∈ 𝑅 3 , angular velocity 𝜔∈ 𝑅 3 about some origin point 𝑜∈ 𝑅 3
9
Newtonian mechanics of a rigid body
Assume a body 𝐵∈ 𝑅 3 has density 𝜌(𝑥) Velocity 𝑣∈ 𝑅 3 , angular velocity 𝜔∈ 𝑅 3 about some origin point 𝑜∈ 𝑅 3 The velocity at a point 𝑥 is 𝑣+𝜔× 𝑥−𝑜
10
Newtonian mechanics of a rigid body
Assume a body 𝐵∈ 𝑅 3 has density 𝜌(𝑥) Velocity 𝑣∈ 𝑅 3 , angular velocity 𝜔∈ 𝑅 3 about some origin point 𝑜∈ 𝑅 3 The velocity at a point 𝑥 is 𝑣+𝜔× 𝑥−𝑜 The overall KE is 𝐵 𝑣+𝜔× 𝑥−𝑜 2 𝜌 𝑥 𝑑𝑥
11
Newtonian mechanics of a rigid body
KE = 1 2 𝐵 𝑣+𝜔× 𝑥−𝑜 2 𝜌 𝑥 𝑑𝑥 = 1 2 𝐵 𝑣 𝑇 𝑣+2 𝑣 𝑇 𝜔× 𝑥−𝑜 + 𝜔× 𝑥−𝑜 2 𝜌 𝑥 𝑑𝑥
12
Newtonian mechanics of a rigid body
KE = 1 2 𝐵 𝑣+𝜔× 𝑥−𝑜 2 𝜌 𝑥 𝑑𝑥 = 1 2 𝐵 𝑣 𝑇 𝑣+2 𝑣 𝑇 𝜔× 𝑥−𝑜 + 𝜔× 𝑥−𝑜 2 𝜌 𝑥 𝑑𝑥 First term gives 𝑣 𝑇 𝑣 𝐵 𝜌 𝑥 𝑑𝑥 = 1 2 𝑚 𝑣 2 𝑚= 𝐵 𝜌 𝑥 𝑑𝑥 is the mass
13
Newtonian mechanics of a rigid body
KE = 1 2 𝐵 𝑣+𝜔× 𝑥−𝑜 2 𝜌 𝑥 𝑑𝑥 = 1 2 𝐵 𝑣 𝑇 𝑣+2 𝑣 𝑇 𝜔× 𝑥−𝑜 + 𝜔× 𝑥−𝑜 2 𝜌 𝑥 𝑑𝑥 First term gives 1 2 𝑚 𝑣 2 Second term gives 𝑣 𝑇 𝜔× 𝐵 𝑥𝜌 𝑥 𝑑𝑥 −𝑜𝑚 𝐵 𝑥𝜌 𝑥 𝑑𝑥 is m * the center of mass (COM) c 𝑣 𝑇 𝜔× 𝑐−𝑜
14
Newtonian mechanics of a rigid body
KE = 1 2 𝐵 𝑣+𝜔× 𝑥−𝑜 2 𝜌 𝑥 𝑑𝑥 = 1 2 𝐵 𝑣 𝑇 𝑣+2 𝑣 𝑇 𝜔× 𝑥−𝑜 + 𝜔× 𝑥−𝑜 2 𝜌 𝑥 𝑑𝑥 First term gives 1 2 𝑚 𝑣 2 Second term gives 𝑣 𝑇 𝜔× 𝑐−𝑜 Third term gives 𝐵 𝑥−𝑜 𝜔 2 𝜌 𝑥 𝑑𝑥 = 1 2 𝐵 𝜔 𝑇 𝑥−𝑜 𝑇 𝑥−𝑜 𝜔𝜌 𝑥 𝑑𝑥
15
Newtonian mechanics of a rigid body
KE = 1 2 𝐵 𝑣+𝜔× 𝑥−𝑜 2 𝜌 𝑥 𝑑𝑥 = 1 2 𝐵 𝑣 𝑇 𝑣+2 𝑣 𝑇 𝜔× 𝑥−𝑜 + 𝜔× 𝑥−𝑜 2 𝜌 𝑥 𝑑𝑥 First term gives 1 2 𝑚 𝑣 2 Second term gives 𝑣 𝑇 𝜔× 𝑐−𝑜 Third term gives 𝐵 𝑥−𝑜 𝜔 2 𝜌 𝑥 𝑑𝑥 = 1 2 𝐵 𝜔 𝑇 𝑥−𝑜 𝑇 𝑥−𝑜 𝜔𝜌 𝑥 𝑑𝑥 = 1 2 𝜔 𝑇 𝐵 𝑥−𝑜 𝑇 𝑥−𝑜 𝜌 𝑥 𝑑𝑥 𝜔= 1 2 𝜔 𝑇 𝐻𝜔 𝐻 is the inertia tensor about 𝑜
16
Invariants First term gives 1 2 𝑚 𝑣 2 Second term gives 𝑣 𝑇 𝜔× 𝑐−𝑜 𝑚
Third term gives 𝜔 𝑇 𝐻𝜔 Usually, we set o=c, so the second term is eliminated H changes as the coordinate frame (R,t) moves, so instead we store HL in a reference frame and let H = RHLRT
17
Kinetic energy for rigid body
Rigid body with velocity v, angular velocity w KE = ½ (m vTv + wT H w) World-space inertia tensor H = R HL RT T w v H 0 0 m I w v 1/2
18
Kinetic energy derivatives
𝜕𝐾𝐸 𝜕𝑣 = 𝑚 𝑣 Force 𝑓 = 𝑑 𝑑𝑡 ( 𝜕𝐾𝐸 𝜕𝑣 )= 𝑚 𝑣 𝜕𝐾𝐸 𝜕𝜔 =𝐻𝜔 𝑑 𝑑𝑡 H = [w]H + H[w] Torque t = 𝑑 𝑑𝑡 𝜕𝐾𝐸 𝜕𝜔 = [w] H w + H 𝜔
19
Summary 𝑓 = 𝑚 𝑣 𝜏 = [𝜔] 𝐻 𝜔 + 𝐻 𝜔 Gyroscopic “force”
20
Force off of COM F x
21
Force off of COM F 𝛿𝑥 x Consider infinitesimal virtual displacement 𝛿𝑥 generated by F. (we don’t know what this is, exactly) The virtual work performed by this displacement is FT𝛿𝑥
22
Generalized torque f Now consider the equivalent force f, torque τ at COM
23
Generalized torque f 𝛿𝑥 𝛿𝑞 Now consider the equivalent force f, torque τ at COM And an infinitesimal virtual displacement of R.B. coordinates 𝛿𝑞
24
Generalized torque f 𝛿𝑥 𝛿𝑞 Now consider the equivalent force f, torque τ at COM And an infinitesimal virtual displacement of R.B. coordinates 𝛿𝑞 Virtual work in configuration space is [fT,τT] 𝛿𝑞
25
Principle of virtual work
𝛿𝑥 𝛿𝑞 [fT,τT] 𝛿𝑞= FT 𝛿𝑥 Since 𝛿𝑥=𝐽 𝑞 𝛿𝑞 we have [fT,τT] 𝛿𝑞= FT𝐽 𝑞 𝛿𝑞
26
Principle of virtual work
𝛿𝑥 𝛿𝑞 [fT,τT] 𝛿𝑞= FT 𝛿𝑥 Since 𝛿𝑥=𝐽 𝑞 𝛿𝑞 we have [fT,τT] 𝛿𝑞= FT𝐽 𝑞 𝛿𝑞 Since this holds no matter what 𝛿𝑞 is, we have [fT,τT] = FTJ(q), Or JT(q) F = f τ
27
Simulation To determine the trajectory, will evolve a system of differential equations over time dx/dt = f(x) x(0) = x0 With x=(c,v,R,w) the state of the rigid body Numerical integration, also known as simulation
28
Numerical integration of ODEs
If dx/dt = f(x) and x(0) are known, then given a step size h, x(kh) xk = xk-1 + h f(xk-1) gives an approximate trajectory for k 1 Provided f is smooth Accuracy depends on h Known as Euler’s method
29
Rigid body simulation with Euler integration
At each step: Compute 𝐻= 𝑅 𝑡 𝐻 𝐿 𝑅 𝑡 𝑇 Sum up all forces at center of mass to obtain ft Sum up all torques about center of mass and add [ 𝜔 𝑡 ] 𝐻 𝜔 𝑡 to obtain tt Integrate 𝑣 𝑡+1 ← 𝑣 𝑡 + 𝑓 𝑡 /𝑚Δ𝑡 Integrate 𝜔 𝑡+1 ← 𝜔 𝑡 + 𝐻 −1 𝜏 𝑡 Δ𝑡 Integrate 𝑐 𝑡+1 ← 𝑐 𝑡 + 𝑣 𝑡 Δ𝑡 Integrate 𝑅 𝑡+1 ← 𝑅 𝑒𝑚 ( 𝜔 𝑡 Δ𝑡) 𝑅 𝑡 Note: accumulating numerical errors will cause Rt to drift away from being a perfect rotation matrix
30
Integration errors Lower error with smaller step size
Consider system whose limit cycle is a circle 𝑑𝑥 𝑑𝑡 𝑑𝑦 𝑑𝑡 = −𝑦 𝑥 Euler integrator diverges for all step sizes! Better integration schemes are available (e.g., Runge-Kutta methods, implicit integration, adaptive step sizes, energy conservation methods, etc) Beyond the scope of this course
31
Dynamic equations x(t): state trajectory
(a function from a real number indicating time to a state vector which may include both configuration and velocity) Uncontrolled dynamic equation: 𝑑𝑥 𝑑𝑡 𝑡 =𝑓(𝑥 𝑡 ,𝑡) An ordinary differential equation (ODE)
32
From second-order ODEs to first-order ODEs
Let 𝑥(𝑡)=(𝑝(𝑡),𝑣(𝑡)) with 𝑣(𝑡)= 𝑑𝑝 𝑡 𝑑𝑡 Then 𝑑𝑥 𝑑𝑡 𝑡 = 𝑑𝑝 𝑑𝑡 (𝑡) 𝑑𝑣 𝑑𝑡 (𝑡)
33
From second-order ODEs to first-order ODEs
Let 𝑥(𝑡)=(𝑝(𝑡),𝑣(𝑡)) with 𝑣(𝑡)= 𝑑𝑝 𝑡 𝑑𝑡 Then 𝑑𝑥 𝑑𝑡 𝑡 = 𝑑𝑝 𝑑𝑡 (𝑡) 𝑑𝑣 𝑑𝑡 (𝑡) = 𝑣 𝑡 𝐺 𝑚 =𝑓 𝑥 𝑡 ,𝑡 Here G is the gravity vector 0 −𝑔 If p is d dimensional, x is 2d-dimensional
34
From time-dependent to time-independent dynamics
If 𝑑𝑥 𝑑𝑡 (𝑡)=𝑓(𝑥 𝑡 ,𝑡) Let y(𝑡)=(𝑥 𝑡 ,𝑡) Then 𝑑𝑦 𝑑𝑡 𝑡 = 𝑑𝑥 𝑑𝑡 (𝑡) 𝑑𝑡 𝑑𝑡 (𝑡) = 𝑓 𝑥 𝑡 ,𝑡 1 =𝑔 𝑦 𝑡
35
Dynamic equation as a vector field
Can ask: From some initial condition, along what trajectory does the state evolve? Where will states from some set of initial conditions end up? Point (convergence), a cycle (limit cycle), or infinity (divergence)?
36
Controlling dynamic systems
Uncontrolled dynamics: From initial conditions that include state x0 and time t0, the system evolves to produce a trajectory x(t). Controlled dynamics: From initial conditions x0, time t0, and given controls u(t), the system evolves to produce a trajectory x(t)
37
Canonical description of controlled dynamic systems
𝑥 𝑡 =𝑓 𝑥 𝑡 ,𝑢 𝑡 Example: u(t) controls a thruster for a point mass under gravity
38
Open vs. Closed loop Open loop control: Closed loop control :
The controls u(t) only depend on time, not x(t) E.g., a planned path, sent to the robot No ability to correct for unexpected errors Closed loop control : The controls u(x(t),t) depend both on time and x(t) Feedback control Requires the ability to measure x(t) (to some extent) In either case we have an ODE, once we have chosen the control function
39
Controlled Dynamics -> 1st order time-independent ODE
Open loop case: If 𝑑𝑥 𝑑𝑡 (𝑡) = 𝑓(𝑥 𝑡 ,𝑢(𝑡)), then let y(t)=(x(t),t) 𝑑𝑦 𝑑𝑡 𝑡 = 𝑓 𝑥 𝑡 ,𝑢 𝑡 1 =𝑔 𝑦 𝑡
40
Controlled Dynamics -> 1st order time-independent ODE
Open loop case: If 𝑑𝑥 𝑑𝑡 (𝑡) = 𝑓(𝑥 𝑡 ,𝑢(𝑡)), then let y(t)=(x(t),t) 𝑑𝑦 𝑑𝑡 𝑡 = 𝑓 𝑥 𝑡 ,𝑢 𝑡 1 =𝑔 𝑦 𝑡 Closed loop case: If 𝑑𝑥 𝑑𝑡 (𝑡) = 𝑓(𝑥 𝑡 ,𝑢(𝑥 𝑡 ,𝑡)), then let y(t)=(x(t),t) 𝑑𝑦 𝑑𝑡 𝑡 = 𝑓 𝑥 𝑡 ,𝑢 𝑥 𝑡 ,𝑡 1 =𝑔 𝑦 𝑡
41
Controlled Dynamics -> 1st order time-independent ODE
Open loop case: If 𝑑𝑥 𝑑𝑡 (𝑡) = 𝑓(𝑥 𝑡 ,𝑢(𝑡)), then let y(t)=(x(t),t) 𝑑𝑦 𝑑𝑡 𝑡 = 𝑓 𝑥 𝑡 ,𝑢 𝑡 1 =𝑔 𝑦 𝑡 Closed loop case: If 𝑑𝑥 𝑑𝑡 (𝑡) = 𝑓(𝑥 𝑡 ,𝑢(𝑥 𝑡 ,𝑡)), then let y(t)=(x(t),t) 𝑑𝑦 𝑑𝑡 𝑡 = 𝑓 𝑥 𝑡 ,𝑢 𝑥 𝑡 ,𝑡 1 =𝑔 𝑦 𝑡 How do we choose u? A subject for future classes
42
Next class Dynamics of articulated robots
Principles Appendix J + Ch
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.