Chapter III: Preliminaries
3.2 Nonlinear Control of Robotic Systems
While we could construct a control input๐ขwith a CLF to guarantee the system with zero disturbance, ๐ = 0, is stable, with an unknown disturbance, stability can not be guaranteed. However, we could guarantee stability to a set. For disturbances in nonlinear systems, ISS [251], [252] can guarantee convergence to a set around the origin, with the bound in terms of โฅ๐โฅโ, where โฅ๐โฅโ = sup๐กโฅ0{|๐(๐ก) |}. Here we consider the conditions for exponential ISS. For the classical definition see [251]. The system (3.20) isexponential input-to-state stable (e-ISS) if there exists ๐ฝ โ K Lโ,๐ โ Kโ, and constant๐ > 0 such that
โฅ๐ฅ(๐ก , ๐ฅ0, ๐) โฅ โค ๐ฝ( โฅ๐ฅ0โฅ, ๐ก)๐โ๐๐ก+๐( โฅ๐โฅโ), โ๐ฅ0, ๐ , โ๐ก โฅ 0.
We can quantity e-ISS via Lyapunov functions. A continuously differentiable func- tion๐ :R๐ โ Rโฅ0is ane-ISS Lyapunov functionwith constants๐1, ๐2, ๐3 > 0 and ๐ โ Kโsuch thatโ๐ฅ โR๐, ๐ โR๐๐,
๐1โฅ๐ฅโฅ2 โค๐(๐ฅ) โค ๐2โฅ๐ฅโฅ2
โฅ๐ฅโฅ โฅ ๐( โฅ๐โฅโ) โ ยค๐(๐ฅ , ๐) โค โ๐3๐(๐ฅ).
(3.21)
The background theory presented in this section will be used as a basis for the theoretical contributions of this thesis, developed in Chapters 4, 5, and 6. All of the novel theoretical constructions in this thesis are first developed in the context of general nonlinear control systems, and they are followed with applications to general robotic systems. We will now present the general constructions used for
constraints. The Jacobian matrix of the holonomic constraints๐ฝ(๐) = ๐ โ๐ ๐ โ R๐โร๐๐ enforces the holonomic constraints by:
๐ฝยค(๐,๐ยค) ยค๐+๐ฝ(๐) ยฅ๐=0. (3.23) Solving (3.22) and (3.23) simultaneously yields theconstrained dynamics.
To relate this to the continuous dynamics of the hybrid control system of (3.2), we write the following ODE,
ยค ๐ฅ = ๐
๐ ๐ก
"
๐
ยค ๐
#
=
"
ยค ๐
๐ทโ1(๐) (โ๐ป(๐,๐ยค) +๐ฝ๐(๐)๐)
#
| {z }
๐(๐ฅ)
+
"
0 ๐ทโ1(๐)๐ต
#
| {z }
๐(๐ฅ)
๐ข .
The discrete dynamicsฮ๐ of (3.2) are determined by assuming a perfectly plastic impact. See [253], [254] for details.
Bipedal Robot Gait Generation
Multi-Domain Hybrid System. To have bipedal walking emulate human heel- toe roll, multiple contact points need to be accounted for. As the contact points change, the different holonomic constraints change the continuous dynamics, re- quiring multiple domains in a hybrid system. To model this multi-domain hybrid system, we use a directed graph ฮ = (๐ , ๐ธ) with vertices ๐ฃ โ ๐ that connect edges {๐ = {๐ฃ โ ๐ฃ+}}|๐ฃโ๐ = ๐ธ, where ๐ฃ+ is the subsequent vertex of ๐ฃ in the directed graph. For each vertex ๐ฃ, there is a domain D๐ฃ (3.3) and control input ๐ข๐ฃ. OnD๐ฃ, there is a control system (๐๐ฃ, ๐๐ฃ), that define the continuous dynamics
ยค
๐ฅ = ๐๐ฃ(๐ฅ) +๐๐ฃ(๐ฅ)๐ข๐ฃfor each๐ฅ โ D๐ฃand๐ข๐ฃ โ U. The transition point between one domainD๐ฃ and the next D๐ฃ+ in the directed cycle is defined by the guard ๐๐. The guard triggers the reset map,ฮ๐ : ๐๐ โ D๐ฃ โ D๐ฃ+, giving the postimpact states of the system: ๐ฅ+ = ฮ๐(๐ฅ), where๐ฅ โ D๐ฃ and๐ฅ+ โ D๐ฃ+.
With the sets of each of these objects,D ={D๐ฃ}|๐ฃโ๐,U ={๐ข๐ฃ}|๐ฃโ๐,๐ ={๐๐}|๐โ๐ธ, ฮ = {ฮ๐}|๐โ๐ธ, and๐น ๐บ ={(๐๐ฃ, ๐๐ฃ)}๐ฃโ๐, we define thismulti-domain hybrid control systemas a tuple [255], [256]:
โ๐md= (ฮ, D, U, ๐, ฮ, ๐น ๐บ). (3.24) Gait Generation. To prescribe outputs to this multi-domain hybrid control system, typically relative degree 1 and 2 outputs are used for walking robots and respectively
defined as,
๐ฆ1,๐ฃ(๐,๐ยค)= ๐ฆ๐
1,๐ฃ(๐,๐ยค) โ๐ฆ๐
1,๐ฃ, (3.25)
๐ฆ2,๐ฃ(๐)= ๐ฆ๐
2,๐ฃ(๐) โ๐ฆ๐
2,๐ฃ(๐๐ฃ, ๐ผ๐ฃ). (3.26) While the phase variable ๐๐ฃ can be time- or state-based, for more robust control, a state-based phase variable๐(๐) is used [154] and is typically defined as follows,
๐(๐)๐ฃ = ๐๐ฃ(๐) โ๐0,๐ฃ ๐๐ ,๐ฃ โ ๐0,๐ฃ
. (3.27)
Here ๐๐ฃ(๐)is a state-dependent function that is monotonic in D๐ฃ and๐0,๐ฃ and๐๐ ,๐ฃ are the initial and final values of this function in this domain. For walking, previous work found the forward progression of the stance hip to be monotonic during a human gait cycle [150]. This qualifies it to be used as ๐๐ฃ(๐)for the phase variable.
As described previously in Subsection 3.1, a control input ๐ข is designed to drive these outputs to 0. We previously discussed how this results in the system evolving on the zero dynamics surface 3.17. However, when a relative degree 1 output ๐ฆ1,๐ฃ is used, the zero dynamics cannot necessarily remain invariant through impacts. In fact, enforcing impact invariance on the velocity-modulating output is too restrictive due to the jump of velocities by the impact map. Hence, we only enforce an impact invariance condition on the relative degree 2 outputs, resulting in partial zero dynamics:
๐ ๐๐ผ
๐ฃ ={(๐,๐ยค) โ D๐ฃ : ๐ฆ2,๐ฃ(๐, ๐ผ๐ฃ) =0,๐ฆยค2,๐ฃ(๐, ๐ผ๐ฃ) =0}.
For a domain where a relative degree 1 output is used, the optimization problem (3.19) uses this partial zero dynamics surface ๐ ๐๐ผ instead of ๐๐ผ, as shown in the following domain-specific optimization problem:
{๐ผโ
๐ฃ,C๐ฃโ} =argmin
๐ผ๐ฃ,C๐ฃ
J๐ฃ
s.t. ฮ๐(๐๐โฉ๐ ๐๐ผ
๐ฃ) โ ๐ ๐๐ผ
๐ฃ+
(๐0, ๐ง0) =๐โ
๐ (๐0, ๐ง0), Cmin โผ C๐ฃ โผ Cmax cmin โผ c๐ฃ(C๐ฃ) โผ cmax,
(3.28)
where ๐โ
๐ is the hybrid periodic flow for the whole multi-domain hybrid system (3.24), and c๐ฃ(C๐ฃ) enforce real-world constraints of the robot such as torque and
joint limits and contact conditions. To solve this optimization problem, we use a direct collocation based optimization algorithm, FROST [198].
The solution to the optimization provides the๐ผparameters that define Bรฉzier poly- nomials,
B(๐๐ฃ) =
m
โ๏ธ
๐=0
๐ผ๐ฃ ,๐ m!
(mโ๐)!๐!๐๐
๐ฃ(1โ๐๐ฃ)mโ๐, (3.29) where m is the degree of the Bรฉzier polynomial with coefficients๐ผ๐ฃ ={๐ผ๐ฃ ,๐}|๐=1,...,m. ID-CLF-QP
A RES-CLF, as described in Subsection 3.1, could be used to construct a control input๐ขto track these generated trajectories.
We can use the linearized output dynamics (3.9) to construct a CLF for the robotic system. First, using๐น and๐บ from (3.9), we solve the CARE equation,
๐น๐๐+๐ ๐น+๐๐บ ๐บ๐๐+๐=0,
for ๐ = ๐๐ > 0, with the user selected weighting matrix๐ = ๐๐ > 0. From the method of [199], we construct a CLF by the following,
๐(๐) =๐๐๐๐.
For this robotic system with relative degree 1 and 2 outputs, we define ๐ = (๐ฆ๐
1, ๐ฆ๐
2,๐ฆยค๐
2)๐ and transform the CLF into a RES-CLF using the method in [199]
with 0 < ๐ <1:
๐๐(๐) =๐๐
๏ฃฎ
๏ฃฏ
๏ฃฏ
๏ฃฏ
๏ฃฏ
๏ฃฏ
๏ฃฐ
๐ผ 0 0
0 1๐๐ผ 0
0 0 ๐ผ
๏ฃน
๏ฃบ
๏ฃบ
๏ฃบ
๏ฃบ
๏ฃบ
๏ฃป ๐
๏ฃฎ
๏ฃฏ
๏ฃฏ
๏ฃฏ
๏ฃฏ
๏ฃฏ
๏ฃฐ
๐ผ 0 0
0 1๐๐ผ 0
0 0 ๐ผ
๏ฃน
๏ฃบ
๏ฃบ
๏ฃบ
๏ฃบ
๏ฃบ
๏ฃป
๐=:๐๐๐๐๐.
To obtain the convergence constraint, we take the derivative, ๐ยค๐(๐) = ๐ฟ๐น๐๐(๐) +๐ฟ๐บ๐๐(๐)๐ โค โ ๐min(๐)
๐max(๐๐)๐๐(๐), with Lie derivatives along the linearized output dynamics as,
๐ฟ๐น๐๐(๐) =๐๐(๐น๐๐๐+๐๐๐น)๐, ๐ฟ๐บ๐๐(๐) =2๐๐๐๐๐บ ,
and๐, as given by (3.6), is
๐= ๐ฟโ
๐๐ฆ(๐ฅ) + ๐ด(๐ฅ)๐ข .
However, to implement a CLF on hardware, the feedback linearizing terms ๐ฟโ
๐๐ฆ(๐ฅ) and๐ด(๐ฅ)in (3.2) pose a challenge in that they require inversion of the inertia matrix ๐ท(๐) which is computationally expensive and can have numerical instability. To avoid this, [37] developed an inverse dynamics CLF quadratic program (ID-CLF- QP) that includes the CLF stability condition (3.2), the dynamics (3.22), and the holonomic constraints (3.23) as constraints in the QP. This way the QP can determine the control input๐ข, accelerations๐ยฅ, and constraint wrenches๐simultaneously in a way that satisfies the stability constraint with respect to the dynamics and holonomic constraints.
To form this controller, we recall ๐= ( ยค๐ฆ๐,๐ฆยฅ๐)๐ and rewrite the outputs in terms of the robotic systemโs configuration coordinates๐and velocities๐ยค,
"
ยค ๐ฆ1
ยฅ ๐ฆ2
#
=
๏ฃฎ
๏ฃฏ
๏ฃฏ
๏ฃฏ
๏ฃฏ
๏ฃฐ
๐ ๐ฆ1
๐ ๐
๐
๐ ๐
๐ ๐ฆ2
๐ ๐ ๐ยค
๏ฃน
๏ฃบ
๏ฃบ
๏ฃบ
๏ฃบ
| {z }๏ฃป
๐ฝยค๐ฆ(๐,๐ยค)
ยค ๐+
"๐ ๐ฆ1
๐๐ยค
๐ ๐ฆ
๐ ๐
#
|{z}
๐ฝ๐ฆ(๐)
ยฅ ๐ .
We will include these terms in the QP cost with the holonomic constraints, enforcing these as soft constraints, using,
๐ฝqp(๐) =
"
๐ฝ๐ฆ(๐) ๐ฝ(๐)
#
, ๐ฝยคqp(๐,๐ยค)=
"
๐ฝยค๐ฆ(๐,๐ยค) ๐ฝยค(๐,๐ยค)
# . With these terms we formulate our ID-CLF-QP:
ฮฅโ =argmin
ฮฅโR๐qp
๐ฝยคqp(๐,๐ยค) ยค๐+๐ฝqp(๐) ยฅ๐โ๐pd
2
+๐๐(ฮฅ) +๐ ๐ s.t. ๐ท(๐) ยฅ๐+๐ป(๐,๐ยค) =๐ต๐ข+๐ฝ๐(๐)๐
๐ฟ๐น๐(๐ฅ) +๐ฟ๐บ๐(๐ฅ) ( ยค๐ฝ๐ฆ(๐,๐ยค) ยค๐+๐ฝ๐ฆ(๐) ยฅ๐) โค โ๐ ๐
๐(๐ฅ) +๐
โ๐ขmax โค ๐ข โค ๐ขmax,
(3.30)
with decision variables ฮฅ = ( ยฅ๐๐, ๐ข๐, ๐๐)๐. Here ๐pd = (๐๐
pd,0๐)๐, ๐(ฮฅ) is a regularization term designed to make the system well-posed, ๐ and ๐ are user- selected weights,๐is a relaxation term to allow the torque bounds(โ๐ขmax, ๐ขmax)to be met.
Figure 3.1: Human-Prosthesis Model and Platform. (Left) Human-prosthesis model with generalized coordinates. (Right) AMPRO3 powered prosthesis platform with components and coordinates labeled.
3.3 Human-Prosthesis Model and Powered Prosthesis Platform