分享

一个非常精确的数学公式,告诉你如何侧方停车,答案完全出乎意料

 taotao_2016 2024-03-26

如何侧方停车?需要多大的空间呢?

图片

汽车无法直接横向行驶。它的可能运动都是二维欧几里得空间中的等距变换(isometries,但它的基本控制,“转向”和“行驶(向前驾驶)”只是这些等距变换的一小部分。李理论(Lie Theory可以探究如何从一小部分运动构建复杂的运动,从而了解即使是简单、看似不充分的控制也能在机械和机器人学中实现复杂的运动。特别是,它告诉我们一个令人惊讶的答案:如果你必须侧方停车,停车位需要多大才能容纳你的汽车?甚至告诉你如何侧方停车。

当我在学习驾驶时,我的教练告诉我,你总是需要车长加上车宽的一半。

现在,确实有一个非常精确的公式和最优的策略,答案可能会让你感到惊讶。当我最终找到解决这个问题的方法时,它确实让我感到惊讶。

定义一个齐次空间

要分析一个李群理论的物理问题,我们需要定义一个齐次空间(Homogeneous Space。也就是说,在这种情况下,我们需要:

  1. 描述汽车所有可能的位置和朝向;

  2. 找出一套数学规则,说明汽车怎么移动或转向(定义可能对汽车进行变换的李群);

  3. 说清楚这套规则怎么应用到汽车的位置和朝向上。

所谓齐次空间,就是一个空间加上一组规则,这组规则能把空间里的任何一点移动到任何其他点。在咱们这个例子里,这意味着理论上有办法把汽车从任何一个位置和朝向移动到任何其他位置和朝向。

但实际上,咱们能用的控制(比如转向和前进)只能实现这些变换中的一小部分。这里就不深挖细节了,但你可以看出,即使控制有限,还是可以通过组合这些控制来实现复杂的移动。

图片

我用复数在复平面上来表示它在平面上的位置和朝向,因为这样可以简化下面的矩阵和方程(例如,旋转θ角度只是简单地乘以标量exp(iθ),而不是使用实数矩阵)。那么汽车位置和朝向就完全由汽车上一个参考点(在这种情况下,是后轮中心之间的中点)在复平面上的位置Z以及复数单位幅值数exp(i )来确定,后者定义了汽车前进的方向。

人们可以用简单的实数角度来表示汽车的方向,就像Burke, Nelson和Rossmann在他们的研究中所做的那样。但是,如果我们用一个复数的指数形式(比如exp(iθ))来表示旋转,就可以让问题变得更简单,因为这样可以让计算变成简单的乘法。

此外,在更一般的处理中,Burke, Nelson和Rossmann都将转向设置包含在配置中。在目前的处理中,我将转向设置到作用在汽车上的李群成员中。在上图中,转向设置是κ=R⁻¹其中R是汽车在当前转向设置下遵循的路径的曲率半径。在我们考虑的转向类型中,后轴的中心线和前轮的中心线都会在一个共同的点上相交。这种转向被称为阿克曼转向,它通过机械连杆确保在不同的转向角度下,这个几何条件始终得到满足。

在我们目前的分析中,汽车的转向效果可以用下面的矩阵乘法来表示:

图片

图片

图片

其中s是汽车参考点沿着的曲线的路径长度。“驾驶”(D)和“转向”(S)以及第三个算子“侧移”(H)是:

图片

您可以计算出它们的明确作用如下:对于“驾驶”:exp(sD)左乘包含位置z的2×1复向量,将复值s exp(iΦ)加到汽车的位置z上,但不改变方向exp(iΦ),即它直接向前驱动汽车s单位距离。对于“转向”,exp(s S)将方向exp(iΦ)乘以exp(i s),即它是通过s弧度的纯旋转。最后,“侧移”指数化为exp(sH) = i exp(sD),它将复值i s exp(iΦ)加到汽车的位置上。换句话说,用一种特别的数学方法(就是把“驾驶”的动作乘以i),我们可以让汽车横着移动s个单位距离。

转向和驾驶能给我们带来什么?

最重要的一点是要注意,汽车的控制只给我们提供了整个可能汽车运动集合的一个非常小的子集。我们只能直接通过转向控制传递形式为exp(s (D +κ S))的运动,其中κ是有限的曲率,符号可以是正(向前行驶时向左转)或负(向右转)。

然而,在这种情况下,汽车的所有可能运动实际上都是欧几里得群E(2),即二维平面的等距变换群,这是一个比我们的转向控制可用的集合大得多的集合。特别是,没有直接的方式使汽车侧向平移,也没有直接的方式使它在其质心通过的轴线上在平面内旋转。

但是这些形式为D + S的“转向”(S)和“驾驶”(D)的线性组合,即使它们是我们唯一可用的控制,也不是封闭的李代数。它们的换位子“侧移”(H)是一个完全不同的算子,实际上,包含S和D的最小李代数由以下定义:

图片

其中,李括号或换位子由以下定义:

图片

并且是群换位子的无穷小版本:

图片

我们不能直接让汽车横向移动,但这种横向移动正是我们需要的,以便从侧方停车位中开出来。

然而,事实证明,以上所有事实都让我们可以使用以下定理:

如果有一些操作(比如A、B、C等)是李代数(一种数学结构)的一部分,即使这些操作没有涵盖整个李代数,通过这些操作的组合和乘积,我们仍然可以得到与这些操作相关的最小李群的一个特定部分,这个部分是与李群的恒等元素(即不做任何变换的操作)相连的。简单来说,就是通过这些操作,我们可以得到一个与这些操作相关的特定变换群的一个重要部分。

但是在我们的问题中,它意味着存在一系列有限的驾驶和转向操作,将实现纯粹的侧移!

需要多少空间?

如果李理论(一种数学理论)能帮我们找到一组特定的前进和转向操作,这组操作能让汽车直接横向移动,那么我们可以调整这些操作,让汽车移动的轨迹非常接近不动的点。换句话说,我们可以通过微调这些操作,让汽车以非常小的空间实现横向移动。

换句话说,只要停车位的长度比汽车长一些正长度,就一定存在一系列足够小的转向和驾驶动作,无论多么小的额外长度,都能让汽车从空间中“蠕动”出来!

在实际中,当汽车的转向角度很大(比如转向到最大)时,它的转向行为通常和理想的阿克曼转向(每个轮子都按照正确的角度转向)不一样。为了让转向更有力,轮胎会故意滑动一点,特别是当它们弯曲得很厉害的时候。这就是为什么我们之前算出来的并排停车需要的尝试次数可能比实际情况要多一些。

图片

而在转向角度小的时候,比如在高速公路上行驶时,转向通常会更接近理想的阿克曼转向,这样可以防止轮胎滑动和承受过大的力。但是,过多的轮胎滑动和压力会缩短轮胎的使用寿命,这就是为什么实际的转向机构比我们这里简化的模型要复杂。设计的目的是在低速时让汽车更容易转向,即使这样会让轮胎磨损一些,但在汽车正常行驶时(大部分时间)会尽量减少这种磨损。

更复杂的情况

回到公式:

图片

这告诉我们,一系列一阶驾驶和转向将交换产生二阶侧移的残差(通过一连串的简单前进和转向操作,我们会得到一个小的横向移动作为副产品)。换句话说,从停车位中逃脱的效率迅速降低(需要更多的转向和驾驶),随着额外长度的减少而减少。

到目前为止,我们已经用李理论(一种数学理论)了解到了关于这个问题的所有基本情况。但是,要更深入地了解这个特定的停车效率问题,我们需要放下李理论,用具体的数学计算来分析这个问题的几何形状。幸运的是,这个计算相对简单,但前提是你得有像Mathematica、Sage或Maple这样的数学软件来帮忙计算。

如果我们计算上述换位子公式,事实证明,在这个特定的李群E₂中,右手边的指数中只有换位子项,任何阶数都是如此,这是一个全局的,而不是无穷小的,关系:

图片

需要注意的是,指数中的这个确切换位子是这个李欧几里得群E(2)特有的现象;一般来说,有些项在s中是高阶的(因此与换位子相比,在s➝0的极限中微不足道),但在换位子的操作数(在这个例子中是D和S)中是线性的,以及由重复李括号生成的任何其他李代数成员(在E(2)中没有其他)。

图片

  • 经过一个换位子周期,车辆已经进行了纯粹的侧向平移。

可以证明,这种侧方停车的直观方式是最优的。如上图所示,你可以尽量往左打方向盘然后前进,接着尽量往右打方向盘然后前进,然后再尽量往左打方向盘后退,最后尽量往右打方向盘后退。这样一来一回的操作可以让你的车在每轮操作中尽可能多地向旁边移动。这个操作方法被称为“猛烈控制”,虽然听起来有点粗鲁,但这是一种常见的最佳操作策略。

上面的换位子公式,显示了“猛烈控制”侧向位移是 -8 sin²(s κ/2)/κ 单位,表明对于一阶大小的动作(阶数s),侧向位移是二阶的(s²)。在李群中以换位子和可用控制序列的方式合成的、但不是直接可用的控制往往是低效的。特别是,我们可以计算出在给定车辆几何形状和停车位额外长度的情况下,需要多少次繁重的驾驶、转向、反向驾驶、反向转向“猛烈”换位子(向前左全力转向,然后向前右全力转向,然后向后左全力转向,然后向后右全力转向)周期。

原地旋转

在这个群E(2)中,也有一个相对简单的形式,用于著名的Campbell Baker Hausdorff / Dynkin公式(其全局形式证明了研究李代数以研究李群乘积是合理的):

图片

其中右侧指数中的系数由以下公式给出:

图片

只要我们适当限制我们对角度的定义,这些公式在全局上是有效的。

E(2)值得注意的是,它是一个非紧群,但每个群元素都是李代数成员的指数,这一事实可以用上述公式证明。紧群的每个成员都是李代数成员的指数,但一般来说(不像在E(2)中),在非紧群中不是这样的。

通常,Campbell-Baker-Hausdorff公式有一个小的、有限的收敛半径。它对于一些紧群,如SU(2)和SO(3),有全局有效的形式,但E(2)是我所知道的唯一一个在非紧情况下保持全局CBH有效性的(毫无疑问还有其他的,但我没有去寻找它们或思考这个问题太多)。我们可以使用上述E(2)公式来分析这个特定的李理论停车问题。不仅是并排停车问题,还可以找到可用控制的序列来实现群E(2)内的任何一般运动。

例如,通过重复应用算子(exp(s (D - κS)/N) exp( - s (D + κS)/N))ᴺ,也可以近似一个关于后轴中点的纯旋转;当我们计算这个乘积时,发现:

图片

这表明,当N➝∞时,这个序列接近纯旋转(即绕后轴中心点的exp( - 2κsκS))。侧移分量,其大小为2 s tan(sκ/(2 N)),是二阶的,并且当我们将旋转序列分解为越来越小的组成操作时,它变得越来越小。上面的“花”周期与圆的区别是由于这个2 s tan(sκ /(2 N) H项。

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多