365体育网址求解路径的法门要运用的是。给一定一组直线(至少少长长的未平行)

近年来涉企了一个十分蛋疼的业余时间小项目:给定赛道和赛车模拟程序,求赛车跑了赛道的极致抢之办法。对于此题材,我一样开始的想法是:就如Google的机动开同样,给一定足够的教练多少,然后汽车对前方的画面做出判断决定时时刻的驾驭策略。不过查了查文献,从游戏支付的角度,似乎一般都是为此事先找找有赛车的极度漂亮路径,然后沿着路径驾驶就实施了。我们最后使的凡后世,我承担了内部赛道产生被的同等局部:近似求解最短缺路径(Shortest
Path)和无限小曲率路径(Minimum Curvature Path)。

立马是只很好玩的略微题目,给一定一组直线(至少少漫长未平行),希望会找到与就组直线尽可能垂直的直线。打只假设,比如当三维空间被,如下图(forked
from wiki)

加的输入是赛道的图像文件,用OpenCV中之边缘检测模块得到赛道的线与中坚轮廓线:一堆按顺序排列好之比如说素点,描述了赛道的模样,输出则是太短缺路径和极致小曲率路径仍顺序排列的坐标点。

365体育网址 1

365体育网址 2

ab个别是于一个面上无平行的少长条直线上,那么明白与ab所于直线垂直程度最高的饶是和ab俩俩垂直的竖线,也就算是叉积axb趋势平的直线。两久直线可为此叉积,那么多被片长长的之状况呢?想象如果同时生出了平长条直线,其同一端的动向可以为此往量c表示,如果cab在一个平面及之语,那么好惩治,还是axb,或者bxc否推行;但是若cab莫以一个平面及的讲话,那么叉积的计尽管随便用了。回到问题之极其开始,其实是什么定义跟其余直线最要命程度垂直。还是考虑只有ab的情况,axb实则就算是于ab及之黑影均为零星,也就算是点积为零星,所以不妨将于另兼具向量上阴影最少的向量定义为极可怜程度垂直的大势。

产生了赛道轮廓之后,求解路径的法主要采用的凡[1]和[2]被描述的计。

这就是说考虑有n条直线,对应n个单位向量代表各条直线的一个大方向,其中第i个向量可以代表也\({{v}_{i}}=\left(
{{x}_{i}},{{y}_{i}},{{z}_{i}}
\right)\),那么对于一个向量\(v=\left( x,y,z
\right)\),在\({{v}_{i}}\)上投影的尺寸为:

本着赛道进行分层

\[\begin{align}
 & \left| \left\langle v,{{v}_{i}} \right\rangle  \right|=\left|
x{{x}_{i}}+y{{y}_{i}}+z{{z}_{i}} \right| \\
\end{align}\]

365体育网址 3

那一个死直接的主意就是故优化算法来呼吁来要投影绝对值之同最好小之v

支行的道是当大概中心线上抱间隔等的垂直线段,然后以赛道上的主宰点坐标表示也于笔直线段上之对立位置。比如上面这幅图被之第i个线段,假而这个线条的方面端点给\(P_{i,1}\),下面的捧点被\(P_{i,0}\),令\(W_{i}=P_{i,1}-P_{i,0}\),则线段上恣意一点\(P_{i}\)可以代表为:

\(\text{min: }\sum\limits_{i=1}^{n}{\left| \left\langle
v,{{v}_{i}} \right\rangle  \right|}\)
\(\begin{align}
 & \text{subject to: }\left| {{v}_{i}} \right|=1\text{ and }\left|
v \right|=1 \\
\end{align}\)

