Professional Documents
Culture Documents
ENPM808J Lectures 4-5 - Part III
ENPM808J Lectures 4-5 - Part III
ENPM808J
Rehabilitation Robotics
Bond graphs:
Arcs: bi-directional exchange of physical energy (unlike block, signal flow diagram -
unilateral information flow)
Flow in each bond denoted by pair of variables called “power variables” (effort, flow)
whose product must be power of that energy domain.
Example: electrical circuit, power variables = V, I.
Effort
Choice not arbitrary; governed by rules for assigning proper causality to a given port; rules for
precedence amongst ports.
Port at the end of causal stroke specifies flow of the bond, while the bond imposes effort upon that port.
Port on the end without causal stroke imposes effort to the bond, while bond imposes flow to that port.
“0” junction
Flows sum to zero, efforts are equal.
Analogy: in electrical circuits, flow = current. Hence, a “0” junction is the same as node in an
electrical circuit: per KCL, algebraic sum of electrical currents at a node = 0 per incoming and
outgoing convention, since charge cannot accumulate at a node.
Example: resistors in parallel.
V1
V1 = V2 = V0 Same effort
(voltage)
Σ Flows = 0
i + (-i1) + (-i2) = 0
V2
Bond graphs: junctions
Bond graph features:
“1” junction
Efforts sum to zero, flows are equal.
Analogy: in electrical circuits, effort = voltage. Hence, a “1” junction is the same as a loop in
electrical circuits: per KVL, directed sums of voltages (efforts) around a loop is zero.
Example: resistors in series.
I1 I2
I1 = I2 = I
Same flow Σ Efforts = 0
(current) If the loop
is closed! VAB + (-I1R1) + (- I2R2) = 0
Bond graphs: junctions
Bond graph features:
“1” junction
Efforts sum to zero, flows are equal.
Analogy: in electrical circuits, effort = voltage. Hence, a “1” junction is the same as a loop in
electrical circuits: per KVL, directed sums of voltages (efforts) around a loop is zero.
Example: resistors in series.
= =
I1 = I2 = I R1 + R2 = R i1 = i2
Direction of flow Direction of flow
of electrical power of electrical power
Bond graphs: key steps
Key steps to drawing a Bond graph
Step 1: Identify key “1” and “0” junctions associated with identifiable efforts and
flows in the system.
Step 2: Identify the dissipative (R, or B) and storage elements (I and C, or M and L),
power sources.
Step 3: Draw bonds wherever power or information flow between the sources,
junctions, and storage/dissipative components.
Step 5: (optional) Derive equations describing the behavior of the system using the
graph as a kind of guide or map.
Bond graphs: causality
Rules to assign causality
Rule 1: Only one end of power bond can define effort, so only one end can have a causal
stroke.
Component that determines flow is at the end of the causal stroke i.e. the bond imposes effort.
Component that determines effort has causal stroke at the junction end i.e. it imposes effort to bond.
Rule 3: Non-passive components (e.g. R or B) get flow (e.g. current or velocity) instantly in
response to flow (e.g. voltage or force), so they can be on either end of a causal bond.
Causal analysis of interaction ports
• Two mechanical systems (S1, S2) such that their common interaction port has same
flow (velocity) – this is the most common connection in robotic systems.
S1 1 S2
Assume power flow is positive into both systems; hence, half-arrow toward both systems.
S1 1 S2
If S1: actuator, then it takes flow (motion, v) as input, produces effort (force, F) as output.
Hence, S1 imposes effort to the bond, so it must be without the causal stroke (at other end).
S1 1 S2
Hence, bond imposes effort on S2, so there must be causal stroke at its end.
186
Robot
Z
Power
S1 in = Fv
S2
=
Power
out = -Fv
Human
Y
S3
Object S5 imposing
motion (flow)
S4
• By causality analysis,
Input of S5 (output of S3, S4) is force, which means that input of S3, S4
must be motion, hence S3 and S4 must be impedances, Z3 and Z4 (by
definition).
Note the causal stroke at the end of workspace (because power bond imposes effort
upon the port, and the port defines flow of the bond).
Half-arrows are directed at each system as positive power goes into each system.
Causal analysis of interaction ports
Robot1
Z3
Workpiece
S3 Y
Object S5 imposing
motion (flow) Power
in = Fv Robot2
Z4
Summed
S4
= effort Power
out = -Fv
Workpiece
Y
Multiple Robotic
Robot2 Workpiece
Hardware -1
= Z4
Zequiv
Y
Power Power =
in = Fv out = -Fv
Multiple impedances (or admittances) can be represented by a single equivalent impedance (or admittance)
Multiple systems in general, need not represent distinct pieces of hardware but rather superimposed control algorithms acting on one robot.
Impedance (or admittance) reduction
• Leverage two key concepts:
Concept 1: Mechanical impedances (or admittances) for linear systems can be represented by
transfer functions.
Concept 2: Mechanical systems with common interaction port(s) i.e. flow or effort i.e. “1
or “0” junctions, respectively, are reducible to single “equivalent robot” interacting with
the environment, satisfying causality conditions.
=
187
Impedance/Admittance Reduction
Impedance (or admittance) reduction
• Impedances in “parallel structure” with common flow i.e. motion (“1” junction):
Zequiv = Z1 + Z2 + … = ΣZi
• Impedances in “parallel structure” with common effort i.e. force (“0” junction):
• Admittances in “parallel structure” with common effort i.e. force (“0” junction):
Yequiv = Y1 + Y2 + … = ΣYi
Impedance reduction, “1” junction
Impedance reduction, “0” junction
Admittance reduction, “0” junction
Impedance (or admittance) reduction
Key rule:
Consider Z1 in series with Z2. By definition, output of Z1 is force, which is also input of Z2.
But Z2 by definition must have motion (velocity) as input, thereby contradicting causality.
Similar argument holds for admittances.
Corollary: if two mechanical systems are interacting in series (i.e. serial connection), per
causality analysis, and if one is treated as an impedance, Z (or admittance, Y) and the other
must be treated as an admittance, Y (or impedance, Z).
Robot1
Not ideal for
Robot2 impedance control, but
doable theoretically
188
Impedance/Admittance Regulation:
Preference vs. Requirement
Impedance vs. admittance regulation
• Which to use for robot vs. environment (e.g. human)?
Causality analysis provides insight.
Need admittance
Impedance vs. admittance regulation
• Ideal robot behavior is impedance (generalized spring) that returns force in response
to applied displacement.
In practice, robot hardware easier to model as admittance because of linkages, motor inertias.
Most robots consist of links of relatively large mass driven by actuators.
Actuators are geared to amplify motor torque, the total inertia apparent at the end effector is increased by
the reflected inertia of the motor; indeed for high gear ratios this dwarfs the mass of the links.
Thus, it is difficult to make a robot behave as a spring (or impedance), and it is usually more feasible to
make it behave as primarily a mass (or admittance), an argument for admittance control (Newman, 1992).
• Hence, impedance behavior is ideal, but admittance behavior is often more easily
implemented in real hardware, which itself prefers admittance causality because of its
inertial nature.
Choice of particular controller structure for an application must be based on the anticipated
structure of environment and manipulator, as well as the way that they are coupled.
Coupled system stability analysis
• Owing to impedance (or admittance) reduction, it suffices to analyze the basic 2-
system with common interaction port as a “1” junction.
• Note power-continuous coupling i.e. the coupling is lossless and does not require
power input to be implemented; all power out of one system goes into the other.
Coupled system stability analysis
• We can leverage classical feedback analysis tools to evaluate the stability of
this coupled system, using only the impedance/admittance transfer functions.
See Colgate, 1988; Colgate and Hogan, 1988 for more details. I can provide those
reading (not needed though).
This allows the application of Bode and/or Nyquist frequency response analysis.
Impedance
Z
Admittance
Y
189
Based on Cauchy’s principle of argument applied to the system’s open-loop transfer function.
Nyquist stability can be used to determine
Closed-loop stability
Relative degree of system stability (phase, gain stability margins).
• Terminology/recall:
Characteristic equation D(s), plant G(s), compensator H(s), so D(s) = 1 + L(s), where loop gain L(s) = 1 + GH(s).
Closed-loop transfer function M(s) = GH / (1 + HG) = L / (1 + L).
Zeros of D(s) are closed-loop poles of M(s).
Nyquist stability criterion: a review
I expect you to revise the basics of Nyquist stability criterion on your own, including Nyquist plots
Nyquist stability criterion: a review
Take-home message:
The number of zeros of {1 + GH} i.e. closed-loop poles in the open RHP, Z0 = N + P0
System is stable if and only if Z0 = 0 i.e. N = -P0, or the {number of encirclements + number of
open-loop poles in the open RHP} = 0.
Nyquist stability criterion: a review
• Encirclements
(Definition) a point is said to be encircled by a closed path if it is found inside the path.
Directionality of encirclement: By convention, clockwise (CW) encirclements have positive
sign, counterclockwise (CCW) encirclements have negative sign.
Note that for an encirclement around (-1, j0), a radial line from (-1, j0) to a point on the contour
rotates in the prescribed direction through 2π rad.
Note that N can be positive (CW), negative (CCW), or zero (no encirclements).
Nyquist stability criterion: a review
Step 1. Determine loop gain GH(s).
Step 2. Determine number of poles of GH in the open RHP (P0). Note that P0 ≥ 0.
Step 3. Draw Nyquist stability plot.
Step 4. Determine number of encirclements (N) of the (-1, j0) point in the GH(s)-plane (N).
Nyquist stability criterion: a review
Step 4. Determine number of encirclements (N) of the (-1, j0) point in the GH(s)-plane (N).
k = 0.8
k=1
-1
-1 -1
k = 1.2
Nyquist stability criterion: a review
Corollaries / Scenarios:
If the (-1, j0) point is outside of the Nyquist stability contour, then N
= 0 (by encirclement definition).
If N < 0, then CL is stable if and only if: a) there are as many open-
loop RHP poles, or b) as many poles at the origin enclosed by the
Nyquist path (right of the contour), as |N|.
Nyquist stability criterion: a review
Corollaries / Scenarios (contd.):
If the open-loop is unstable (P0 > 0), then there must be one CCW
encirclement of (-1, j0) for each unstable pole of the open-loop
system.
Graphically: frequency at which the polar plot of GH(jω) crosses the negative real axis.
Analytically: insert s = jω into the TF, then compute the phase angle and set it to -π rad to
calculate ω.
• Gain margin
Magnitude of 1 / GH(jω) at phase crossover frequency.
• Phase margin
Calculated using {π + phase angle at gain crossover frequency}.
Negative phase margin indicates system instability.
Metrics for relative stability
• Some notes to help analytical calculations
Hence, crossover frequency = 0 rad (i.e. when phase angle = -π rad and because
tan(±π) = 0).
Phase margin = π + phase angle at gain crossover frequency w/ the latter computed
from above.