Dynamics of Articulated Robots Kris Hauser CS B
Dynamics of Articulated Robots Kris Hauser CS B 659: Principles of Intelligent Robot Motion Spring 2013
Agenda • Basic elements of simulation • Derive the standard form of the dynamics of an articulated robot in joint space • Also works for humans, biological systems, non-actuated mechanical systems … • Featherstone algorithm: fast method for computing forward dynamics (torques to accelerations) and inverse dynamics (accelerations to torques) • Constrained dynamics
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
Rigid body ordinary differential equations •
Articulated body ODEs •
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 • Better integration schemes are available • (e. g. , Runge-Kutta methods, implicit integration, adaptive step sizes, etc) • Beyond the scope of this course
DYNAMICS OF RIGID BODIES
Kinetic energy for rigid body • Rigid body with velocity v, angular velocity w about COM • KE = ½ (m v. Tv + w. T H w) • World-space inertia tensor H = R HL RT 1/2 w v T H 0 0 m I w v
Kinetic energy derivatives •
Summary • Gyroscopic “force”
Force off of COM F x
Force off of COM F x
Generalized torque f Now consider the equivalent force f, torque τ at COM
Generalized torque f
Generalized torque f
Principle of virtual work f F
Principle of virtual work f F f τ
ARTICULATED ROBOT DYNAMICS
Robot Dynamics •
Lagrangian Mechanics • Kinetic energy Potential energy
Lagrangian Mechanics • A system of n partial differential equations
Example: Point Mass • Sanity check: Newton’s laws
Kinetic energy for articulated robot • Mass matrix: symmetric positive definite
Derivative of K. E. w. r. t q •
Potential energy for articulated robot in gravity field • Generalized gravity
Putting it all together • Group these terms together
Final canonical form • Generalized inertia Centrifugal/ coriolis forces Generalized gravity Generalized forces (joint torques + external forces)
Forward/Inverse Dynamics •
Example: RP manipulator
Application: Effective Inertia •
Application: Effective Inertia •
Application: Effective Inertia • Can be infinite at singular configurations!
Application: Feedforward control • Feedback control: let torques be a function of the current error between actual and desired configuration • Problem: heavy arms require strong torques, requiring a stiff system • Stiff systems become unstable relatively quickly
Application: Feedforward control • Solution: include feedforward torques to reduce reliance on feedback • Estimate the torques that would compensate for gravity and coriolis forces, send those torques to the motors
Feedforward Torques •
Newton-Euler Method (Featherstone 1984) • Explicitly solves a linear system for joint constraint forces and accelerations, related via Newton’s equations • No matrix larger than 6 x 6 • Faster forward/inverse dynamics for large chains (O(n) vs O(n 3) for direct matrix computations)
Forward Dynamics: Basic Intuition •
Software • Both Lagrangian dynamics and Newton-Euler methods are implemented in Kris. Library • Lagrangian form is usually most mathematically convenient representation
CONSTRAINED DYNAMICS
Constrained Systems •
The Wrong Way •
The Right Way… •
Solving… •
Back to Pseudoinverses • A pseudoinverse A# of the matrix A is a matrix such that • A = AA#A • A# = A#AA# • Generalizes the concept of inverse to non-square, noninvertible matrices • Such a matrix exists (in fact, there are infinitely many) • The Moore-Penrose pseudoinverse, denoted A+, can be derived as • A+ = (ATA)-1 AT when ATA is invertible (overconstrained) • A+ = AT(AAT)-1 when AAT is invertible (underconstrained)
Properties • Note connection to least-squares formula • Ax=b => x = A+b • If system is overconstrained, this solution minimizes ||b-Ax||2 • If system is underconstrained, this solution minimizes ||x||2 • Note that (I-AA+)Ay = 0 is always satisfied • (I-AA+) is a projection matrix
Weighted Pseudoinverse • If (AAT)-1 exists, given any positive definite weighting matrix W, we can derive a new pseudoinverse • A# = W-1 AT(AW-1 AT)-1 • This is a weighted pseudoinverse • Has the property that x=A#b is a solution to Ax = b such that • x minimizes x. TWx – a weighted norm
Weighted Pseudoinverse •
Rigid Body Simulators •
Next class • Feedback control • Principles App J
- Slides: 50