\[\begin{align}
 & {{P}_{i}}={{P}_{i,0}}+{{\alpha }_{i}}{{W}_{i}}=\left(
{{x}_{i,0}}+{{\alpha }_{i}}\left( {{x}_{i,1}}-{{x}_{i,0}}
\right),{{y}_{i,0}}+{{\alpha }_{i}}\left( {{y}_{i,1}}-{{y}_{i,0}}
\right) \right)=\left( {{x}_{i,0}}+{{\alpha }_{i}}\Delta
{{x}_{i}},{{y}_{i,0}}+{{\alpha }_{i}}\Delta {{y}_{i}} \right)
\\
\end{align}\]

\(\left| {{v}_{i}}
\right|=1\)是以是各一个向量上的阴影能够相加比较,\(\left| v
\right|=1\)是为着优化,否则最后的结果就是是\(\left( 0,0,0
\right)\)。这个法子虽然直观,但是考虑到1)要运绝对值相加,2)要用优化算法还是看多少累。考虑一下用平方和作优化目标,当然这会和绝对值的办法有些字非雷同,主要是各级一个阴影大小对结果影响之sensitivity变了,不过总体而言是大半的,总之,要求的目标化了:

如此做的裨益是把要用二维点坐标表示的赛道转化为同样维的当赛道上的相对位置,如此一来需要处理的题目虽变换得简单而直观了。

\( \sum\limits_{i=1}^{n}{{{\left\langle v,{{v}_{i}}
\right\rangle }^{2}}} \)
\( =\sum\limits_{i=1}^{n}{{{\left(
x{{x}_{i}}+y{{y}_{i}}+z{{z}_{i}} \right)}^{2}}} \)
\(
=\sum\limits_{i=1}^{n}{{{x}^{2}}{{x}_{i}}^{2}+{{y}^{2}}{{y}_{i}}^{2}+{{z}^{2}}{{z}_{i}}^{2}+2xy{{x}_{i}}{{y}_{i}}+2yz{{y}_{i}}{{z}_{i}}+2zx{{z}_{i}}{{x}_{i}}}
\)
\(
={{x}^{2}}\sum\limits_{i=1}^{n}{{{x}_{i}}^{2}}+{{y}^{2}}\sum\limits_{i=1}^{n}{{{y}_{i}}^{2}}+{{z}^{2}}\sum\limits_{i=1}^{n}{{{z}_{i}}^{2}}+xy\sum\limits_{i=1}^{n}{2{{x}_{i}}{{y}_{i}}}+yz\sum\limits_{i=1}^{n}{2{{y}_{i}}{{z}_{i}}}+zx\sum\limits_{i=1}^{n}{2{{z}_{i}}{{x}_{i}}}
\)
\(\begin{align}
&\\
\end{align}\)

最好缺路径

在意观察最后的进行,如果右边加个等于常数码的话,就是只椭球嘛,而且从不同差项,所以是个基本在原点的椭球。这样一来就老大简短了,考虑之前提出的限定标准\(\left|
v
\right|=1\),相当给来一个半径为1,球心在原点的球面,和一个中坚为当原点,大小未定,但是三个极轴比例确定的椭球面。我们如果寻找这样一种情形:球面和椭球面有交点(v有),并且椭球的轴长尽可能小(\(\sum\limits_{i=1}^{n}{{{\left\langle
v,{{v}_{i}} \right\rangle
}^{2}}}\)最小)。很醒目这种情形就是是椭球内切于单位球面,而这时候v相应的便是长轴的大方向,所以问题便重新简明了,我们都未待要求来椭球的切实可行表达式,而是找有长轴的可行性向量就好了。回顾一下椭球的文化:任意一个椭球可以发挥如下:

来看\(P_{i}\)和\(P_{i+1}\),两碰里的去吗

\(\begin{align}
 & {{\left( v-{{v}_{0}} \right)}^{T}}M\left( v-{{v}_{0}} \right)=1
\\
\end{align}\)

\[\begin{align}
 & {{d}_{i}}=\left| {{P}_{i+1}}-{{P}_{i}} \right|=\sqrt{\Delta
{{x}_{i+1,i}}^{2}+\Delta {{y}_{i+1,i}}^{2}} \\
\end{align}\]

