Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

69

ENPM808J
Rehabilitation Robotics

Lectures #4-5 - Part II

Anindo Roy, PhD


Isolated vs. contact stability
Illustration 1:

• When interacting with environment:


 Change in system property i.e. from m to (m + me)
KI = (b/m)Kp
KI > Kpb/(m+me)
Reduced
• Stability: stability margin

KI
KI < Kpb/(m+me)
• Solution? Use lower KI than marginal value
 Robustness to uncertainty in system parameters
 Problem? Kp
 Any fixed controller gain, coupling robot to large mass will destabilize closed-loop
 Environmental masses can vary due to contexts etc.
Isolated vs. contact stability
• Take-home:
 Coupling robots with environment of sufficiently large mass
(non-ignorable to robot mass) will destabilize the otherwise
stable isolated system even with integral-action control.

• Good news:
 Most robots have inertia (m) far exceeding payloads (me)
they carry (i.e. m >> me)
 Reduction in stability margin is not significant
 Isolated stability condition(s)/bound(s) may be used
 But, is this true for many rehab robots?

• Bad news:
 Leg robots could weigh comparably to human leg!
So, do we now understand?

Efficacy Χ Safety, Efficacy Χ


So, do we now understand?

M ≠ Mrobot; M = Mrobot + Mleg


Mrobot ~ Mleg

Many leg robots e.g. Lokomat designed robustly (i.e. have PI/PID
controllers) well tuned for isolated but not contact stability.
Isolated vs. contact stability
• Bad news:
 Leg robots could weigh non-ignorably to human leg!

KI = (b/m)Kp

KI > Kpb/(m+me)
Increase me
KI

Reduced
stability margin

Kp

Mrobot = 20 kg (ReWalk)
Mleg ~ 20% Body Mass ~ 12 kg
Mleg cannot be ignored to Mrobot
Isolated vs. contact stability
Illustration 2:

• Serial MKB system with PD control for m1 and force feedback for m2.

 Two masses m1 and m2 are connected by a spring of stiffness k. Frictional losses are
represented by dampers b1 and b2 connected from the masses to ground and damper
b3 in parallel with the spring. One mass is driven by the actuator force Fa and the
other is subject to Fe , an interaction force with the environment.
Isolated vs. contact stability
Illustration 2:

• Hybrid control laws:

 A proportional-derivative (PD) controller acting on the error between the position of


the mass at the actuator x1 and a reference r is applied to control motion.

 A proportional controller acting on force fed back from the environment is applied to
control force and improve interactive behavior.
Isolated vs. contact stability
Illustration 2:

• With Fe = 0 (no interaction), control law is PD and gains can always be


chosen to ensure poles are in open LHP.

 Using the Routh-Hurwitz criterion, the isolated system’s closed-loop characteristic


polynomial can be shown to have all its poles in the open left half plane.

 Worst case scenario: marginal stability for arbitrary nonnegative real parameters
and controller gains.
Isolated vs. contact stability
Illustration 2:

• With interaction: non-zero Fe, stability may be attained but not


guaranteed.

• Why? Do it yourself
 Ground M2 by selecting Fe = -kex2
 Closed-loop characteristic polynomial changes
 There exists set(s) of controller parameters for which roots are in the open RHP
 Example numerical set: with m = m = 10, b = b = b = 1, k = 100, K = 10, B = 1, K = 10, and k =
1 2 1 2 3 f e

100, the closed loop poles are at ,

• Result: addition of a force feedback loop renders the robot control system
vulnerable to coupled instability.
 You are not assured closed-loop stability.
Contact instabilities: Problems
Problem 1:

• Even when interacting with simple environments, not


sufficient to design controllers for stability of
manipulators in isolation.

 Solution: take into account environmental dynamics when


designing controllers

Problem 2:

• (Compounding P1) Environment dynamics are often not


known exactly.

 How do you design controllers when the environment is not


