 Dynamics of Articulated Robots Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013.

Presentation on theme: "Dynamics of Articulated Robots Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013."— Presentation transcript:

Dynamics of Articulated Robots Kris Hauser CS B659: 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  (t) Mass m, local inertia tensor H L

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)  x k = x k-1 + h f’(x k-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  KE = ½ (m v T v +  T H  ) World-space inertia tensor H = R H L R T vv T vv H 0 0 m I 1/2

Kinetic energy derivatives

Summary Gyroscopic “force”

Force off of COM x F

x F

Generalized torque f Now consider the equivalent force f, torque τ at COM

Generalized torque f

f

Principle of virtual work f F

f F fτfτ

ARTICULATED ROBOT DYNAMICS

Robot Dynamics

Lagrangian Mechanics Kinetic energyPotential energy

Lagrangian Mechanics A system of n partial differential equations

Sanity check: Newton’s laws Example: Point Mass

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

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 6x6 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 KrisLibrary 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 + = (A T A) -1 A T when A T A is invertible(overconstrained) A + = A T (AA T ) -1 when AA T 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 (AA T ) -1 exists, given any positive definite weighting matrix W, we can derive a new pseudoinverse A # = W -1 A T (AW -1 A T ) -1 This is a weighted pseudoinverse Has the property that x=A # b is a solution to Ax = b such that x minimizes x T Wx – a weighted norm

Weighted Pseudoinverse

Rigid Body Simulators

Next class Feedback control Principles App J

Download ppt "Dynamics of Articulated Robots Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013."

Similar presentations