其中v0是着力坐标,当然对本文的动静立刻是独零向量,M的特征向量就是三单极轴的大势,特征值就是三独轴半抬高的平方分之一,所以我们惟有要求来M,然后找到M对诺特征值绝对值最小之不可开交特征向量,该向量就是咱们最终要求的可行性向量v。所以,将椭球表达式展开,为简便,首先使M如下:

其中,

\(\begin{align}
&M=\left[ \begin{matrix}
   A & D & F  \\
   D & B & E  \\
   F & E & C  \\
\end{matrix} \right]\\
\end{align}\)

\[\begin{align}
 & \Delta {{x}_{i+1,i}}={{x}_{i+1,0}}+{{\alpha }_{i+1}}\Delta
{{x}_{i+1}}-\left( {{x}_{i,0}}+{{\alpha }_{i}}\Delta {{x}_{i}}
\right)=\left( {{x}_{i+1,0}}-{{x}_{i,0}} \right)+\left[
\begin{matrix}
   \Delta {{x}_{i+1}} & -\Delta {{x}_{i}}  \\
\end{matrix} \right]\left( \begin{matrix}
   {{\alpha }_{i+1}}  \\
   {{\alpha }_{i}}  \\
\end{matrix} \right) \\
\end{align}\]

于是有:

\(\Delta
y_{i+1,i}\)类似,就未写出来了。那么最好缺乏路径就可以看作是要下面这个优化问题:

\( {{v}^{T}}Mv \)
\( ={{\left[ \begin{matrix}
   x  \\
   y  \\
   z  \\
\end{matrix} \right]}^{T}}\left[ \begin{matrix}
   A & D & F  \\
   D & B & E  \\
   F & E & C  \\
\end{matrix} \right]\left[ \begin{matrix}
   x  \\
   y  \\
   z  \\
\end{matrix} \right] \)
\( =A{{x}^{2}}+B{{y}^{2}}+C{{z}^{2}}+2Dxy+2Eyz+2Fzx \)
\[\begin{align}
&\\
\end{align}\]

\[\text{min: }\sum\limits_{i=1}^{n}{{{d}_{i}}^{2}} \]
\(\begin{align}
 & \text{subject to: }0\le {{\alpha }_{i}}\le 1 \\
\end{align}\)

管这结果以及眼前的公式(3)对照,得到AB、C、DEF的值,代入M,得到如下:

专注到这边我们呼吁之是\(\sum{{{d}_{i}}^{2}}\)而并非\(\sum{\left|
{{d}_{i}}
\right|}\),为什么吧?当然不仅仅是为了避免求绝对值,将\(d_{i}^{2}\)展开我们获取:

\(\begin{align}
&M=\left[ \begin{matrix}
   \sum\limits_{i=1}^{n}{{{x}_{i}}^{2}} &
\sum\limits_{i=1}^{n}{{{x}_{i}}{{y}_{i}}} &
\sum\limits_{i=1}^{n}{{{z}_{i}}{{x}_{i}}}  \\
   \sum\limits_{i=1}^{n}{{{x}_{i}}{{y}_{i}}} &
\sum\limits_{i=1}^{n}{{{y}_{i}}^{2}} &
\sum\limits_{i=1}^{n}{{{y}_{i}}{{z}_{i}}}  \\
   \sum\limits_{i=1}^{n}{{{z}_{i}}{{x}_{i}}} &
\sum\limits_{i=1}^{n}{{{y}_{i}}{{z}_{i}}} &
\sum\limits_{i=1}^{n}{{{z}_{i}}^{2}}  \\
\end{matrix} \right]\\
\end{align}\)