known exactly?
Mars Rover: needs to take into account contact
(surface) instability; surface properties (i.e.
environment dynamics) not known precisely
Contact instabilities: Problems
Problem 3:

• (Further compounding P2) Even if environment were known exactly,


multiple controllers may be required for each task context.

 Task context: set of sub-task(s) with unique environmental dynamics & constraints.
 Pick up a component (sub-task 1)
 Move it across free space (sub-task 2)
 Bring it into contact with a kinematic constraint used to guide placement of the component
(sub-task 3)
 Move it along the constraint (sub-task 4)
 Release the component (sub-task 4)
 Return across free space to retrieve another component (sub-task 5)

 Sub-tasks may be functionally unique but may have similar environmental


dynamics and/or constraints (e.g. sub-tasks 2 and 4)
Contact instabilities: Problems
Problem 3:

• Surgical robot (3 sub-tasks)


 Move unloaded in free space to pick up surgical
tool.
 Move it loaded in free space to transport
surgical tool.
 Bring tool into workspace with kinematic
constraints.

• To accomplish the entire task:


 3 different controllers will be required
 System must decide which controller to use at
each instant
 System must manage the transition between
each controller.

Highly cumbersome and impractical!


Contact instabilities: Problems
Problem 4:

• (Catch-22) In context of multiple controllers for multiple contexts, we need to:

 Identify the environment exactly (i.e. P2).


 To identify the environment, robot needs to interact with it i.e. interaction will need to take
place even before the appropriate controller is in place.

 Assure stability when interacting with environment (i.e. P1).


 We need to ensure stable interaction with environment at all times.

Stable interaction is needed to identify the


environment, but stability cannot be guaranteed
without a well-characterized environment (“catch-22”)

Stable interaction and Environmental Identification


are pre-requisites for one another!!
183

Would alternate control


strategies work?
Disturbance rejection as a solution?
Concept:

• Model environmental dynamics as disturbance forces, then apply


disturbance rejection approach.
 Example: an integral element will eliminate constant disturbances.
Environment
Problems:

• Disturbance rejection approach assumes bounded disturbances.


 However, disturbances (environmental forces) for many interactive
robotic applications may exceed robot’s nominal capacity
 Example: kinematic constraint may introduce arbitrarily large forces.

• Disturbance rejection approach assumes state-independent


disturbances.
 Environmental forces are dependent on the context or the robot’s state.
Modeling environmental uncertainty
as a solution?
Concept:

• Model the environment as an uncertain part of the robot plant, then use
robust control tools (e.g. parametric uncertainty).
 Use combination of inertia-elastic-dissipative, plus kinematic constraints to model
environment, then embed it within the robot plant.

Problems:

• Interacting with an environment effectively changes the robot plant by


altering parameters of the robot model.
 Example: adding to the end-point mass.

• Under these circumstances, robust control approach may succeed, but…


Modeling environmental uncertainty
as a solution?
Problem(s):

• New robot plant may have a different structure.

No kinematic Kinematic
constraint = system constraints =
order (DOFs) system order
preserved? (DOFs) preserved?
Modeling environmental uncertainty
as a solution?
Example 1: Effect of kinematic constraints

• Moving from free motion to contact w/ kinematic constraint reduces order of


system (i.e. DOFs).

 Specifically, DOFs of the parts contacting the constraint are reduced.

#DOFs = n #DOFs < n


Modeling environmental uncertainty
as a solution?
Example 2: Effect of elastic contact

• Contact with elastic object adds new mode of


behavior (i.e. increases order or DOFs) due to
interaction between robot inertia and environmental
(object) elasticity.

 Example: human handshake.

 Human hands have sufficient (non-ignorable) visco-elasticity.

 Thus, each individual (hand’s) control system is coupled to a


system with approximately double the large number of DOFs
that it controls when isolated i.e. its own DOFs and the DOFs
of the hand it shakes/interacts with.
Modeling environmental uncertainty
as a solution?
Primary issue:

• Interaction may change model structure.

• The (uncertain) environmental forces and motions may be of


the same (or similar) magnitude and frequency range as the
(certain) robot dynamics.

• Robust control methods assume uncertain dynamics lie outside


frequency range of interest.

 Not necessarily true for human-human and human-robot interaction.

 Example: human handshake. Each has similar response speed or


bandwidth, and each produces comparable forces and motions.
Don’t overwhelm consequences:
Interaction Control
Don’t attempting to overwhelm consequences of interaction by
building in robustness (through disturbance rejection or
integrating environmental uncertainty into the robot plant)…

…Rather, regulate the interaction itself by:

• Controlling the robot’s dynamic behavior at the places


where it interacts with the environment.

 This approach is called Interaction Control


 “Regulation of robot’s dynamic behavior at ports of
interaction with environment.”

 Equivalently, regulate the “feel” of the robot


 Critical for human-robot physical interaction applications
 Example: Rehabilitation Robotics!
184

Interaction Ports
Impedance & Admittance
Interaction Ports
Key concept:

• Interaction port (or simply, port): point at which energy is exchanged


between the robot and environment.

 Characterized by efforts (forces, torques) and flows (motion: linear, angular


velocities), the two being related by power equation (i.e. constraint on efforts and
flows).

P = F tv

v: vector of velocities/angular velocities) along different DOFs at the contact point


F: corresponding vector of forces (or torques)
P: power that flows between robot and environment
Interaction control: two-step solution
• A more specific characterization of Interaction Control:

 Specify dynamic relationship between motion (flow) and force (effort) at a port;

 Implement a control law that minimizes deviation from the specified motion-
force(i.e. flow-effort) relationship

• Note that we are neither controlling effort (e.g. force) nor flow (e.g. velocity).

 Position control: explicitly control flow (motion)


 Force/torque control: explicitly control effort (force/torque)
 Interaction control: control the relationship between force and motion.
Mechanical impedance, admittance
• Most common form of interaction control involves regulation of the
manipulator’s (robot’s) Impedance (Z) or Admittance (Y).

 Impedance (Z): dynamic operator that determines output force/torque from an


input velocity/angular velocity at the same port.

 Admittance (Y): determines output velocity/angular velocity from an input


force/torque at the same port.

 Z, Y can also be loosely defined as dynamic generalization of stiffness (effort out,


displacement in).

 Synonyms: driving point impedance/admittance.

• Z, Y are “port functions” since they are referenced to a port and define port
behavior.
Mechanical impedance, admittance:
Linear systems
• In case of linear systems:

• Impedance and Admittance are reciprocal to one another i.e. ZY = 1


 Both may be expressed as transfer functions
 Z = Z(s) = F(s)/v(s), Y = Y(s) = v(s)/F(s)

• Let’s derive impedances and admittances for the basic mechanical elements
i.e. inertia (M), elasticity (K), and dissipative (B).
Mechanical impedance, admittance:
Relationship to electrical impedance
• From an input-output (e.g. flow-effort) relationship standpoint, which
electrical elements are analogous to mechanical elements?

• Derive in-class

 Assume force is analogous to voltage (effort), current is analogous to velocity (flow)


 Then, treat mechanical impedance as analogous to electrical impedance.
 Can we show M = L (inductance), B = R (resistance), K = 1/C (inverse of capacitance)

• Cool thing about impedance (or admittance) analysis?


 It is invariant from common physical systems
 Mechanical
 Electrical
 Hydraulic
 Thermal etc.
Mechanical impedance, admittance:
Nonlinear systems
• In case of nonlinear systems: Non-linear case: state-determined
representation of system dynamics, i.e.

State equation
Output
equation
Input-Output
constraint

z: finite-dimensional vector of state variables,


Zs ( ) and Zo ( ) are algebraic (or memoryless) functions

 Requirement: input velocity, output force must have same dimension.


