1.10 约束运动

拉格朗日方法的一个优点在于,通常可以选择恰好描述系统自由度的坐标,从而自动包含任何约束。我们也可以使用比系统实际具有更多自由度的坐标,并考虑坐标间的显式约束。例如,平面摆具有一维构型空间。我们之前使用相对于竖直方向的角度作为构型坐标来表述这个问题。或者,我们也可以选择将摆表示为在平面中运动的物体,受约束保持在围绕支点的正确半径的圆上。我们希望两种选择都有有效的描述,并证明它们是等价的。在本节中,我们将发展处理显式约束问题的工具。这里考虑的约束比在证明具有刚性约束的系统的拉格朗日量可以写成动能与势能之差时使用的约束更为一般(参见第1.6.2节)。

假设一个具有 n 个自由度的系统的构型由 n + 1 个坐标指定,并且构型路径 q 受约束满足某种形式的关系

我们如何建立运动方程?一种方法是利用约束方程消除其中一个坐标,用其余坐标表示;然后约化后的广义坐标集的演化将由通常的拉格朗日方程描述。描述并非完全独立的坐标的演化方程应当是等价的。

我们可以通过回到作用量原理来解决为具有冗余坐标的系统建立运动方程的问题。可实现路径与其他路径的区别在于其作用量取驻值。“驻值”是指作用量在路径的某些微小变化下不改变。应该考虑哪些变化?我们已经看到,与速度无关的刚性约束可用于消除冗余坐标。在无冗余坐标中,我们通过使用本身满足约束的变化来区分可实现路径。因此,在约束可用于消除冗余坐标的情况下,我们可以将路径的变化限制在那些与约束一致的变化上。

那么,对可能变化的限制如何影响导致拉格朗日方程的论证(参考第1.5节)?实际上大部分计算不受影响。作用量取驻值的条件仍然归结为条件(1.34):

在此处我们论证,由于变化 是任意的(除了端点条件),积分要为零的唯一方式是被积函数为零。此外, 选择上的自由度使我们能够推断出被积函数中乘以 的因子必须恒为零,从而推导出拉格朗日方程。

现在 的选择并非完全自由。我们仍然可以从 的任意性推断出被积函数必须为零,88 但我们不再能推断出乘以 的因子为零(只能推断该因子在可接受变化上的投影为零)。因此我们有

其中 受到约束。

路径 q 满足约束,如果 [q] = o [q] = 0。约束甚至在变化后的路径上也必须满足,因此我们只允许那些约束的变化为零的变化

我们可以说变化必须与约束曲面“相切”。使用链式法则展开,变化 与约束曲面 相切的条件为

注意这些是时间的函数;给定时刻的变化在该时刻与约束相切。

1.10.1 坐标约束

考虑那些不依赖于速度的约束:

在这种情况下,变化与约束曲面相切的条件为

方程(1.177)和(1.180)共同决定运动,但我们如何消除 ?拉格朗日方程的残差正交89 于任何与约束曲面法线正交的 。一个与所有与给定矢量正交的矢量都正交的矢量平行于该给定矢量。因此,拉格朗日方程的残差平行于约束曲面的法线;两者必须成比例:

两个矢量沿路径处处平行并不能保证比例因子在路径上的每一时刻都相同,因此比例因子 是时间的某个函数,可能依赖于所考察的路径。这些方程与约束方程 o [q] = 0 一起构成控制方程。这些方程足以确定路径 q 并消去未知函数

现在请注意

假设我们构造一个增广拉格朗日量,将 视为一个坐标:

与坐标 q 相关的拉格朗日方程就是修正后的拉格朗日方程(1.181),而与 相关的拉格朗日方程就是约束方程。(注意 不出现在增广拉格朗日量中。)因此,这个增广拉格朗日量的拉格朗日方程完全封装了由添加显式坐标约束所施加的对拉格朗日方程的修正,代价是引入了额外的自由度。注意这个拉格朗日量的形式与我们在刚性系统推导 L = T - V 时使用的拉格朗日量(方程1.89)相同(第1.6.2节)。

另一种方法

我们如何知道有足够的信息从方程(1.181)中消去未知函数 ,或者拉格朗日量(1.182)中引入的额外自由度纯粹是形式上的?

如果 可以写成解状态路径的函数,那么显然它由状态决定从而可以被消去。假设 可以写成一个状态依赖函数与路径的复合: = o [q]。考虑拉格朗日量