\( {{d}_{i}}^{2}=\Delta {{x}_{i+1,i}}^{2}+\Delta {{y}_{i+1,i}}^{2}
\)
\( ={{\left( \begin{matrix}
   {{\alpha }_{i+1}}  \\
   {{\alpha }_{i}}  \\
\end{matrix} \right)}^{T}}\left[ \begin{matrix}
   \Delta {{x}_{i+1}}^{2} & -\Delta {{x}_{i+1}}\Delta {{x}_{i}} 
\\
   -\Delta {{x}_{i+1}}\Delta {{x}_{i}} & \Delta {{x}_{i}}^{2} 
\\
\end{matrix} \right]\left( \begin{matrix}
   {{\alpha }_{i+1}}  \\
   {{\alpha }_{i}}  \\
\end{matrix} \right)+{{\left( \begin{matrix}
   {{\alpha }_{i+1}}  \\
   {{\alpha }_{i}}  \\
\end{matrix} \right)}^{T}}\left[ \begin{matrix}
   \Delta {{y}_{i+1}}^{2} & -\Delta {{y}_{i+1}}\Delta {{y}_{i}} 
\\
   -\Delta {{y}_{i+1}}\Delta {{y}_{i}} & \Delta {{y}_{i}}^{2} 
\\
\end{matrix} \right]\left( \begin{matrix}
   {{\alpha }_{i+1}}  \\
   {{\alpha }_{i}}  \\
\end{matrix} \right) \)
\( +2\left( {{x}_{i+1,0}}-{{x}_{i,0}} \right)\left[
\begin{matrix}
   \Delta {{x}_{i+1}} & -\Delta {{x}_{i}}  \\
\end{matrix} \right]\left( \begin{matrix}
   {{\alpha }_{i+1}}  \\
   {{\alpha }_{i}}  \\
\end{matrix} \right)+2\left( {{y}_{i+1,0}}-{{y}_{i,0}}
\right)\left[ \begin{matrix}
   \Delta {{y}_{i+1}} & -\Delta {{y}_{i}}  \\
\end{matrix} \right]\left( \begin{matrix}
   {{\alpha }_{i+1}}  \\
   {{\alpha }_{i}}  \\
\end{matrix} \right) \)
\(\begin{align}
 & +\text{costant terms} \\
\end{align}\)

本着之矩阵求绝对特征值最小之特征向量,就抱了极酷程度垂直于受定直线的向阳量了。需要注意的凡当有给定直线在一个平面时,M不满秩,不过这种气象恰好对应绝对值最小之特征值就是0,所以下至之算法里或者无问题。这个法还好接近地拓宽到二维或者另行高维,只不过对三维以上之图景矩阵不括秩的处理会比较麻烦一些。

这形式的表达式,正是标准的Simply bounded Quadratic
Programming问题呀,于是求解\(\alpha\)就有益多了。至于为何\(\sum{{{d}_{i}}^{2}}\)和\(\sum{\left|
{{d}_{i}}
\right|}\)基本一样,是坐以咱们的题材被来只比方是赛道分割的肥瘦近似相等,关于这只要后面还有更为讨论。

脚是三维景下之同段Python验证程序:

最为小曲率路径

 1 from __future__ import division
 2 import numpy as np
 3 import matplotlib.pyplot as plt
 4 from mpl_toolkits.mplot3d import Axes3D
 5 
 6 # Distance from x to the plane with v as the normal vector, passing through (0, 0, 0)
 7 d = lambda x, v: abs(x[0]*v[0]+x[1]*v[1]+x[2]*v[2]) / np.linalg.norm(v)
 8 
 9 # Random normal vector for test
