基于切换系统最优控制的双足机器人行走 混合系统辨识
摘要
尽管迄今为止机器人双足行走的目标一直是开发拟人步态,但整个领域尚未就生成此类步态的适当模型达成共识。本文中,我们描述了一种分割人类行走数据的方法,以生成能够实现类人行走的机器人模型。生成该模型需要确定接触点约束序列,而这需要求解一个组合调度问题。我们通过将接触点约束的检测转化为一个约束切换系统最优控制问题来解决此问题,并为此开发了一种可证明收敛的算法。最后,我们通过展示该算法在识别机器人双足行走模型中的性能来结束本文。
1 引言
双足机器人行走已被广泛研究,其主要目标是实现拟人步态。类人步态的生成将对机器人辅助设备和假肢的设计产生巨大影响[1, 3, 23]。遗憾的是,这一最初促使许多机器人研究人员选择研究双足而非四足或六足机器人的目标,却在很大程度上被忽视,转而倾向于研究任何类型的稳定或能量最小化步态的生成。这一目标的转变在文献中所考虑的模型数量差异上表现得最为明显。
这些双足模型不仅通过自由度的数量(例如是否包含膝盖或脚)加以区分,还通过行走过程中事件或离散阶段的时间顺序,即域分解,来进行区分。
传统上,大多数双足机器人模型采用单一域[11, 24,29],该模型假设双支撑相是瞬时的,通常不考虑脚的存在(这类模型最初源于所谓的 compass步态双足机器人,其没有膝盖和脚)。为双足机器人添加脚后,需要将域分解扩展到不止一个离散相,这通常是通过增加一个脚跟离地的相或一个双脚着地的双支撑相,或两者的任意组合来实现的[6,25]。进一步添加可锁定的膝盖会使情况更加复杂,迫使系统必须包含膝关节锁定与解锁的不同相[5, 7, 14, 22]。当考虑具有膝盖和脚的双足机器人时,可能的域分解的数量和类型变得极为复杂。此时,根据研究者和目标的不同,已选择的各种时间顺序从一个离散相到五个相不等,例如,[12]考虑了一个相,[6, 25]考虑了两个相,[19]考虑了三个相,[5, 13]考虑了四个相,而[22]考虑了五个相。
现有文献中的模型缺乏一致性,这促使人们希望确定是否存在一个由人类步态经验观察所决定的“通用”模型,双足机器人应使用该模型来生成类人步态。生物力学家已通过此类观察细致研究了肌肉骨骼系统在行走过程中的行为[4, 18, 20,30],并通过考虑减震、肢体初始稳定性和运动延续性,将人类行走步态划分为七个定性描述的功能阶段[16];然而,由于机器人双足与人类在生成步态时采用的根本结构不同,仅凭这些经验观察不足以指导双足机器人研究者建立机器人双足的数学模型。在机器人领域,利用此类观察的想法并非新颖,一些研究者已固定一种双足机器人模型,并跟踪人类运动轨迹,以为此固定模型的机器人双足生成控制器[23]。我们则希望寻求一种方法,能够从人类步态的经验观察中提取出双足机器人的数学模型。
最近,我们设计了一种方法,能够以一种将数学模型分解为由双足机器人构造决定的部分(即对应于拉格朗日函数的内在成分)和由机器人学家选择决定的部分(即对应于接触点约束序列的外在成分)的方式来观察这些经验观察[2]。我们在本文中详细阐述了这种对人类行走的抽象方法,该方法使我们能够通过函数拟合方法[2]和持久同调方法[26]来确定约束施加序列,从而对平地人类行走进行分段,这两种方法均生成了相同的“通用”平地人类行走模型。这一洞察使得我们可以通过反馈线性化构建控制律,进而产生类人步态[21]。尽管这种对人类行走的抽象视角为我们提供了分割人类行走的方法,但用于执行此分割的临时方法限制了我们的方法在平地行走之外的应用。
本文的目标是解决我们系统辨识方案的临时性问题。我们通过转换对系统的确定方式来完成这一任务,将接触点约束序列转化为一个约束非线性切换系统最优控制问题。切换系统是指其状态由有限个微分方程所支配的系统。此类系统的控制参数包含一个离散分量(即模式序列)和两个连续分量(每个模式的持续时间和连续输入)。这类系统最优控制的难点在于需要解决一个模式调度问题。我们最近通过开发一种双层分级算法解决了这一缺陷,该算法将问题分解为两个非线性约束优化问题[9, 10]。本文所描述的结果是一种算法,它在通过模式插入降低总成本的同时,为模式持续时间和连续输入的局部最优性提供了充分条件。重要的是,这提供了一种方法,能够从人体数据自动生成可产生拟人步态的双足机器人模型。
本文组织如下:第2节描述了如何通过双足机器人的拉格朗日函数以及约束的时间顺序完全确定其数学模型;第3节描述了如何将接触点施加问题重新表述为一个约束切换系统最优控制问题;第4节描述了解决该问题的算法;第5节描述了该算法的性能;第6节对全文进行总结。
2 从约束到机器人模型
在本节中,我们首先介绍文献中用于描述双足行走机器人的工具:混合系统;然后展示如何利用双足机器人的内在拉格朗日函数以及由机器人专家选定的主动约束序列,显式构建双足机器人的混合系统模型。混合系统已在多种场景中被研究,并因其能够自然地描述离散和连续行为而被成功用于双足机器人的建模。我们首先定义一类能够对双足行走进行数学形式化的混合系统。
定义1
一个循环中的混合动力系统是一个元组
$$ HC = (C, D, U, S, D, F) $$
其中
• $ C = (V,E) $是一个有向环,其中V是顶点集合,每个顶点对应系统的一个模式,E是边的集合,
• D是域,其中 $ D \subset M \times U \subset \mathbb{R}^n \times \mathbb{R}^m $,M是状态空间且是$\mathbb{R}^n$上的嵌入光滑子流形,
• $ U \subset \mathbb{R}^m $是控制集合,其中U是包含原点的紧连通集。
2.1 建模无约束双足机器人
为了理解如何对机器人双足进行建模,考虑双足机器人的构型空间 $ Q $,即为机器人选择(身体或形状)坐标,通常 $ q : [0,\infty) \to Q $ 是一个描述机器人各相邻连杆之间(相对)角度集合演化过程的函数。双足机器人的拉格朗日函数 $ L : TQ \to \mathbb{R} $ 可以用动能和势能来表示为:
$$
L(q(t),\dot{q}(t)) = K(q(t),\dot{q}(t)) - V(q(t)), \tag{1}
$$
其中 $ (q(t),\dot{q}(t)) \in TQ $。由欧拉-拉格朗日方程可得运动方程,对于机器人系统,其表述为:
$$
D(q(t))\ddot{q}(t) + H(q(t),\dot{q}(t)) = B(q(t))u(t); \tag{2}
$$
其中,$ D(q(t)) $为惯性矩阵,$ B(q(t)) $为扭矩分布矩阵,$ B(q(t))u(t) $为执行器扭矩向量, $ H(q(t), \dot{q}(t)) $包含科里奥利力、重力项以及非保守力,这些被归入单个向量[15]中。
系统的连续动力学取决于在任意给定时间所施加的约束,而离散动力学仅依赖于约束的时间顺序。约束及其施加由系统的接触点数量决定。具体而言,设接触点集合为 $ C = {c_1, c_2, …, c_k} $,其中每个 $ c_i $ 表示双足机器人中可能发生的一种特定类型的接触,无论是与地面的接触还是机器人自身的接触(例如膝关节锁定)。接触点会引入完整约束,这些约束是向量值函数 $ g_c: Q \to \mathbb{R}^{n_c} $,为了维持某个接触点,这些函数必须保持恒定,即 $ g_c(q(t)) = \text{constant} \in \mathbb{R}^{n_c} $ 固定了该接触点,但在可行的情况下允许绕此点旋转。将所有完整约束集合表示为一个对角矩阵形式 $ g(q(t)) \in \mathbb{R}^{n_c \times |C|} $ 是有用的。另一类重要的约束是非完整单边约束 $ h_c $ 对应 $ c \in C $,它们是标量值函数 $ h_c: Q \to \mathbb{R} $,用于规定系统可接受的构型集合;也就是说,$ h_c(q(t)) \geq 0 $ 意味着系统构型对于接触点 $ c $ 是可接受的。这些约束也可以表示为对角矩阵形式 $ h(q(t)) \in \mathbb{R}^{|Q| \times |Q|} $。域分解是一个有向环,以及对该图每个顶点上接触点的具体选择。也就是说,如果 $ C = {c_1, c_2, …, c_k} $ 是一组接触点,且 $ C = (V, E) $ 是一个有向环,则域分解是一个函数 $ B: C \to {0,1}^k $,使得当 $ c_i $ 在顶点 $ v $ 上发生接触时 $ B(v)_i = 1 $,否则 $ B(v)_i = 0 $。
2.2 一种双足机器人的混合动力学模型
我们现在证明,给定一个拉格朗日函数、一个有向环和一个域分解,可以显式构建一个混合系统。由于拉格朗日函数是机器人的固有属性,该结果证明了仅由强制接触点决定的域分解即可确定双足机器人的数学模型。
混合系统的域是机器人构型空间的切线空间与输入空间U的直积,其中输入空间U由机器人上可用的执行器集合决定。每个模式下的向量场通过施加由域分解所指定的约束来构造。对于模式 $ v \in V $,所施加的完整约束如下所示:
$$
g_v(q(t)) = g(q(t))B(v); \tag{3}
$$
其中域分解决定了所施加的约束。对完整约束进行微分可得到运动学约束:
$$
J_v(q(t))\dot{q}(t) = 0; \tag{4}
$$
其中,$ J_v(q(t)) = \text{RowBasis}\left(\frac{\partial g_v(q(t))}{\partial q}\right) $ 是雅可比矩阵行空间的一组基(这会消除任何冗余约束,使得 $ J_v $ 具有满行秩)。运动学约束给出了该模式下的约束动力学:
$$
D(q(t))\ddot{q}(t) + H(q(t),\dot{q}(t)) = B(q(t))u(t) + J_v(q(t))F_v(q(t),\dot{q}(t), u(t)) \tag{5}
$$
该式施加了完整约束;此处的D、H和B与公式(2)中的相同,且 $ F_v(q(t),\dot{q}(t),u(t)) $ 是一个广义力[15]。为了确定广义力 $ F_v(q(t),\dot{q}(t),u(t)) $,我们对运动学约束进行微分,并将此结果与公式(5)结合:
$$
F_v(q,\dot{q}, u) = J^{-1}
v(q) \left[ D(q)J^{-1}_v(q)\left(\dot{J}_v(q)\dot{q}\right) + H(q,\dot{q}) - B(q)u \right]; \tag{6}
$$
其中我们省略了 $ q $、$ \dot{q} $ 和 $ u $ 对 $ t $ 的依赖。因此,对于 $ x(t) = (q(t),\dot{q}(t)) $,将公式(6)代入公式(5)可得控制向量场 $ f_v(x(t), u(t)) $。需要注意的是,仅完整约束而非非完整单边约束出现在控制向量场中,并且由完整约束所规定的接触点应保持的实际位置从不显式出现在控制向量场内。接下来,我们利用域分解为混合系统构造守卫条件和重置映射。根据广义力 $ F_v(q(t),\dot{q}(t),u(t)) $,可通过考虑摩擦不等式来确保接触点的存在性,这些不等式可表示为: $ l_v(q(t))^T F_v(q(t),\dot{q}(t),u(t)) \geq 0 $,其中 $ l_v(q(t)) $ 为定义接触点几何的摩擦参数矩阵及常数(详见[13])。这些条件与各模式中的非完整单边约束 $ h_v(q(t)) = h(q(t))B(v) $ 相结合,从而得到可接受配置集:
$$
A_v(q(t),\dot{q}(t), u(t)) = \begin{bmatrix} l_v(q(t))^T F_v(q(t),\dot{q}(t),u(t)) \ h_v(q(t)) \end{bmatrix} \geq 0; \tag{7}
$$
保护装置仅仅是域的边界,附加假设为可接受配置集是递减的,即向量场指向域外,或对于一条边 $ e = (v,v’) \in E $,
$$
G_e = \left{ (q,\dot{q}, u) \in TQ \times U: A_v(q,\dot{q}, u) = 0 \text{ and } \dot{A}_v(q,\dot{q}, u) \geq 0 \right}; \tag{8}
$$
其中我们省略了 $ q,\dot{q} $ 和 $ u $ 对 $ t $ 的依赖。重置映射是通过考虑后续模式中施加的约束所给出的碰撞方程推导得出的。对于一条边 $ e = (v, v’) \in E $,碰撞后速度 $ \dot{q}(t^+) $ 由碰撞前速度 $ \dot{q}(t^-) $ 表示,并由此确定重置映射:
$$
R_e(q(t^-),\dot{q}(t^-)) = \begin{bmatrix} q(t^-) \ \left(I - D^{-1}J
{v’}^T(J_{v’}D^{-1}J_{v’}^T)^{-1}J_{v’}\right)\dot{q}(t^-) \end{bmatrix}; \tag{9}
$$
其中,I 是单位矩阵,$ J_{v’} $ 是模式 $ v’ $ 下的雅可比矩阵,D 是惯性矩阵,且我们省略了雅可比矩阵和惯性矩阵对 $ q(t) $ 的依赖。该分析的结果表明,在给定域分解和双足机器人(仅确定无约束拉格朗日函数)的情况下,双足机器人的混合模型被完全确定。如果我们通过考虑接触点约束序列对人类行走进行分段,则可以提取出能够生成类人步态的双足机器人混合模型。然而,从人体数据中确定该序列需要解决一个组合问题。
3 切换最优控制公式表述
为了解决这一组合问题,需记住:给定一个双足机器人和一组接触点,可以立即写出一个由V索引的有限约束控制向量场集,因为只有完整约束会影响向量场,而由完整约束所规定的接触点必须保持的值从不出现在控制向量场中。这些约束并不能直接转化为一组守卫条件,因为需要知道单边约束的值。
为了确定接触点约束序列,我们可以通过选择最优向量场序列来跟踪人体数据,其中允许在向量场之间进行任意切换。在本节中,我们将描述如何解决这一问题。
切换系统的任意轨迹由离散模式序列、各模式停留时间序列以及连续输入编码随着时间的推移。为了形式化最优控制问题,我们定义了四个空间:R 是离散模式序列空间, S是切换时间序列空间, U是连续输入空间,NW是目标映射空间,其中 $ W \in \mathbb{N} $。我们首先详细描述这些空间中的每一个。为了记号上的方便,我们定义了一个额外的向量场 $ f_0(\cdot, \cdot) = 0 $,在此向量场中轨迹停止演化。离散模式序列空间最直观地可以看作是一个无限维空间,其元素仅包含有限个非零的向量场:
$$
R = \bigcup_{N=1}^\infty \left{ r \in (V \cup {0})^N \mid r(j) \in v_j \leq N, r(j) = 0 \text{ for } j > N \right}; \tag{10}
$$
我们定义 $ #r = \max{j \in \mathbb{N} \mid r(j) \neq 0} $,即 $ #r $ 是序列中模式的数量。其次,设切换时间序列空间中的一个元素为一个序列,其元素对应于在每个离散模式中所花费的时间。
$$
S = \bigcup_{N=1}^\infty \left{ s \in l^1 \mid s(j) \geq 0 \text{ for all } j \leq N, s(j) = 0 \text{ for all } j > N \right}; \tag{11}
$$
其中 $ l^1 $ 表示绝对可和序列的空间。第三,我们定义连续输入空间 $ U $:
$$
U = \left{ u \in L^2([0,\infty); \mathbb{R}^m) \mid u(t) \in U, \forall t \in [0,\infty) \right}; \tag{12}
$$
最后,令目标映射空间 $ \mathbb{N}^W $ 为由自然数组成的 $ W $ 元组集合,其中 $ W $ 等于我们问题中的目标数量,这将在后文定义。该空间中的元素定义了每个目标与离散模式序列空间中元素之间的映射关系。如下所示,这些目标有助于确保我们的算法能够“察觉”到接触点施加条件的变化。我们将这四个空间组合起来,定义优化空间 $ X $ 如下:
$$
X = \left{ (r, s, u, w) \in R \times S \times U \times \mathbb{N}^W \mid s(k) = 0 \text{ for all } k > #r; \text{ and } x(i) \leq #r \text{ for all } i \right};
$$
我们用四元组 $ n = (r, s, u, w) $ 表示 $ n \in X $。保持绝对时间的概念,即称为跳跃时间序列 $ \lambda : \mathbb{N} \times X \to [0,\infty) $,也是有用的:
$$
\lambda(i; n) =
\begin{cases}
0 & \text{if } i = 0 \
\sum_{k=1}^i s(k) & \text{if } i \neq 0
\end{cases}; \tag{13}
$$
令 $ \lambda_f(n) = |s|
{l^1} = \sum
{k=1}^\infty s(k) $。我们还定义,$ p : [0, \infty) \times X \to (V \cup {0}) $ 以返回对应于绝对时间t的模式:
$$
p(t; n) =
\begin{cases}
r(\min{i \mid \lambda(i; n) > t}) & \text{if } t < \lambda_f(n) \
r(#r) & \text{if } t = \lambda_f(n) \
0 & \text{if } t > \lambda_f(n)
\end{cases}; \tag{14}
$$
我们在上下文明确n的选择时,省略 $ \lambda $;$ p $ 和 $ \lambda_f $ 中对 $ n $ 的依赖。为了记号上的方便,我们将 $ \lambda(i) $ 写作 $ \lambda_i $。
给定 $ n \in X $ 和 $ x_0 \in M $,相应的轨迹 $ x(n) $ 是以下方程的解:
$$
\dot{x}(t) = f_{p(t)}(D(p(t^-),p(t^+))(x(t)), u(t)), \quad \forall t \geq 0, \quad x(0) = x_0; \tag{15}
$$
其中,$ D $ 是重置映射(当 $ p(t^-) = p(t^+) $ 时,$ D $ 被假设为恒等映射),且我们已省略了 $ x_0 $ 对 $ x(n) $ 的依赖性。设成本函数 $ J : X \to \mathbb{R} $ 为优化问题的定义如下:
$$
J(n) = \int_0^{u_f} L(x(n)(t), u(t), t) dt + \sum_{i=1}^W \phi_i(x(n)(\lambda_{x(i)}, \lambda_{x(i)})); \tag{16}
$$
给定 $ n \in X $ 和一组有限的函数,$ r_j: M \to \mathbb{R} $;$ j \in J $,我们通过要求状态在每个 $ t \in [0, \lambda_f] $ 和每个 $ j \in J $ 时满足 $ r_j(x(n)(t)) \geq 0 $ 来约束状态。此外,给定 $ n \in X $ 和一组有限的函数,$ g_k: S \to \mathbb{R} $;$ k \in K $,我们通过要求切换时间满足每个 $ k \in K $ 对应的 $ g_k(s) \geq 0 $ 来约束切换时间。我们通过定义一个新函数 $ w $ 来紧凑地描述所有约束。
$$
w(n) = \max\left( \max_{j \in J} \max_{t \in [0,\lambda_f]} r_j(x(n)(t)), \max_{k \in K} g_k(s) \right); \tag{17}
$$
有了这些定义,我们就可以陈述我们的问题。
多目标切换系统最优控制问题
$$
\min_{n \in X} J(n) \
\text{s.t. } w(n) \geq 0 \tag{18}
$$
由于我们关注的是构建一种可证明收敛于问题最小值的算法,因此对动力学、成本和约束做出以下假设:
假设1 函数L和 $ f_v $ 在x和u上对于所有 $ v \in V $ 都是Lipschitz连续且可微的。此外,这些函数关于x和u的导数也是Lipschitz连续的。
假设2 对于所有 $ i \in {1, …, W} $; $ j \in J $ 和 $ k \in K $,函数 $ \phi_i $; $ r_j $ 和 $ g_k $ 在其自变量上是 Lipschitz连续且可微的。此外,这些函数关于其自变量的导数也是Lipschitz连续的。
假设1与控制为可测且一致有界的函数相结合,足以确保微分方程(15)的解的存在性、唯一性和有界性。假设2是关于目标和约束的标准假设,用于证明下一节中定义的算法的收敛性。
4 算法设计
在本节中,我们提出一种算法来确定问题的数值解。由于本文的重点是双足行走的应用,因此我们将重点介绍该算法的高层描述,而关于算法各个部分的更详细描述及其收敛性证明可参见[9, 10]。
给定 $ n \in X $;该算法通过使用一种变分 $ \eta $ 来工作,该变分 $ \eta $ 在时间 $ \hat{t} $ 向 $ n $ 中插入一个模式 $ \hat{a} $ 和控制 $ \hat{u} $,持续时间由变分的参数决定。当该变分不再产生成本或不可行性的降低时,算法停止。由于优化算法的初始化可能并非易事,我们构建了一种在优化文献中称为第一阶段/第二阶段算法[17]的算法。第一阶段算法取优化空间中的任意一点并找到一个可行点,而第二阶段算法则在给定可行点作为初始条件的情况下寻找局部最小值。我们的算法将问题划分为两个非线性约束优化问题:
双层优化方案
阶段1
:给定一个固定的离散模式序列,采用第一阶段/第二阶段算法来寻找局部最优的切换时间序列和连续控制,或局部最优但不可行的切换时间序列和连续控制。
第二阶段
:给定切换时间序列和连续控制,利用变分 $ \eta $ 修改离散模式序列,若初始点可行,则寻找成本更低的离散模式序列;若初始点不可行,则寻找更接近可行的离散模式序列。使用修改后的离散模式序列重复执行阶段1。
为了形式化该描述,首先注意到通过采用无时间变换([10]的第5节描述了此变换),阶段1可以转化为关于切换时刻和连续控制的经典最优控制问题。设 $ \alpha : S \times U \to S \times U $ 为求解阶段1的一个函数。为了形式化第二阶段,我们首先定义变分 $ \eta $。给定 $ n \in X $,考虑在时间 $ \hat{t} $ 插入一个模式 $ \hat{a} $ 和控制 $ \hat{u} $。该插入由 $ \gamma = (\hat{a},\hat{t}, \hat{u}) \in H_n \subset Q \times T_n \times U $ 刻画,其中 $ T_n = [0, \lambda_f] $。给定 $ n \in X $; 和 $ \gamma \in H_n $,我们令 $ \eta : [0, \infty) \to X $,记作 $ \eta(\gamma)(k) $,来描述此类插入($ \eta $ 被定义在定义2中显式地表示,其参数表示插入的持续时间,我们省略了对[10], n的依赖性。n)。图1展示了经过函数 $ \eta(\gamma) $ 修改后的一对(r, s)。
我们采用变分 $ \eta $ 来表征何时达到最优解点。注意到在阶段1之后,局部降低成本或不可行性的唯一方法是修改离散模式序列。根据此过程,当点 $ n = (r,s,u,w) \in X $ 满足以下条件时,即(s, u)是阶段1的局部最优解,并且通过变分 $ \eta $ 对离散模式序列进行的最佳修改不会在点n可行时使成本J减小,或不会在点n不可行时使约束w减小,则该点满足我们的最优性条件。
对于任意函数 $ F : X \to \mathbb{R}^k $,其中 $ k \in \mathbb{N} $;我们定义F与 $ \eta $ 关于 $ \kappa > 0 $ 的复合函数的方向导数为:
$$
D_{(n;\gamma)}F = \lim_{\kappa \searrow 0} \frac{1}{\kappa} \left[ F(\eta(\gamma)(\kappa)) - F(n) \right] \tag{19}
$$
为了检查是否已到达满足最优性条件的点,我们首先利用成本J在插入 $ D_{(n;\gamma)}J $ 下变化的一阶近似,研究变分 $ \eta $ 对成本J的影响。如果该导数为负,则可以认为通过该变分有可能降低成本。其次,考虑约束w关于 $ \eta $ 的一阶近似,记为 $ D_{(n;\gamma)}w $,以确定由于插入导致的不可行性是否减小。同样,如果该导数为负,则有可能通过该变分降低不可行性。基于这些结果,我们定义一个最优性函数 $ h : X \to (-\infty, 0] $:
$$
h(n) = \min_{\gamma \in H_n} \theta(n, \gamma); \quad \theta(n, \gamma) =
\begin{cases}
\max(D_{(n;\gamma)}J, D_{(n;\gamma)}w + c_1 w(n)) & \text{if } w(n) > 0; \
\max(D_{(n;\gamma)}J - c_2 w(n), D_{(n;\gamma)}w) & \text{if } w(n) < 0;
\end{cases} \tag{20}
$$
其中 $ c_1, c_2 > 0 $ 为设计参数。注意,对于每个 $ n \in X $,$ h(n) \leq 0 $,因为给定一个值 $ n $ 后,我们总可以执行一次插入操作而不改变轨迹,例如,给定 $ n \in X $ 和 $ \hat{t} \in T_n $,选择 $ \gamma = (p(\hat{t}), \hat{t}, u(\hat{t})) $,因此在这种情况下 $ D_{(n;\gamma)}J = D_{(n;\gamma)}w = 0 $。
为了理解我们的最优性函数的效用,考虑三种情况。第一,如果在可行点 $ w(n) \leq 0 $,且 $ h(n) < 0 $,则存在一种可能的模式插入,可在保持可行性的同时降低成本。第二,如果在不可行点 $ w(n) > 0 $,且 $ h(n) < 0 $,则存在一种可能的模式插入,可在不会导致成本大幅增加的情况下减少不可行性。第三,如果处于可行点且无法通过变分 $ \eta $ 降低成本,或处于不可行点且无法通过变分 $ \eta $ 减少不可行性,则 $ h(n) = 0 $。因此,由于该最优性函数的零点编码了满足我们最优性条件的点,它可作为双层优化方案的停止准则。注意,最优性函数中的 $ c_1, c_2 $ 项捕捉到了成本或约束的减少可能导致不可行性或成本大幅增加的情况,因而可能是不理想的([17]的第2.5节描述了此效用)。
一次能够降低成本或不可行性的插入操作并未告诉我们实际执行该插入所需的时间长度。将我们的算法与一个简单的有限维优化算法进行比较,知道一次插入是可行的,相当于知道成本函数的梯度为负值。在有限维优化过程中,通过线搜索来选择沿梯度方向的步长。在此情况下,我们可以应用相同的算法。给定 $ a, b \in (0, 1) $,设最大插入长度为:
$$
\kappa(n;\gamma) = \max \left{ \kappa \in \mathbb{N} \mid b^\kappa w(\eta(\gamma)(b^\kappa)) \geq 0, J(\eta(\gamma)(b^\kappa)) - J(n) \geq a b^\kappa \theta(n, \gamma) \right} \tag{21}
$$
当 $ w(n) \leq 0 $ 时,否则令:
$$
\kappa(n;\gamma) = \max \left{ \kappa \in \mathbb{N} \mid w(\eta(\gamma)(b^\kappa)) - w(n) \geq a b^\kappa \theta(n, \gamma) \right}; \tag{22}
$$
5 应用
在本节中,我们展示了我们的最优控制方案在机器人双足模型识别中的应用。为了评估我们算法的性能,我们将注意力集中在文献中考虑的模型识别上,而非人体数据。
用于生成该真实数据的模型是一个带有膝盖和躯干的二维双足机器人,总共包含六个连杆。 请注意,这是一个双模混合系统。由于施加了足部接触点约束,产生了标记为rf和lf的两种模式,且模型假定在任意时刻仅有一个接触点被施加。构型空间的坐标为 $ \Theta = (\theta_{rf}, \theta_{rk}, \theta_{rh}, \theta_{lf}, \theta_{lk}, \theta_{lh}) $(为了方便,我们将这些坐标索引记为 $ i = 1, …, 6 $),这意味着每个模式的域具有坐标 $ (\Theta,\dot{\Theta}) $,并构成一个12维流形。由于空间限制,此处未明确列出混合系统的描述,但相关信息可在线获取。我们通过采用数值积分以及[21]中描述的技术,从该模型生成了一条稳定的行走样本轨迹。真实数据中的模式序列及每个模式的停留时间见表1的第二行。
为了应用我们的算法,我们假设有两个接触点,并且在任意时刻仅有一个接触点受约束。通过这样做,我们得到一个具有两个向量场的切换系统:rf 和 lf。在实际中,我们知道初始条件,即我们希望跟踪的 人体数据 的 $ x_0 $;因此,我们假设我们的 最优控制方案 也知晓这一 初始条件。
用 $ (\Theta(t),\dot{\Theta}(t)) $ 表示观测到的轨迹,我们将运行成本设为:
$$
L(\Theta(t),\dot{\Theta}(t); u(t); t) = 0.001 \int_0^{u_f} \sum_{i=1}^6 \left|\dot{\theta}_i(t) - \hat{\dot{\theta}}_i(t)\right|^2_2 dt; \tag{23}
$$
从样本轨迹中可以观察到,由于冲击引起的速度变化,不同模式之间的转换是可检测的。由于这些转换点尤为重要,我们在这些转换时间 $ \hat{t} $ 处加入了目标:
$$
\phi(\Theta(t),\dot{\Theta}(t); t) = 0.05 \sum_{i=1}^6 \left|\dot{\theta}_i(t) - \hat{\dot{\theta}}_i(\hat{t})\right|^2_2 + 5(t - \hat{t})^2; \tag{24}
$$
我们约束 $ \Theta \in [-\pi,\pi]^6 $; $ \dot{\Theta} \in [-30, 30]^6 $,并将总时间设为等于样本轨迹的长度。注意,我们的动力学、运行成本、目标和约束满足确保最优控制方案收敛性所需的假设。
为了评估我们方法的鲁棒性,我们考虑了该方案在多种模态序列初始化下的行为。由于从数据中可以明显看出存在两个步态阶段,因此我们重点关注两元素的模式序列初始化。表1描述了该算法在不同初始化条件下的结果。请注意,无论初始化时选择的模式序列和转换时间序列如何,该算法几乎都能收敛到真实模态和切换时间序列。
表1 使用图 2中描述的模型和图 3 中绘制的样本轨迹,我们的切换最优控制方案的结果
| $ r_0 $ | $ x_0 $ | $ s_0 $ | $ r_f $ | $ x_f $ | $ s_f $ | 计算 time |
|---|---|---|---|---|---|---|
| (lf, rf) | N/A | (0.445, 0.445) | N/A | N/A | N/A | N/A |
| (lf, rf) | 1 | (0.445, 0.445) | (lf, rf) | 1 | (0.445, 0.445) | 201 (s) |
| (lf, rf) | 1 | (0, 0.889) | (lf, rf) | 1 | (0.445, 0.445) | 222 (s) |
| (lf, rf) | 1 | (0.889, 0) | (lf, rf) | 1 | (0.445, 0.445) | 239 (s) |
| (右前, 右前) | 1 | (0.445, 0.445) | (右前, 左前, 右前, 右前) | 3 | (0.01, 0.431, 0, 0.448) | 537 (s) |
| (左前, 左前) | 1 | (0.445, 0.445) | (左前, 左前, 右前) | 1 | (0.424, 0.02, 0.445) | 394 (s) |
| (右前, 左前) | 1 | (0.445, 0.445) | (rf, lf, rf, lf) | 3 | (0.04, 0.463, 0, 0.406) | 568 (s) |
真实数据位于第二行,下标0表示初始化,下标f表示我们算法的结果,计算时间是在 AMD Opteron、8核、2.2 GHz、16 GB RAM的机器上确定的
6 结论
本文提出了从人体数据中自动识别机器人行走混合动力学模型的初步步骤。为实现这一目标,论文的前半部分提出了一种方法,能够以特定方式观察人类行走数据,从而直接提取出可实现类人步态的机器人双足行走模型。然而,该模型的提取需要求解一个组合问题。本文的后半部分通过将该组合问题重新表述为切换最优控制问题,并提出一种求解该问题的算法,解决了这一不足。为了验证该方法的有效性,本文给出了一个示例,在该示例中使用了模拟数据替代人体数据。
尽管本文的应用局限于一个简单的双足模型,但我们的结果提供了一种自动生成能够产生任务相关的拟人周期性运动模型的方法。也就是说,如果我们获得了一个人大上楼梯或跑步的数据,我们便能够构建出该周期性运动的数学模型,并可由机器人双足加以应用。实际上,在这种情况下我们所提出的方法生成了一种类似于中枢模式发生器[8]概念的任务驱动的数学模型。因此,这一结果可能对理解机器人和人类的周期性运动具有重要意义,特别是在假肢设计和康复领域。此外,最近几篇论文描述了更高效的实现方法,切换系统最优控制在各种基准测试中 consistently 找到了更高质量的极小值 [27, 28]。
1487

被折叠的 条评论
为什么被折叠?