这个新的拉格朗日量没有额外的自由度。L'' 的拉格朗日方程就是 L 的拉格朗日方程加上由 的乘积产生的附加项。将欧拉-拉格朗日算符 E(参见第1.9节)应用于这个拉格朗日量得到90

E[L''] 与 [q] 复合得到路径 q 的拉格朗日方程。利用约束在路径上满足 o [q] = 0 且因此 Dt o [q] = 0 的事实,我们得到

其中我们使用了 = o [q]。如果我们现在利用我们只处理坐标约束这一事实,2 = 0,那么

拉格朗日方程与从增广拉格朗日量 L' 推导出的相同。区别在于我们现在看到 = o [q] 由未增广的状态决定。这等价于说 可以被消去。

仅从增广拉格朗日量拉格朗日方程的形式有效性考虑,我们不能推断 可以写成一个状态依赖函数 [q] 的复合。从增广拉格朗日量导出的显式拉格朗日方程依赖于加速度 D2q 以及 ,因此我们不能单独推断出两者中任一个是状态依赖函数与 [q] 的复合。然而,现在我们看到 就是这样一个复合。这使我们得以推断出 D2q 也是一个与路径复合的状态依赖函数。系统的演化由动力学状态决定。

使用约束的摆

摆可以表述为一个有质量粒子在竖直平面内的运动,受约束到支点的距离保持恒定(见图1.8)。

在这种表述中,拉格朗日量中的动能和势能是均匀引力加速度中无约束粒子的动能和势能。无约束粒子的拉格朗日量为

摆围绕支点以半径 l 做圆周运动的约束为91

增广拉格朗日量为

增广拉格朗日量的拉格朗日方程为

这些方程足以求解摆的运动。

毫不意外,如果我们转换到“极”坐标,这些方程会简化

将其代入约束方程,我们确定 r = l,为常数。求导后代入其他两个方程,我们得到

将第一个方程乘以 cos ,第二个方程乘以 sin 并相加,我们得到

我们认出这是正确的摆方程。这与使用无约束广义坐标 得到的摆的拉格朗日方程相同。为完整起见,我们可以用其他变量求出

这证实了 确实是状态函数与状态路径的复合。注意 2 l 是一个力——它是重力的向外分量与离心力之和。使用这种解释,在两个坐标运动方程中,涉及 的项是必须施加于无约束粒子以使其按照约束要求在圆上运动的力。等价地,我们可以将 2 l 视为摆杆中保持质量的张力。92

由部分构建系统

使用增广拉格朗日量对动力学系统施加约束的方法提供了一种分析复合系统的方式,即通过组合对系统各部分的分析以及它们之间的耦合。

考虑图1.9顶部所示的复合弹簧-质量系统。我们可以将其分析为一个整体系统,具有两个构型坐标 x1 和 x2,代表弹簧从其平衡长度 X1 和 X2 的伸长量。

另一种方法是将系统分解为若干部分。在我们的弹簧-质量系统中,我们可以选择两个部分:一个是附着在墙上的弹簧和质量,另一个是其附着点具有额外构型坐标 的弹簧和质量。我们可以分别为每个部分构造拉格朗日量。然后我们选择复合系统的拉格朗日量为两个分量拉格朗日量之和,并加上约束 = X1 + x1 来实现耦合。

让我们看看这是如何工作的。附着在墙上的子系统的拉格朗日量为

而附着在其上的子系统的拉格朗日量为

我们构造由这些部分组成的系统的拉格朗日量为各个部分拉格朗日量之和,并加上一个耦合项来强制执行约束:

因此我们可以按顺序写出四个构型坐标的拉格朗日方程如下:

注意在这个系统中 是将系统维系在一起的约束力。我们现在可以消去“胶水”坐标 ,得到坐标 x1 和 x2 中的运动方程:

这一策略可以推广。我们可以建立一个原始组件的库。每个组件可以用一个拉格朗日量来刻画,其中包含用于该组件可连接到其他组件的端子的额外自由度。然后我们可以通过组合组件,使用约束将端子粘合在一起,来构造复合拉格朗日量。

练习1.34. 组合拉格朗日量 a. 制作另一个与本节中描述的弹簧-质量结构兼容的原始组件。例如,制作一个可以连接到弹簧-质量系统的摆。构建一个组合并推导运动方程。注意,如果坐标选择不当,代数运算将非常复杂。

b. 作为一个小项目,构建一族兼容的机械零件,每个零件由适当的拉格朗日量刻画,可以通过多种方式组合以构成有趣的机构。记住,在好的语言中,组合部分的结果本身应该是一个相同种类的部分,可以进一步与其他部分组合。