10 norm_v_plane = np.random.randn(3)
11 N = 200
12 
13 # Generate test unit vectors that within 0.2 to the test plane
14 v_test = [x for x in [x/np.linalg.norm(x) for x in np.random.randn(N, 3)] if d(x, norm_v_plane) < 0.2]
15 
16 # Plot test vectors
17 fig = plt.figure('Minimum dot product vector')
18 ax = fig.add_subplot(111, projection='3d')
19 for v in v_test:
20     ax.plot([0, v[0]], [0, v[1]], [0, v[2]], 'b')
21 
22 # Calculate the coefficients matrix of the arbitrary ellipsoid
23 A, B, C, D, E, F = [0] * 6
24 for v in v_test:
25     x, y, z = v
26     A += x * x
27     B += y * y
28     C += z * z
29     D += x * y
30     E += y * z  
31     F += x * z
32 M = np.array([[A, D, F],
33               [D, B, E], 
34               [F, E, C]])
35 
36 # Pick the eigenvector with the minimum egienvalue
37 u, v = np.linalg.eig(M)
38 vp = v[:, np.argmin(np.abs(u))]
39 if vp[2] < 0:
40     vp = -vp
41 
42 ax.plot([0, vp[0]], [0, vp[1]], [0, vp[2]], 'r')
43 
44 plt.show()

需要极小曲率路径的观点是曲率越小,赛车能达标的极致特别快越来越充分,相应的干[1]遭遇生出大概介绍。对于求解,这块的思绪以及极其短缺路径思路类似,都是在必假而下,先求局部量(曲率,距离),找到形如\(ax+b\)的表达式,然后平方一下转折为QP问题进行求解。在[1]中求曲率使用的cubic
spline,实际贯彻其实不一定用得着(当然为是因我较累……二赖的落实比较三赖简单过剩),二潮拟合和老三不好拟合求曲率的重点分在方向的熏陶,二不良拟合求曲率时认为一个碰周围的一定量单临近点是了对如之,这同赛道分割的而一致,所以可以为此底的公式来拓展参数化:

 

\[\begin{align}
  &
{{P}_{i}}={\mathbf{a}_{i}}+{\mathbf{b}_{i}}t+{\mathbf{c}_{i}}{{t}^{2}}
\\
 & t=\frac{s-{{s}_{i}}}{{{s}_{i+1}}-{{s}_{i-1}}} \\
\end{align}\]

旋即段小程序会轻易选取一个了原点的平面,然后于距离平面0.2底离开限制外发出部分自由向量,然后找到最好可怜程度垂直于这些向量的朝向量,比如下图:

个中s是某平等碰及起点的里程,所以t的取值范围是-1到1。结合前面的比方来拘禁而分段等间隔可为满足,那么\(\frac{dt}{ds}\)可以接近认为是单常反复,经过一番以及极缺路径有类似之麻烦推导,可以取各国一个路径点对应的曲率正比于\(\left|
\mathbf{c} \right|\)。于是最小曲率路径而变成成了一个QP问题:

365体育网址 4

\[ \text{min: }\sum\limits_{i=1}^{n}{{{c}_{i}}^{2}} \]
\(\begin{align}
 & \text{subject to: }0\le {{\alpha }_{i}}\le 1 \\
\end{align}\)

其中\(c_{i}^{2}\)的开展也:

