Dynamics of Articulated Robots Kris Hauser ECE 383
Dynamics of Articulated Robots Kris Hauser ECE 383 / ME 442 Spring 2015
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 … • Brief discussion of computational complexity • Featherstone algorithm: fast method for computing forward dynamics (torques to accelerations) and inverse dynamics (accelerations to torques) • Constrained 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)
Quiz
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 •
Computational Complexity 1. 2. 3. 4. Evaluate matrix B(q) Vector C(q, q’) Vector G(q) Invert B(q) O(n 3) O(n 4) O(n 3)
Newton-Euler Method (Featherstone 1984) • Explicitly solves a linear system for joint constraint forces and accelerations, related via Newton’s equations • No matrix inversions larger than 6 x 6 • Faster forward/inverse dynamics for large chains (O(n))
Forward Dynamics: Basic Intuition •
Software • Both Lagrangian dynamics and Newton-Euler methods are implemented in Klamp’t • Lagrangian form is usually most mathematically convenient representation • Newton-Euler is usually more efficient for simulation
Calculating Langrangian equation terms quicker •
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 • Principles Ch. 4. 1 -4. 4
- Slides: 37