MCE493/593 and EEC492/592 Prosthesis Design and Control Control Systems Part 3 Hanz Richter Department of Mechanical Engineering 2014 1 / 25
Electrical Impedance Electrical impedance: generalization of resistance. Complex ratio between voltage and current: Z(jw) = V(jw)/I(jw) Represent v(t) = Asin(wt) as Ae jwt and i(t) = Bsin(wt φ(w)) as B(w)e jwt φ(w) The complex impedance is then Z = A B(w) eφ(w) Adequate for linear circuits (RLC). Example: Series RLC. The complex impedance can be found by finding the transfer function: v ir L di dt 1 idt = 0 C Make s = jw V(s) RI(s) LsI(s) 1 C I(s)s 1 = 0 Z(jw) = LCw2 +1+RCwj jw = Z(w) e jθ(w) 2014 2 / 25
Mechanical Impedance Considering the analogy: voltage = force and current = velocity, mechanical impedance is defined as the dynamic relationship between force and velocity at certain point (port) in the system. Since forces and velocities other than harmonic are important, the complex representation is rarely used. The differential equation is enough. Example: Mechanical impedance of a mass: f = m dv dt We take the relationship itself to represent the mechanical impedance. 2014 3 / 25
Causality Causality: cause and effect designation at a given mechanical port. Mass with velocity (derivative) causality: f = m dv dt Mass with force (integral) causality: v = 1 fdt m Physics are the same, information flow is different (choices of input (cause) and output (effect) change the mathematical operations to be carried out). 2014 4 / 25
Impedance and Admittance Impedance and admittance are reciprocal definitions: If we apply a prescribed force to a mechanical system model and a velocity reponse is calculated, we are modeling the system as an impedance, and integrations are involved. If we apply a prescribed velocity to a mechanical system and a force response is calculated, we are modeling the system as an admittance, and differentiations are involved. Is our robotic model an impedance or and admittance relative to control and external forces? 2014 5 / 25
Robots interacting with an environment When a robot s end effector (power prosthesis foot) establishes contact with a surface, a bidirectional (action/reaction) force is generated. If the surface is rigid, its geometry introduces an algebraic constraint among the joint coordinates, reducing the number of degrees of freedom. This introduces changes in the mathematics of the model, since some joint coordinates are no longer independent states. When the surface is compliant (deformable), its characteristics (spring-like, viscous, etc.) must be known in order to calculate the interaction force. The mathematics of the robot model may be left unchanged. 2014 6 / 25
Robots interacting with an environment If the robot is being regarded as an impedance, the compliant environments must be regarded as admittance: Robot kinematics alone determine surface deformations, surface produces forces in response to imposed deformations. Approach to simulation: At a given simulation step, the robot s end effector position and velocity is used to calculate the force produced by the environment. This force, in turn, is used to calculate the next robot acceleration, which is integrated twice into velocity and position, closing the loop. 2014 7 / 25
Control in presence of external forces Free forces (functions of time only) can be regarded as disturbances, and cannot change the stability of a system. Example: ẋ+x = δ(t) is always stable, regardless of what input we apply to it, as long as we don t make δ a function of x (feedback). In this situation, agressive disturbance rejection techniques are adequate for tracking control objectives. 2014 8 / 25
Control in presence of environmental forces If the external force arises from interaction with an environment, the force is a function of the robot state: M q +C q +g +T e (q) = u Depending on the nature of the environment generating T e (q), these forces can change the stability of the system! See: summerschool.stiff-project.org/fileadmin/pdf/1804_c19.pdf (Summer School on Impedance, Frauenchiemsee, Germany, 2011). 2014 9 / 25
Impedance Control Impedance control assigns a desired dynamic relationship between interaction forces and the displacements resulting from them. This relationship (the target impedance) is chosen as a stable operator between external force and displacement. This approach was pioneered by Neville Hogan, and it involves stable disturbance accommodation rather than rejection. Hogan, N., Impedance Control: An Approach to Manipulation (parts I, II and III), ASME J. Dyn. Meas. Ctrl., v107 (1985) It is possible to design a controller that behaves as a tracker if the external forces are zero. Otherwise, deviations from the trajectory being tracked are governed by the target impedance. 2014 10 / 25
Example: Impedance Control of Electromechanical System A demo 1-dof electromechanical system developed at CSU s CRML lab has the generic model mẍ+bẋ+f f (ẋ) = av +F ext where x is linear position, m and b are mass and damping parameters, f f is Coulomb friction, V is control voltage and F ext is external (user-applied) force. Target impedance: Iẍ+Bẋ+Kx = F ext 2014 11 / 25
Electromechanical System IC The control law is obtained by equating the accelerations of the system model and the target impedance: V = m [( 1 a I 1 ) ( b F e + m m B ) ( ẋ+ 0 k ) x+ f ] f I I m This law requires force feedback, obtained from load cells. Work at CSU (Dr. Simon) has shown that Kalman filter techniques are effective at force estimation, eliminating load cells. 2014 12 / 25
Movie - Potato chip test By simply re-programming the target impedance parameters, the system can have the feel of a light mass, a heavy mass, an undedamped spring, etc. We say that we have conducted port impedance synthesis. 2014 13 / 25
Impedance Control with a Reference Trajectory Given a reference trajectory x d (t), define the tracking error as e = x d x. Target impedance: Ië+Bė+Ke = F e If F e = 0, we get asymptotic tracking. If not, we can handle deviations by choosing I, B and K judiciously. 2014 14 / 25
IC in the Vanderbilt Knee As studied earlier (Dr. van den Bogert s lecture), the impedance control used in the Vanderbilt knee is of the form where τ is the knee moment. Bė+K 1 e+k 2 e 3 = τ What are the differences between this impedance target and the the one from the previous slide? What are the implementation differences? 2014 15 / 25
Impedance Control in Robots Most impedance controls for robots are developed in task space, which is very relevant for industrial processes where operations are repetitive and environments have predictable characteristics. In prostheses, motion is characterized by joint angles rather than absolute Cartesian coordinates. Fortunately, joint space impedance control is much simpler than its task space counterpart. 2014 16 / 25
Joint Space Impedance Control Robotic model: M(q) q +C(q, q)q +R+g(q)+T ext = τ Reference motion for the joints: q d (t), let q = q q d Target Impedance: I q +B q +K q = T ext where I, B and K are diagonal matrices achieving decoupling. Note that the components of T ext are the effective external torques appearing at each joint. 2014 17 / 25
Joint Space Impedance Control The solution for the control input is obtained by equating accelerations: Notes: τ = (I n MI 1 )T ext +M( q d I 1 (B q +K q))+c q +R+g 1 The IC law assumes exact knowledge of model parameters. Deviations from target impedance will occur in a real application. 2 Robust impedance controls have been developed, often using a SMC approach 3 CSU group has recently developed a robust impedance controller based on the passivity approach 2014 18 / 25
Example: Cart-Pendulum Suppose that the top of the pendulum comes in contact with a wall (modeled as a stiffness). We compare the effects of pure motion controller and an impedance controller. The location of the endpoint relative to the world origin is (q 1 +lcos(q 2 ),lsin(q 2 )). Therefore, the absolute velocity of the endpoint is [ ] 1 lsin(q2 ) v P (q, q) = q = J 0 lcos(q 2 ) v (q) q (1) 2014 19 / 25
Cart-Pendulum... Assuming the wall is located at a distance d from the world origin, the wall deflection is: The force vector is δ = max (q 1 +lcos(q 2 ) d,0) F e = [k w δ 0] T The external force/torque term to be added to the dynamic equations (left-hand side, see second handout) is then J T (q)f e = [k w δ lsin(q 2 )k w δ] T 2014 20 / 25
Simulations 1 Motion tracking with inverse dynamics and compliant wall (low k w ) 2 Motion tracking with inverse dynamics and rigid wall (high k w ) 3 Impedance control with reference trajectory and compliant wall 4 Impedance control with reference trajectory and rigid wall 2014 21 / 25
Homework Add a symmetrically-located wall, with the same stiffness: k w = 1 10 5. Tune the impedance controller for the best tracking accuracy you can get while maintaining the interaction force below 500 N on each side. 2014 22 / 25
Simple Impedance Control and Uncompensated Inertia V i DC motor: w m ẋ Ballscrew: l,j b α,r,j m F e The friction-free ballscrew actuator is modeled as (J b +ml 2 )ẍ = lτ L l 2 F e A friction-free DC motor drives the ballscrew directly: ( ) ( ) ẇ+ α2 α τl w = V j RJ m RJ m J m 2014 23 / 25
Simple Impedance Control... Combining, the integrated model is with J T = J m +J b +ml 2. Suppose the target impedance is J T ẍ+ α2 R ẋ = lα R V i l 2 F e bẋ+kx = F e That is, we don t attempt to change the inertial characteristics of the system. Equating F e we obtain a PD-like impedance control law: ( α V i = l Rbl ) ( ) Rkl ẋ x α α HW: Verify the expression for V i. What are 2 major advantages of this simple feedback law? 2014 24 / 25
Simple Impedance Control... What happens when the simple law is used in the actual system? Substitute into the model to obtain: J T l 2 ẍ+bẋ+kx = F e (HW) Compare with the target impedance and identify a potential problem. For a prosthesis-scale mechanism, J T is in the order of magnitude of 10 5 kg-m 2, while b is around 10 3 Nsm 1 and k is fairly small. If the lead is 0.001 m/rad (same as in CSU s backdriveable prototype), evaluate the orders of magnitude of each term on the left hand side, assuming kx near zero and ẋ near 1 m/s, for F e =50N. 2014 25 / 25