\( {{c}_{i}}^{2}={{\left( \begin{matrix}
   {{\alpha }_{i+1}}  \\
   {{\alpha }_{i}}  \\
   {{\alpha }_{i-1}}  \\
\end{matrix} \right)}^{T}}\left[ \begin{matrix}
   \Delta {{x}_{i+1}}^{2} & -2\Delta {{x}_{i+1}}\Delta {{x}_{i}} &
\Delta {{x}_{i+1}}\Delta {{x}_{i-1}}  \\
   -2\Delta {{x}_{i}}\Delta {{x}_{i+1}} & 4\Delta {{x}_{i}}^{2} &
-2\Delta {{x}_{i}}\Delta {{x}_{i-1}}  \\
   \Delta {{x}_{i-1}}\Delta {{x}_{i+1}} & -2\Delta
{{x}_{i-1}}\Delta {{x}_{i}} & \Delta {{x}_{i-1}}^{2}  \\
\end{matrix} \right]\left( \begin{matrix}
   {{\alpha }_{i+1}}  \\
   {{\alpha }_{i}}  \\
   {{\alpha }_{i-1}}  \\
\end{matrix} \right) \)
\( +{{\left( \begin{matrix}
   {{\alpha }_{i+1}}  \\
   {{\alpha }_{i}}  \\
   {{\alpha }_{i-1}}  \\
\end{matrix} \right)}^{T}}\left[ \begin{matrix}
   \Delta {{y}_{i+1}}^{2} & -2\Delta {{y}_{i+1}}\Delta {{y}_{i}} &
\Delta {{y}_{i+1}}\Delta {{y}_{i-1}}  \\
   -2\Delta {{y}_{i}}\Delta {{y}_{i+1}} & 4\Delta {{y}_{i}}^{2} &
-2\Delta {{y}_{i}}\Delta {{y}_{i-1}}  \\
   \Delta {{y}_{i-1}}\Delta {{y}_{i+1}} & -2\Delta
{{y}_{i-1}}\Delta {{x}_{i}} & \Delta {{y}_{i-1}}^{2}  \\
\end{matrix} \right]\left( \begin{matrix}
   {{\alpha }_{i+1}}  \\
   {{\alpha }_{i}}  \\
   {{\alpha }_{i-1}}  \\
\end{matrix} \right) \)
\( +2\left( \left( {{x}_{i+1,0}}-{{x}_{i,0}} \right)-\left(
{{x}_{i,0}}-{{x}_{i-1,0}} \right) \right)\left[ \begin{matrix}
   \Delta {{x}_{i+1}} & -2\Delta {{x}_{i}} & \Delta {{x}_{i-1}} 
\\
\end{matrix} \right]\left( \begin{matrix}
   {{\alpha }_{i+1}}  \\
   {{\alpha }_{i}}  \\
   {{\alpha }_{i-1}}  \\
\end{matrix} \right) \)
\( +2\left( \left( {{y}_{i+1,0}}-{{y}_{i,0}} \right)-\left(
{{y}_{i,0}}-{{y}_{i-1,0}} \right) \right)\left[ \begin{matrix}
   \Delta {{y}_{i+1}} & -2\Delta {{y}_{i}} & \Delta {{y}_{i-1}} 
\\
\end{matrix} \right]\left( \begin{matrix}
   {{\alpha }_{i+1}}  \\
   {{\alpha }_{i}}  \\
   {{\alpha }_{i-1}}  \\
\end{matrix} \right) \)
\(\begin{align}
 & +\text{constant terms} \\
\end{align}\)

这种解法近似求得了全局曲率和的尽小解,但是这解对于赛车而言未必是无比漂亮的,因为请与价值最小的解法,对于赛道这种分数量巨大之事态,单个极值的震慑总会为平均掉,仍非常可能有些地方曲率特别可怜,导致成了百分之百赛道上保持高速的一个瓶颈。

还多关于等间隔假设

依据最短缺路径和最小曲率路径的演绎,可以视等间隔假要于这种分方法中格外关键。在太差路径中因为发了相当于间隔假设,
所以相邻之蝇头段路长度就深受耦合在一起,不见面油然而生相邻两段子的途径差得很远的事态,所以最好差路径推导中因故\(\sum{{{d}_{i}}^{2}}\)才近似合理。而在尽小曲率路径的演绎中便重新主要了,否则曲率项就变得非常复杂。然而此要是勿是真正的实用吧,其实还需一个再度胜的使,那就是每段之间的区间远超过赛道宽度

365体育网址 5

仍图中之例证,因为赛道间隔比较神秘,转弯半径特别有些之时光,靠弯道内有些的间距会好粗,弯道外侧部分区间很挺,这让最缺少路径和无限小曲率路径的如果都面临震慑,尤其是极度小曲率路径,会赢得特别糟糕的结果,比如下图的顶小曲率路径:

365体育网址 6