练习1.35. 三轴曲面上的珠子 再次考虑受约束在三轴曲面上运动的珠子(练习1.18)。使用直角坐标作为广义坐标,并附加以珠子保持在曲面上的显式约束,重新表述该问题。找到拉格朗日量并证明拉格朗日方程与练习1.18中找到的等价。

练习1.36. 微小高尔夫球的运动 将高尔夫球理想化为一个质点,在均匀引力场(加速度为 g)中,受约束在高度变化的 h(x, y) 无摩擦光滑表面上运动。

a. 为该系统寻找一个增广拉格朗日量,并推导支配质点在 xy 中运动的方程。

b. 在什么条件下这可以近似为势函数 V(x, y) = mgh(x, y)?

c. 假设 h(x, y) 关于 x = y = 0 轴对称。你能找到这样的 h 使得运动具有闭合轨道吗?

1.10.2 导数约束

这里我们研究那些是速度无关约束的“全时间导数”的速度相关约束。到目前为止介绍的方法不适用,因为约束是依赖于速度的。

考虑一个速度相关约束 = 0。 是全时间导数意味着存在一个与速度无关的函数 使得

与速度无关意味着 2 = 0。作为状态函数, 之间的关系为

给定 ,我们可以通过求解这个线性偏微分方程找到 。解可确定到相差一个常数,因此 = 0 意味着 = K,其中 K 为某个常数。另一方面,如果我们知道 = K,则 = 0 随之成立。因此速度相关约束 = 0 等价于速度无关约束 = K,并且我们知道如何找到此类系统的拉格朗日方程。

如果 L 是无约束问题的拉格朗日量,则具有约束 = K 的拉格朗日方程为

其中 是一个时间函数,将在求解过程中被消去。常数 K 不影响拉格朗日方程。函数 与速度无关,2 = 0,因此拉格朗日方程变为

从方程(1.208)我们看到

因此具有约束 = 0 的拉格朗日方程为

重要的特点是我们可以直接用 写出拉格朗日方程,而无需构造积分 。但这些拉格朗日方程的有效性依赖于积分 的存在。

结果表明,增广拉格朗日量技巧在这里也适用。如果我们将拉格朗日量加上约束 乘以一个时间函数 ',就得到这些拉格朗日方程:

L' 的拉格朗日方程结果为

其中,令 = - D',则与拉格朗日方程(1.212)相同。

有时,一个问题可以自然地用速度相关约束来表述。我们发展的形式体系可以处理任何可以写为坐标约束的导数的速度相关约束。这样的约束称为可积约束。任何约束可以置于坐标约束形式(或已经在该形式中)的系统称为完整系统。

练习1.37. 证明增广拉格朗日量(1.213)确实导致拉格朗日方程(1.214),考虑到 的全时间导数。

Goldstein 的圆环

这里我们考虑一个约束可以表示为坐标约束的时间导数的例子:质量为 M 的圆环沿(一维)斜面滚下,无滑动(见图1.10)。93

我们将用两个坐标来表述该问题:,圆环上任意点从任意参考方向转过的角度;以及 x,沿斜面向下的线性位移。约束是圆环不滑动。因此 的变化精确反映在 x 的变化中;约束函数为

这个约束表述为广义速度之间的关系,但可以积分得到 x = R + c。我们可以使用积分后的约束或其导数来构造增广拉格朗日量。

动能有两部分:圆环的转动能量和其质心运动的能量。94 圆环的势能随高度降低而减少。因此我们可以写出增广拉格朗日量:

拉格朗日方程为

通过对第三个拉格朗日方程求微分,我们得到

通过组合这些方程,我们可以求解感兴趣的动力学量。对于这个滚动的圆环,线性加速度

仅仅是质量沿无摩擦平面滑下而不转动时的加速度的一半。注意对于这个圆环,D2xMR 无关。从拉格朗日方程我们看到 D 可以解释为实施约束所涉及的摩擦力。约束的摩擦力为

角加速度为

1.10.3 非完整系统

具有不可积约束的系统称为非完整系统。如果约束不能写成等价的坐标约束,则它是不可积的。非完整系统的一个例子是在碗中无滑动滚动的球。当球滚动时,它必须转动使其表面在接触点处相对于碗不发生滑动。这看起来可能在球在碗中的位置与球的取向之间建立了一种关系,但事实并非如此。球可能回到碗中的同一位置,但具有不同的取向,这取决于它所经过的路径。因此,约束不能用于消去任何坐标。