Mechanical impedance, admittance:
Nonlinear systems
Key points for nonlinear systems:

• Z and Y are dual causal (i.e. input and output are reversed) but,…

 Mechanical admittance may be described by state and output equations relating


input force (torque) to output velocity (angular velocity).
 If in doubt, revert back to the definition (you can’t go wrong):
 “impedance is a dynamic operator that determines output force/torque from an input
velocity/angular velocity at a port”

• Z and Y are not necessarily the inverse of one another since the inverse may
not exist
 Y is not equal to 1/Z since |Z|-1 must exist.
 Z is not equal to 1/Y since |Y|-1 must exist
 See Hogan (1985) examples of nonlinear impedances and admittances with no defined
inverse forms
Key concepts in impedances &
admittances
Key Point 1:

• Remember issues regarding contact instability?

 Even when interacting with simple environments, not sufficient to


design controllers for stability of manipulators in isolation.

 Environment dynamics are often not known exactly.

 Stable interaction is needed to identify the environment, but


stability cannot be guaranteed without a well-characterized
environment (“catch-22”).

 Stable interaction and environmental identification are pre-requisites for


one another!!
Key concepts in impedances &
admittances
Key Point 1:

• Unlike motion, force that both depend on robot and environment, and
cannot be described or predicted in absence of complete characterization of
both systems (leading to multiple problems), impedance can be held
constant regardless of environment since by definition it does not
define either force or motion.
Key concepts in impedances &
admittances
Key Point 2:

• Remember issues regarding multiple task


contexts?

 Even if environment were known exactly,


multiple controllers may be required for each
task context.

 Impedance completely describes how the


manipulator will interact with a variety of
environments.

 Arbitrary impedance = arbitrary behavior (of


manipulator). This is the problem of achieving
desired Z.
Key concepts in impedances &
admittances
Key Point 2:

• Remember issues regarding multiple task


contexts?

 Even if environment were known exactly, Arbitrary &


multiple controllers may be required for each Dynamic
task context. Task Context

 Impedance completely describes how the


manipulator will interact with a variety of Dynamically
environments. modulated
manipulator
 Arbitrary impedance = arbitrary behavior (of impedance
manipulator). This is the problem of achieving
desired Z.
Key concepts in impedances &
admittances
Key Point 3:

• Dynamic port behavior is exclusively a property of the robot system,


independent of environment at that port.
 In other words, port behavior is unaffected by contact and interaction.

Single CNS modulates leg stiffness despite of surface changes


Port behavior & transfer functions
• Example: 2-port system

• System has is 2-port because it has two power interfaces, one characterized
by Fa and x˙1, the other by Fe and x˙2.

 If such an element is part of a robot, one side is generally connected to an actuator


and the other to a downstream portion of the robot or directly to the environment.
Port behavior & transfer functions
• What’s the difference between input-output (I/O) transfer
functions (TFs) and port impedances?
 Any 2-port system has 4 TFs.

 Two TFs are I/O TFs, which relate force at one port produced by
motion at the other port.

 Two of them, Fa/X˙2(s ) and Fe/X˙1(s ) (or their inverses), are input-to-
output TFs and define the force produced by motion at the opposite
port.

 If the left port is driven by a controllable force and the right


uncoupled, then X˙2/Fa(s ) describes the motion of the right port as a
result of actuator force.

 This type of transfer function is used in traditional block-diagram


analysis.
Port behavior & transfer functions
• What’s the difference between input-output (I/O) transfer functions (TFs)
and port impedances?

 The other two TFs are port impedances (one at each port), relating force to motion
at the same port.

 The other two TFs, Fa/X˙1(s ) and Fe/X˙2(s ), each represent the impedance at a port (and their
inverses the corresponding admittance).

• By generalization, any n-port system has 2n TFs.

 n of those 2n TFs relate force to motion at that port.


 These represent port impedances
 The remaining n TFs relate force at one port produced my motion at the other port.
 These represent transfer functions.

You might also like