但是要线段的间隔了好,当转弯很着急的时,采样点的数据会来得不够。对于这种景象,我解决的法是以分的线条分组,比如各级隔一个抱一个分线段,相当给博了错位开来的鲜组分段线段,每组的间隔都是原来分段间隔的亚倍,然后开少次等路线求解,取平均,当然为堪入一些后甩卖,比如发展重采样然后召开平均平滑等等,结果当下面一节之图里可以见见。不过即便使用了一些招来保证有合理之赛道,对于极端小曲率路径而言,这尚是一个trade
off的题材,因为距离越来越充分的场面对急转弯的采样会尤其差,如果特意急的弯道还见面以漏采样出现“撞赛道”问题,需要再多晚处理。总结来说,就是这种根据QP的算法,无论二糟糕还是三糟糕,都未可知好好应针对急转弯,不过在实质上的跑车游戏中,像上面图里的那种急转弯相对来说不是特意大,所以用起来效果还足以,需要考虑的再三是当赛道预处理、分段和QP时以采样过密导致的年月和内存消耗。

据悉最差路径和太小曲率路径的尽帅赛道

有了最好缺乏路径和无限小曲率路径后,求最佳路径的法子可以参考[2],大体描述如下:首先找到最好短缺路径和太小曲率路径的每个交点,将片个交点之间的划为一组,这样相当给降维,把优化所有的\(\alpha\)转化为优化好几组\(\alpha\)。对于第j组分组中,\(\alpha_{j}\)的值表示为极缺路径的\(\alpha_{j,sp}\)和太小曲率路径的\(\alpha_{j,mcp}\)的加权平均:

\[\begin{align}
 & {{\alpha }_{j}}=\varepsilon {{\alpha }_{j,sp}}+\left(
1-\varepsilon  \right){{\alpha }_{j,mcp}} \\
\end{align}\]

比如下图是使\(\varepsilon\)为0.5时不时获得的一个路子,和对应之极端缺路径、最小曲率路径,以及分段。

365体育网址 7

本着获的途径进行效仿,得到跑圈时间,于是转化成一个大局优化的问题:

\[ \text{min: lap time} \]
\(\begin{align}
 & \text{subject to: }0\le {{\varepsilon }_{j}}\le 1 \\
\end{align}\)

[2]实惠的凡基因算法(Genetic
Algorithm),其实若赛道不是甚复杂的话,分段应该不多,低维情况好考虑就此比较GA收敛快的算法。

怎么样沿指定赛道驾驶

即一部分自身尚未与,也未尝开展过调研,应该为无工夫错开与了。不过自己道一个或可行之章程是用赛道上诸一点对应的无比酷快及该点到起点的相距表达出来\(v_{\max
}\left( s
\right)\),最要命快的求法根据不同景象会有异答案,对于一般的赛道而言,近似看极深快为拐弯离心力与风阻限制,相应的公式[2]中出涉嫌。另外自随机速度开始盖稳加速度进行加速与缓手也可博一个以该点吗起点距离吗变量的快表达式\(v\left(
r \right)\)(似乎大约是独\(\propto
\sqrt{r-{{r}_{0}}}\)的涉),那么以转车为一个优化问题:

\[ \text{max: }\int{v\left( s \right)} \]
\(\begin{align}
 & \text{subject to: }v\left( s \right)<{{v}_{\max }}\left( s
\right) \\
\end{align}\)

本条问题还可能不欲优化就可知告出解析解。

参考文献:

[1] F. Braghin, F. Cheli, S. Melzi, and E. Sabbioni. Race driver
model. Comput. Struct., 86(13-14):1503–1516, 2008.

[2] Cardamone, L., Loiacono, D., Lanzi, P.L., & Bardelli, A.P.
Searching for the optimal racing line using genetic algorithms. In
Proceedings of the 2010 IEEE Conference on Computational Intelligence
and Games (pp. 388–394).

相关文章