支配非完整系统的运动方程是什么?对于具有速度线性非完整约束的受限系统集,广泛报道95 的运动方程如下。令 具有形式

这是一个关于速度线性的状态函数。我们假设 不是一个全时间导数。如果 L 是无约束系统的拉格朗日量,则运动方程被断言为

加上约束 = 0,系统封闭,系统的演化被确定。注意这些方程与 是全时间导数情况下的拉格朗日方程(1.212)相同,但这里这些方程的推导不再有效。

对于坐标约束 = 0(其中 2 = 0)的拉格朗日方程推导的关键步骤是注意必须满足两个条件:

以及

因为 E[L] o [q] 与 正交,而 被约束为与 1 o [q] 正交,所以两者在每一时刻必须平行:

导数约束的拉格朗日方程即由此推导得出。

如果约束函数依赖于速度,这个推导就不成立了。在这种情况下,为使变化 与速度相关约束函数 相容,它必须满足(见方程1.179)

我们不能再通过同样的论证消去 ,因为 不再与 1 o [q] 正交,而且由于 按假设不可积,我们不能将约束改写为坐标约束。

以下是 Arnold 等人 [6] 中对非完整方程的推导,转换为我们所用的记号。定义一个“虚速度” 为任何满足下式的速度

根据 Arnold 的说法,“d'Alembert-Lagrange 原理”指出

对于任何虚速度 成立。因为 除了要求与 2 o [q] 正交外是任意的,并且任何这样的 E[L] o [q] 正交,所以 2 o [q] 必须平行于 E[L] o [q]。因此

这就是非完整方程。

要将驻值作用量方程转换为 Arnold 的方程,我们必须执行以下步骤。为从方程(1.226)得到方程(1.231),我们必须将 替换为 。然而,为从方程(1.229)得到方程(1.230),我们必须令 = 0 并将 D 替换为 。所有非完整方程的“推导”都有类似的等同处理。归根结底:非完整方程并非来自作用量原理。它们是别的东西。它们是否正确取决于它们是否与实验相符。

对于坐标约束或导数约束系统,我们发现拉格朗日方程可以从用约束增广的拉格朗日量推导出来。然而,如果约束不可积,增广拉格朗日量的拉格朗日方程与非完整系统的方程(1.225)不同。96 令 L' 为带有不可积约束 的增广拉格朗日量:

那么与坐标相关的拉格朗日方程为

相关的拉格朗日方程就是约束方程

这些方程的一个有趣特征是它们同时涉及 D。因此,通常的状态变量 qDq 连同约束一起,不足以确定推导出的拉格朗日方程的一组完整初始条件;我们还需要指定 的初始值。

一般而言,对于任何特定的物理系统,方程(1.225)和(1.234)并不相同,实际上它们具有不同的解。两组方程中哪一组能准确建模物理系统并不显然。第一种处理非完整系统的方法不能通过推广完整情形的论证来证明其合理性,而另一种方法则不是完全确定的。这可能表明这些模型是不充分的,需要指定更多关于约束如何维持的细节。


88 给定任何可接受的变化,我们可以将其乘以一个突出任何特定时间区间的凸包函数来得到另一个可接受的变化。

89 我们认为两个时间上的元组值函数是正交的,如果在每一时刻这两个元组的点积为零。类似地,如果每一时刻一个元组是另一个元组的标量倍数,则认为元组值函数是平行的。标量乘子一般是时间的函数。

90 回顾欧拉-拉格朗日算符 E 具有性质

91 这个约束与第1.6.2节中证明 L = T - V 可用于刚性系统时使用的约束具有相同的形式。这里它是一个更一般约束集的具体例子。

92 事实上,如果像在牛顿约束力的讨论中那样对约束方程进行缩放,我们本可以将 等同于约束力 F 的大小。然而,尽管 通常与约束力有关,但它并非其中之一。我们选择保持缩放的天然形式,而不是为了使结果人为地好看而进行改动。

93 这个例子出现在 [20] 中,第49-51页。

94 我们将在第2章看到如何计算转动动能,但目前答案是 (1/2) M R2 2。

95 关于非完整系统的一些处理方法,参见例如 Whittaker [46]、Goldstein [20]、Gantmakher [19] 或 Arnold 等人 [6]。

96 Arnold 等人 [6] 将约束添加到拉格朗日量中的变分力学称为 Vakonomic 力学。