车辆对象避开的制作方法

未命名 08-15 阅读:95 评论:0


1.本公开涉及用于跟踪车辆附近的对象并致动车辆的部件以避开对象的系统和技术。


背景技术:

2.现代车辆通常包括传感器。一些传感器检测外部世界,例如车辆周围环境的对象和/或特性,诸如其他车辆、道路车道标记、交通信号灯和/或标志、行人等。例如,一些传感器可以为雷达传感器、扫描激光测距仪、光探测和测距(激光雷达)装置以及诸如相机的图像处理传感器。激光雷达装置通过发射特定波长的激光脉冲并且测量脉冲行进到对象并返回的飞行时间来检测距对象的距离。


技术实现要素:

3.本文描述的系统和技术提供了用于跟踪车辆附近的对象并致动车辆的部件以避开对象的计算上高效的方式。特定地,车辆上的计算机可以被编程为:将车辆表示为车辆边界;将对象表示为包括对象顶点和对象边的对象多边形;确定车辆转弯半径的转弯中心;选择投影为与车辆边界相交的对象顶点;针对所选择的对象顶点,确定相对于转弯中心相应对象顶点和与车辆边界的对象相交点之间的对象中心角;选择对象中心角中的最小中心角;并且基于最小中心角来致动车辆的部件。换句话说,对象中心角是车辆以恒定的转弯半径从当前位置到与相应对象顶点的相交点所扫过的角度。因此,最小中心角是车辆直到与任何对象顶点相交所扫过的最短角度。车辆的部件可以是例如制动系统和/或转向系统。对象的多边形表示和中心角的使用有助于高效地确定直到车辆碰撞对象的时长或距离。可以通过执行简单的代数操纵来进行确定。可以致动车辆以避免碰撞,同时最小化对车辆乘员的干扰。
4.计算机包括处理器和存储器,并且存储器存储指令,所述指令可由处理器执行以将车辆表示为车辆边界;将对象表示为包括对象顶点和对象边的对象多边形;确定车辆转弯半径的转弯中心;选择投影为与车辆边界相交的对象顶点;针对所选择的对象顶点,确定相对于转弯中心相应对象顶点和与车辆边界的对象相交点之间的相应对象中心角;从包括对象中心角的集合选择最小中心角;并且基于最小中心角来致动车辆的部件。
5.车辆边界可以是包括车辆顶点和车辆边的车辆多边形。所述指令还可以包括用于进行以下操作的指令:选择投影为与对象边相交的车辆顶点;以及针对所选择的车辆顶点,确定相对于转弯中心相应车辆顶点和与相应对象边的车辆相交点之间的相应车辆中心角,并且集合包括车辆中心角。所述指令还可以包括用于进行以下操作的指令:确定以转弯中心为中心的通过相应车辆顶点的相应圆圈,并且选择投影为与对象边相交的车辆顶点可以包括选择相应圆圈与对象边相交的车辆顶点。所述圆圈可以是车辆圆圈,所述指令还可以包括用于进行以下操作的指令:确定以转弯中心为中心的通过相应对象顶点的相应对象圆圈,并且选择投影为与车辆边相交的对象顶点可以包括选择相应对象圆圈与车辆边相交的
对象顶点。
6.车辆多边形可以包括至少五个车辆顶点。
7.所述指令还可以包括用于进行以下操作的指令:基于最小中心角来确定从车辆的当前位置直到车辆边界与对象多边形相交的路径长度,并且基于最小中心角来致动部件可以包括基于路径长度来致动部件。所述部件可以包括制动系统,并且基于最小中心角来致动部件可以包括基于路径长度来确定制动系统的减速度。
8.所述指令还可以包括用于进行以下操作的指令:基于路径长度和车辆速度来确定相交时间,并且基于路径长度来致动部件可以包括基于相交时间来致动部件。
9.所述指令还可以包括用于进行以下操作的指令:基于最小中心角来确定从车辆的当前位置直到车辆边界与对象多边形相交的时间或路径长度中的至少一者,并且基于最小中心角来致动部件可以包括基于时间或路径长度中的至少一者来致动部件。基于最小中心角来致动部件可以包括响应于时间或路径长度中的至少一者低于阈值而致动部件。
10.所述指令还可以包括用于进行以下操作的指令:确定以转弯中心为中心的通过相应对象顶点的相应圆圈,并且选择投影为与车辆边界相交的对象顶点可以包括选择相应对象圆圈与车辆边界相交的对象顶点。
11.所述部件可以包括制动系统。
12.所述部件可以包括转向系统。所述指令还可以包括用于进行以下操作的指令:确定对象顶点被投影为避开车辆边界的转向角,并且致动部件可以包括将转向系统致动到所确定的转向角。所述指令还可以包括用于进行以下操作的指令:针对多个候选转向角,确定对象顶点是否被投影为与车辆边界相交,并且确定所确定的转向角可以包括选择对象顶点被投影为避开车辆边界的候选转向角中的最小转向角。所述指令还可以包括用于进行以下操作的指令:针对相应候选转向角确定相应候选转弯中心,并且针对候选转向角中的一个相应候选转向角确定对象顶点是否被投影为与车辆边界相交可以是基于相应候选转弯中心。
13.所述指令还可以包括用于进行以下操作的指令:基于车辆的转向角或规划路径中的一者来确定转弯半径。
14.所述部件可以包括用户界面,并且基于最小中心角来致动部件可以包括指示用户界面输出消息。
15.一种方法包括:将车辆表示为车辆边界;将对象表示为包括对象顶点和对象边的对象多边形;确定车辆转弯半径的转弯中心;选择投影为与车辆边界相交的对象顶点;针对所选择的对象顶点,确定相对于转弯中心相应对象顶点和与车辆边界的对象相交点之间的相应对象中心角;从包括对象中心角的集合选择最小中心角;以及基于最小中心角来致动车辆的部件。
附图说明
16.图1是示例性车辆的框图。
17.图2是表示车辆的车辆边界的俯视图解视图。
18.图3是表示对象的对象多边形的俯视图解视图。
19.图4是当车辆执行转弯时车辆边界和对象多边形的俯视图解视图。
20.图5是用于基于对象来控制车辆的示例性过程的过程流程图。
21.图6是用于基于对象来使车辆转弯的示例性过程的过程流程图。
具体实施方式
22.参考附图,其中贯穿若干视图,相似附图标记指示相似部件,计算机102包括处理器和存储器,并且存储器存储指令,所述指令可由处理器执行以将车辆100表示为车辆边界104;将对象106表示为包括对象顶点110和对象边112的对象多边形108;确定车辆100的转弯半径rv的转弯中心c;选择投影为与车辆边界104相交的对象顶点110;针对所选择的对象顶点110,确定相对于转弯中心c相应对象顶点110和与车辆边界104的对象相交点136之间的相应对象中心角βi;从包括对象中心角βi的集合选择最小中心角θ;并且基于最小中心角θ来致动车辆100的部件。
23.参考图1,车辆100可以是任何乘用或商用汽车,诸如轿车、卡车、运动型多功能车、跨界车、货车、小型货车、出租车、公共汽车等。
24.车辆100可以是自主车辆。计算机102可被编程为完全地或在较小程度上独立于人类操作员的干预而操作车辆100。计算机102可以被编程为基于从传感器120接收的数据来操作推进装置114、制动系统116、转向系统118和/或其他车辆系统。出于本公开的目的,自主操作意指计算机102在没有来自人类操作员的输入的情况下控制推进装置114、制动系统116和转向系统118;半自主操作意指计算机102控制推进装置114、制动系统116和转向系统118中的一者或两者,并且人类操作员控制其余部分;并且非自主操作意指人类操作员控制推进装置114、制动系统116和转向系统118。
25.计算机102是基于微处理器的计算装置,例如,通用计算装置(其包括处理器和存储器、电子控制器或类似装置)、现场可编程门阵列(fpga)、专用集成电路(asic)、前述各者的组合等。通常,在电子设计自动化中使用诸如vhdl(超高速集成电路硬件描述语言)的硬件描述语言来描述诸如fpga和asic的数字和混合信号系统。例如,asic是基于制造前提供的vhdl编程而制造的,而fpga内部的逻辑部件可基于例如存储在电连接到fpga电路的存储器中的vhdl编程来配置。因此,计算机102可包括处理器、存储器等。计算机102的存储器可包括用于存储可由处理器执行的指令以及用于电子地存储数据和/或数据库的介质,和/或计算机102可包括诸如提供编程的前述结构的结构。计算机102可以是耦合在一起的多个计算机。
26.计算机102可以通过通信网络122(诸如控制器局域网(can)总线、以太网、wifi、局域互连网(lin)、车载诊断连接器(obd-ii))和/或通过任何其他有线或无线通信网络传输和接收数据。计算机102可以经由通信网络122通信地耦合到传感器120、推进装置114、制动系统116、转向系统118、用户界面124和其他部件。
27.传感器120可以提供关于车辆100的操作的数据,例如,车轮速度、车轮取向以及发动机和变速器数据(例如,温度、燃料消耗等)。传感器120可以检测车辆100的位置和/或取向。例如,传感器120可以包括全球定位系统(gps)传感器;加速度计,诸如压电系统或微机电系统(mems);陀螺仪,诸如速率陀螺仪、环形激光陀螺仪或光纤陀螺仪;惯性测量单元(imu);以及磁力计。传感器120可以检测外部世界,例如,车辆100的周围环境的对象106和/或特性,诸如其他车辆、道路车道标记、交通信号灯和/或标志、行人等。例如,传感器120可
以包括雷达传感器、扫描激光测距仪、光探测和测距(激光雷达)装置以及诸如相机的图像处理传感器。
28.车辆100的推进装置114产生能量并且将能量转化成车辆100的运动。推进装置114可为常规的车辆推进子系统,例如,常规的动力传动系统,其包括联接到将旋转运动传递到车轮的变速器的内燃发动机;电动动力传动系统,其包括电池、电动马达和将旋转运动传递到车轮的变速器;混合动力传动系统,其包括常规的动力传动系统和电动动力传动系统的元件;或任何其他类型的推进装置。推进装置114可以包括与计算机102和/或人类操作员通信并且从其接收输入的电子控制单元(ecu)等。人类操作员可以经由例如加速踏板和/或变速杆来控制推进装置114。
29.制动系统116通常是常规的车辆制动子系统并且抵抗车辆100的运动,由此使车辆100减慢和/或停止。制动系统116可以包括摩擦制动器,诸如盘式制动器、鼓式制动器、带式制动器等;再生制动器;任何其他合适类型的制动器;或者它们的组合。制动系统116可以包括与计算机102和/或人类操作员通信并且从其接收输入的电子控制单元(ecu)等。人类操作员可以经由例如制动踏板来控制制动系统116。
30.转向系统118通常是常规的车辆转向子系统并且控制车轮的转弯。转向系统118可以是具有电动助力转向的齿条与小齿轮系统、线控转向系统(这两者是已知的)、或者任何其他合适的系统。转向系统118可以包括与计算机102和/或人类操作员通信并且从其接收输入的电子控制单元(ecu)等。人类操作员可以经由例如方向盘来控制转向系统118。
31.用户界面124向车辆100的乘员呈现信息并且从所述乘员接收信息。用户界面124可以位于例如车辆100的乘客舱中的仪表板上,或者位于乘员可能容易看到的任何地方。用户界面124可包括用于向乘员提供信息的刻度盘、数字读出装置、屏幕、扬声器等,例如,诸如已知的人机界面(hmi)元件。用户界面124可包括用于从乘员接收信息的按钮、旋钮、键盘、传声器等。
32.参考图2,车辆100和对象106(在图3

图4中示出)可以相对于全局坐标系定位。在这种背景下,“全局坐标系”是地理位置经度和纬度坐标系,其中根据固定的原点(即,当对象移动时不会改变并且不依赖于任何对象相对于坐标系的位置的原点,所述坐标系例如全球导航卫星系统(gnss),诸如全球定位系统(gps))为地球表面指定坐标。纬度坐标(即,北-南)可以用“y”轴表示。经度坐标(即,东-西)可以用“x”轴表示。“位置”是分别表示全局坐标系中的经度和纬度的一组(x,y)坐标。车辆100限定航向角所述航向角是在车辆100的纵轴xv(如下文所描述且如图4所示)与全局坐标系的x轴之间限定的角度。
33.计算机102可以在局部坐标系(例如,车辆坐标系)中从传感器120收集数据。在这种背景下,车辆100的“车辆坐标系”是将在车辆100上和/或中的点作为原点ov的二维坐标系。在图2的示例中,原点ov是车辆100的后车桥的中心点。原点可以是存储在计算机102的存储器中的车辆100上的预定点。局部坐标系具有从原点ov延伸的纵轴xv和横轴yv。
34.计算机102可以被编程为将车辆100表示为车辆边界104。车辆边界104是包围车辆100的二维竖直投影(即,车辆100的覆盖区)的形状。车辆边界104可以是车辆多边形,即,具有多个车辆顶点126和连接相邻车辆顶点126以形成闭环的多个车辆边128的形状。车辆边界104可以存储在计算机102的存储器中。可以基于车辆100的虚拟模型(例如,计算机辅助设计(cad)图、数字照片等)来生成车辆边界104。
35.车辆边界104可以包括车辆顶点126。每个车辆顶点126具有在车辆坐标系中的一组坐标(x
vrel,i
,y
vrel,i
),其中i是在1与车辆顶点126的总数nv之间的自然数。在图2中,每个车辆顶点126用1至12之间的数字表示,在该示例中表示车辆边界104的十二个车辆顶点126。替代地,车辆边界104可以具有不同数量的车辆顶点126,例如,五个、八个、十六个等。车辆边界104可以包括至少五个车辆顶点126。坐标(x
vrel,i
,y
vrel,i
)是相应车辆顶点126与原点ov之间的相对距离。计算机102可以识别每个顶点的全局坐标(x
v,i
,y
v,i
):
[0036][0037][0038]
车辆边界104可以包括车辆边128。车辆边128作为直线在多对相邻的车辆顶点126之间延伸,以形成多边形,即具有直边的闭合平面图形。在图2中,每个车辆边128用圆圈中的数字表示,所述数字介于1和12之间,以表示十二个车辆边128。车辆多边形可以是凸多边形,即,其中两个相邻车辆边128之间限定的角度小于180
°
的多边形。车辆多边形可以包括至少五个车辆边128,例如,如图2所示的十二个车辆边128。因此,根据一对车辆顶点126之间的欧几里德距离来限定每个车辆边128:
[0039][0040]
其中vsegi是车辆边128,并且i,j是1和nv之间的连续索引,例如1和2之间、2和3之间、
……
、11和12之间、12和1之间。
[0041]
参考图3,对象106是车辆100附近的可能与车辆100发生碰撞的某物。例如,对象106可以是例如另一车辆、行人、骑行者、障碍物等。计算机102可以被编程为将对象106表示为对象多边形108。对象多边形108是包围对象106的二维竖直投影(即,对象106的覆盖区)的形状。对象多边形108是多边形,即具有多个对象顶点110和连接相邻对象顶点110以形成闭环的多个对象边112的形状。计算机102可以基于对象106的传感器数据(例如,三维点云、深度图等)来确定对象多边形108。
[0042]
对象多边形108可以包括对象顶点110。每个对象顶点110具有在全局坐标系中的一组坐标(x
o,j
,y
o,j
),其中j是在1与对象顶点110的总数no之间的自然数。在图3中,每个对象顶点110用1至7之间的数字表示,表示对象多边形108的七个对象顶点110。替代地,对象多边形108可以具有不同数量的对象顶点110,例如,五个、八个、十六个等。
[0043]
对象多边形108可以包括对象边112。对象边112作为直线在多对相邻的对象顶点110之间延伸以形成多边形,即具有直边的闭合平面图形。在图3中,每个车辆边128用圆圈中所包围的数字表示,所述数字在1与7之间以表示七个对象边112。对象多边形108可以是凸多边形或凹多边形。因此,根据一对对象顶点110之间的欧几里德距离来限定每个对象边112:
[0044][0045]
其中osegi是对象边112,并且i,j是1和no之间的连续索引,例如1和2之间、2和3之间、
……
、6和7之间、7和1之间。
[0046]
参考图4,计算机102可以被编程为基于车辆100的转向角δ来确定车辆100的转弯
半径rv。“转弯半径”是车辆100在转弯中遵循的圆的半径。也就是说,当车辆100转弯时,车辆100所遵循的路径限定圆弧,并且转弯半径是圆的半径:
[0047][0048]
其中wb是车辆100的轴距,并且δ是转向角。轴距wb是车辆100的前车桥与后车桥之间的距离。轴距wb可以存储在计算机102的存储器中。转向角δ是在车辆100的前轮与平行于车辆100的纵轴延伸穿过前轮的轴线之间限定的角度。正转向角δ被限定为逆时针(即,左转),并且负转向角δ被限定为顺时针(即,右转)。计算机102可以通过根据来自传感器120的方向盘传感器的数据测量方向盘角度并将方向盘角度乘以转向比(即,方向盘的角度变化与前轮的角度变化的比率)来确定转向角δ。转向比可以存储在计算机102的存储器中。
[0049]
替代地或另外,计算机102可以被编程为基于车辆100的规划路径来确定转弯半径rv。路径规划算法可以确定车辆100行进所沿的路径。例如,路径规划算法可以生成规划路径p(x),所述规划路径是即将到来的距离x的多项式函数。在当前背景下,“即将到来的距离”x是在车辆100前方距车辆100的前保险杠的预定纵向距离,传感器120在前保险杠处收集数据,并且计算机102预测路径。计算机102可以基于规划路径p(x)的一部分的曲率来确定转弯半径rv,例如,根据常规曲率技术:
[0050][0051]
其中p

是路径多项式p(x)相对于x的一阶导数,并且p

是路径多项式p(x)相对于x的二阶导数。路径多项式p(x)将路径预测为由多项式方程描绘的线。路径多项式p(x)通过确定横向坐标y来预测针对预定的即将到来的距离x(例如,以米为单位进行测量)的路径:
[0052]
y=p(x)=a0+a1x+a2x2+a3x3[0053]
其中a0是偏移量,即,在即将到来的距离x处路径与车辆100的中心线之间的横向距离;a1是路径的航向角;a2是路径的曲率,并且a3是路径的曲率变化率。即将到来的距离x可以基于例如车辆100的当前速度、预定的时间阈值、经验模拟数据、传感器120的检测范围等来确定。时间阈值可以是例如1秒。路径多项式可以包括一条或多条贝塞尔曲线,即,各自表示表示路径的点的不相交子集并且合起来表示表示路径的整个点集的多项式函数。贝赛尔曲线可以被约束为连续可微的,并且在无不连续性的情况下对允许的导数具有约束或限制(例如,对变化率具有限制)。贝塞尔曲线也可以被约束来使导数与其他贝塞尔曲线在边界处匹配,从而提供子集之间的平滑过渡。贝塞尔曲线上的约束可以通过限制沿着车辆路径多项式驾驶车辆100所需的纵向加速度和横向加速度的速率来使路径多项式成为可转向路径多项式,其中制动扭矩和动力传动系统扭矩被施加为正纵向加速度和负纵向加速度并且顺时针转向扭矩和逆时针转向扭矩被施加为左横向加速度和右横向加速度。
[0054]
计算机102可以被编程为确定车辆100的转弯半径的转弯中心c,即转弯半径rv从其延伸的转弯中心c。转弯中心c在全局坐标系中具有坐标(xc,yc)。如上文所描述,计算机102可以确定车辆100的当前位置(x,y)和航向角然后,计算机102可以识别转弯中心c的坐标(xc,yc)。
[0055]
[0056][0057]
当车辆100行驶通过转弯处时,车辆边界104可以围绕转弯中心c旋转,使得车辆边界104相对于转弯中心c保持恒定取向。
[0058]
计算机102可以被编程为选择投影为与车辆边界104相交的对象顶点110和投影为与对象边112相交的车辆顶点126。计算机102可以投影车辆100的运动,直到对象顶点110与车辆边界104相交并且车辆顶点126与对象边112相交,并且选择相交的车辆顶点126和对象顶点110。例如,计算机102可以选择对象顶点110和车辆顶点126,假设车辆100将以恒定的转弯半径rv围绕转弯中心c行驶。车辆100的顶点在以转弯中心c为中心的车辆圆圈130上,并且所选择的车辆顶点126是车辆圆圈130与对象边112中的至少一者相交的那些车辆顶点,如下文将描述的。对象顶点110在以转弯中心c为中心的对象圆圈132上,并且所选择的对象顶点110是对象圆圈132与车辆边界104相交的那些对象顶点,如下文将描述的。
[0059]
计算机102可以被编程为确定以转弯中心c为中心的通过相应车辆顶点126的相应车辆圆圈130。例如,计算机102可以基于转弯中心c和相应车辆顶点126来确定相应半径r
c,i
。每个半径r
c,i
等于转弯中心c与相应车辆顶点126之间的欧几里德距离:
[0060][0061]
半径r
c,i
限定中心在转弯中心c处的车辆圆圈130,并且半径r
c,i
延伸到车辆顶点126的位置。车辆圆圈130表示在车辆100转弯时车辆100的车辆顶点126的路径。也就是说,车辆顶点126的路径由车辆圆圈130表示,并且当车辆圆圈130与对象多边形108相交时,车辆100可能会碰撞对象106。当对象多边形108(即,对象边112中的至少一者)与车辆圆圈130相交时,计算机102可以确定车辆100可能会碰撞对象106。对象多边形108与车辆圆圈130相交的点是具有坐标(x
v,i,int
,y
v,i,int
)的车辆相交点134。也就是说,车辆相交点134具有在车辆圆圈130上的坐标:
[0062][0063]
选择投影为与对象边112相交的车辆顶点126可以包括选择相应车辆圆圈130与对象边112相交的车辆顶点126。对于每个车辆圆圈130,当对象多边形108与车辆圆圈130相交时,车辆相交点134的坐标(x
v,i,int
,y
v,i,int
)与对象边112上的点的坐标重合:
[0064]
x
v,i,int
=x
o,j
t+x
o,i
(1-t)
[0065]yv,i,int
=y
o,j
t+y
o,i
(1-t)
[0066]
其中i,j是1与对象顶点110的数量no之间的连续索引,并且t是指示车辆圆圈130是否与限定对象边112的对象顶点110之间的位置相交的虚拟变量。也就是说,计算机102可以基于对象顶点110的相应位置来将车辆相交点134确定为车辆圆圈130与对象边112中的一者相交的位置,对象边112在所述相应位置之间延伸。当变量t在0与1之间时,坐标(x
v,i,int
,y
v,i,int
)位于对象边112上。当变量t小于0、大于1或是复数时,坐标(x
v,i,int
,y
v,i,int
)不位于对象边112上。当t为0或1时,坐标(x
v,i,int
,y
v,i,int
)与对象顶点110中的一个重合。因此,车辆圆圈130上生成t在0与1之间的值的点是车辆相交点134。
[0067]
将相交点坐标(x
v,i,int
,y
v,i,int)
的此定义插入到车辆圆圈130的方程生成变量t中的二次方程:
[0068][0069]
计算机102可以使用例如二次公式来求解二次方程,以找到t的解。如果t的解是复数(即,包括虚部)或者t只有一个解,则计算机102可以确定车辆圆圈130不与对象边112相交并且不存在车辆相交点134。如果t有两个解,其中一个或两个是t≤0并且t≥1,则计算机102可以确定车辆圆圈130不与对象边112相交并且不存在车辆相交点134。如果t存在两个解,其中至少一个满足0《t《1,则计算机102可以确定车辆圆圈130在由t在0和1之间的值限定的车辆相交点134处与对象边112相交。计算机102可以针对每个对象边112确定t的解,以通过循环通过索引i,j来确定车辆圆圈130是否与对象边112中的任一者相交,然后计算机102可以针对每个车辆圆圈130重复所述过程。计算机102可以选择具有与对象多边形108的车辆相交点134的车辆圆圈130。
[0070]
对于所选择的车辆顶点126,计算机102可以确定相对于转弯中心c相应车辆顶点126和与相应对象边112的车辆相交点134之间的相应车辆中心角αi。也就是说,对于每个所选择的车辆顶点126,计算机102可以确定从转弯中心c延伸到相应车辆相交点134和该车辆顶点126的线之间的车辆中心角αi。
[0071][0072]
计算机102可以确定所选择的车辆顶点126的相应车辆中心角αi。
[0073]
计算机102可以被编程为确定以转弯中心c为中心的通过相应对象顶点110的相应对象圆圈132。例如,计算机102可以基于转弯中心c和相应对象顶点110来确定相应半径r
o,i
。每个半径r
o,i
等于转弯中心c与相应对象顶点110之间的欧几里德距离:
[0074][0075]
半径r
o,i
限定中心在转弯中心c处的对象圆圈132,并且半径r
o,i
延伸到对象顶点110的位置。对象圆圈132表示在车辆100转弯时对象106的对象顶点110的位置。也就是说,对象顶点110的位置由对象圆圈132表示,并且当对象圆圈132与车辆边界104相交时,车辆100可能会碰撞对象106。当车辆边界104(例如,车辆边128中的至少一者)与对象圆圈132相交时,计算机102可以确定车辆100可能会碰撞对象106。车辆边界104与对象圆圈132相交的点是具有坐标(x
o,i,int
,y
o,i,int
)的对象相交点136。也就是说,对象相交点136具有在对象圆圈132上的坐标:
[0076][0077]
选择投影为与车辆边128相交的对象顶点110可以包括选择相应对象圆圈132与车辆边128相交的对象顶点110。对于每个对象圆圈132,当车辆边界104与车辆圆圈130相交时,对象相交点136的坐标(x
o,i,int
,y
o,i,int
)与车辆边128上的点的坐标重合:
[0078]
x
o,i,int
=x
v,j
t+x
v,i
(1-t)
[0079]yo,i,int
=y
v,j
t+y
v,i
(1-t)
[0080]
其中i,j是1与对象顶点126的数量nv之间的连续索引,并且t是指示对象圆圈132
是否与限定车辆边128的车辆顶点126之间的位置相交的虚拟变量。也就是说,计算机102可以基于车辆顶点126的相应位置来将对象相交点136确定为对象圆圈132与车辆边128中的一者相交的位置,车辆边128在所述相应位置之间延伸。当变量t在0与1之间时,坐标(x
o,i,int
,y
o,i,int
)位于车辆边128上。当变量t小于0、大于1或是复数时,坐标(x
o,i,int
,y
o,i,int
)不位于车辆边128上。当t为0或1时,坐标(x
o,i,int
,y
o,i,int
)与车辆顶点126中的一个重合。因此,对象圆圈132上生成t在0与1之间的值的点是对象相交点136。计算机102可以循环通过索引i,j以确定对象圆圈132是否与车辆边128中的任一者相交。
[0081]
将相交点坐标(x
o,i,int
,y
o,i,int
)的此定义插入到对象圆圈132的方程中在变量t中生成二次方程:
[0082][0083]
计算机102可以使用例如二次公式来求解二次方程,以找到t的解。如果t的解是复数(即,包括虚部)或者t只有一个解,则计算机102可以确定对象圆圈132不与车辆边128相交并且不存在对象相交点136。如果t有两个解,其中一个或两个是t≤0并且t≥1,则计算机102可以确定对象圆圈132不与车辆边128相交并且不存在对象相交点136。如果t存在两个解,其中至少一个满足0《t《1,则计算机102可以确定对象圆圈132在由t在0和1之间的值限定的对象相交点136处与车辆边128相交。计算机102可以针对每个车辆边128确定t的解,以通过循环通过索引i,j来确定对象圆圈132是否与对象边128中的任一者相交,然后计算机102可以针对每个对象圆圈132重复所述过程。计算机102可以选择具有与车辆边界104的对象相交点136的对象圆圈132。
[0084]
针对所选择的对象顶点110,计算机102可以确定相对于转弯中心c相应对象顶点110和与车辆边界104的对象相交点136之间的相应的对象中心角βi。也就是说,针对每个所选择的对象顶点110,计算机102可以确定从转弯中心c延伸到相应对象相交点136和该对象顶点110的线之间的对象中心角βi。
[0085][0086]
计算机102可以针对所选择的对象顶点110确定相应对象中心角βi。
[0087]
计算机102可以被编程为从角集合选择最小中心角θ。所述角集合可以包括车辆中心角αi和对象中心角βi。例如:
[0088]
θ=min(α1,

,αn,β1,

,βm)
[0089]
其中n是车辆相交点134的数量,并且m是对象相交点136的数量。可以从来自所选择的车辆顶点126和所选择的对象顶点110的第一顶点到来自车辆相交点134和对象相交点136的最近的相交点测量最小中心角θ。换句话说,第一顶点是对应于最小中心角θ的所选择的车辆顶点126和所选择的对象顶点110中的一者,并且最近的相交点是对应于最小中心角θ的车辆相交点134和对象相交点136中的一者。第一圆圈是对应于最小中心角θ的车辆圆圈130和对象圆圈132中的一者。第一圆圈包括第一顶点和最近的相交点。
[0090]
计算机102可以被编程为基于最小中心角θ来确定从车辆100的当前位置直到车辆边界104与对象多边形108相交的时间t
min
或路径长度s
min
中的至少一者。例如,计算机102可
以被编程为基于车辆100的最小中心角θ和转弯半径rv(例如,作为最小中心角θ和转弯半径rv的绝对值的乘积,即s
min
=θ|rv|)来确定路径长度。
[0091]
计算机102可以被编程为确定相交时间,即从车辆100的当前位置直到车辆边界104与对象多边形108相交的时间t
min
。例如,计算机102可以基于路径长度s
min
和车辆100的速度v来确定时间t
min
,例如,如路径长度s
min
除以速度v,即t
min
=s
min
/v。等效地,计算机102可以基于最小中心角θ、车辆100的转弯半径rv和速度v来确定时间t
min
,例如,t
min
=θ|rv|/v。
[0092]
计算机102可以被编程为将路径长度s
min
或时间t
min
与阈值进行比较。例如,计算机102可以将路径长度s
min
与距离阈值进行比较。距离阈值可以是在到达对象106之前使车辆100停止的最小制动距离。替代地或另外,距离阈值可以是使车辆100转向远离对象106的最小转向距离。距离阈值可以基于对车辆以不同速度应用制动和转向并测量每个速度的制动距离和转向距离的经验测试来确定。又例如,计算机102可以将时间t
min
与时间阈值进行比较。时间阈值可以是在到达对象106之前使车辆100停止的最小制动时间。替代地或另外,时间阈值可以是使车辆100转向远离对象106的最小转向时间。时间阈值可以基于对车辆以不同速度应用制动和转向并测量每个速度的制动时间和转向时间的经验测试来确定。
[0093]
计算机102可以被编程为基于最小中心角θ来致动部件。例如,计算机102可以响应于时间t
min
或路径长度s
min
低于阈值而致动部件。所述部件可以包括制动系统116、转向系统118和/或用户界面124。
[0094]
计算机102可以被编程为基于最小中心角θ来致动制动系统116。致动制动系统116可以包括基于路径长度s
min
来致动制动系统116。例如,为了在行驶路径长度s
min
之前使车辆100停止,计算机102可以基于路径长度s
min
来确定使车辆100在车辆边界104与对象多边形108相交之前停止的减速度a:
[0095][0096]
计算机102可以根据减速度a来致动制动系统116。
[0097]
计算机102可以被编程为基于最小中心角θ来致动转向系统118。例如,计算机102可以确定对象顶点110被投影以避开车辆边界104并且车辆顶点126被投影以避开对象多边形108的转向角δ,并且计算机102可以将转向系统118致动到所确定的转向角δ。更具体地,计算机102可以生成或存储多个候选转向角δi,例如,以从转向系统118所允许的最小(最左侧)转向角到最大(最右侧)转向角的规则间隔进行,例如,从

0.5rad到0.5rad的每0.05弧度(rad)。对于每个候选转向角δi,计算机102可以以上述方式确定相应候选转弯中心,并且基于相应候选转弯中心来以上述方式确定对象顶点110是被投影为与车辆边界104相交还是避开所述车辆边界以及车辆顶点126是被投影为与对象多边形108相交还是避开所述对象多边形。计算机102可以从对象顶点110被投影为避开车辆边界104并且车辆顶点126被投影为避开对象多边形108的候选转向角δi选择最小转向角δ
min
。计算机102可以将转向系统118致动到所确定的转向角δ
min

[0098]
计算机102可以被编程为指示用户界面124基于最小中心角θ向车辆100的乘员输出消息。所述消息可以指示例如时间t
min
或路径长度s
min
低于阈值。所述消息可以是例如音频、视觉、触觉的等。例如,计算机102可以通过用户界面124的扬声器输出音频消息。又例如,计算机102可以在用户界面124的显示屏上输出视觉消息。又例如,计算机102可以通过
车辆100中的方向盘和/或座椅上的用户界面124的振动器输出触觉消息。在提供消息后,计算机102可以接收操作员输入以避开对象106。
[0099]
图5是示出用于基于对象106来控制车辆100例如以避开对象106的示例性过程500的过程流程图。计算机102的存储器存储用于执行过程500的步骤的可执行指令,和/或可以以诸如上述的结构来实施编程。作为过程500的总体概述,计算机102从传感器120接收数据,确定对象106的对象多边形108,并且确定转弯半径rv和转弯中心c。对于每个车辆顶点126和对象顶点110,计算机102确定车辆圆圈130或对象圆圈132,并且如果车辆圆圈130或对象圆圈132分别与对象多边形108或车辆边界104相交,则确定车辆中心角αi或对象中心角βi。计算机102根据车辆中心角αi和对象中心角βi确定最小中心角θ,确定相交时间t
min
和路径长度s
min
,并且如果时间t
min
或路径长度s
min
低于阈值,则致动部件。只要车辆100保持开启,过程500就继续。
[0100]
过程500在框505中开始,其中计算机102从传感器120接收数据。
[0101]
接下来,在框510中,计算机102确定对象多边形108,如上所述。
[0102]
接下来,在框515中,计算机102确定转弯半径rv和转弯中心c,如上所述。
[0103]
接下来,在框520中,计算机102选择下一个车辆顶点126或对象顶点110。例如,计算机102可以按照索引的顺序(例如,i=1至nv)前进通过车辆顶点126,然后按照索引的顺序(例如,j=1至no)前进通过对象顶点110。
[0104]
接下来,在框525中,计算机102确定当前车辆顶点126的车辆圆圈130或当前对象顶点110的对象圆圈132,如上所述。
[0105]
接下来,在决策框530中,计算机102确定在框525中确定的车辆圆圈130是否与对象多边形108相交,或者计算机102确定在框525中确定的对象圆圈132是否与车辆边界104相交,这两者都如上所述。如果计算机102找到了相交点,则过程500前进到框535。如果计算机102没有找到相交点,则过程500前进到决策框540。
[0106]
在框535中,计算机102针对当前顶点110、126确定车辆中心角αi或对象中心角βi。车辆中心角αi或对象中心角βi成为所述角集合的一员。在框535之后,过程500前进到决策框540。
[0107]
在决策框540中,计算机102确定是否有任何顶点110、126剩余。如果计算机102已经对所有车辆顶点126和对象顶点110执行了框520

535,则过程500前进到框545。如果计算机102尚未对所有车辆顶点126和对象顶点110执行框520

535,则过程500返回到框520以继续到下一个顶点110、126。
[0108]
在框545中,计算机102根据所述角集合(即,根据在框535中确定的车辆中心角αi和对象中心角βi)来确定最小中心角θ,如上所述。
[0109]
接下来,在框550中,计算机102确定时间t
min
和/或路径长度s
min
,如上所述。
[0110]
接下来,在决策框555中,计算机102确定时间t
min
或路径长度s
min
是否低于阈值。如果是,则过程500前进到框560。如果否,则过程500前进到决策框565。
[0111]
在框560中,计算机102致动部件,例如制动系统116、转向系统118和/或用户界面124,如上所述。下面的过程600提供了对致动转向系统118的附加描述。在框560之后,过程500前进到决策框565。
[0112]
接下来,在决策框565中,计算机102确定车辆100是否仍然开启。如果车辆100仍然
开启,则过程500返回到框505以继续监测对象106。如果车辆100已经关闭,则过程500结束。
[0113]
图6是示出用于基于对象106来致动转向系统118的示例性过程600的过程流程图。计算机102的存储器存储用于执行过程600的步骤的可执行指令,和/或可以以诸如上述的结构来实施编程。如果致动车辆100的部件包括致动转向系统118,则可以在上述过程500的框560内执行过程600。作为过程600的总体概述,针对每个候选转向角δi,计算机102确定候选转弯半径和候选转弯中心并选择车辆顶点126和对象顶点110中的下一个顶点110、126。计算机102基于候选转弯半径和候选转弯中心来确定车辆圆圈130或对象圆圈132。计算机102继续通过顶点110、126,直到车辆圆圈130或对象圆圈132中的一者与对象多边形108或车辆边界104相交,或者直到完成所有顶点110、126。一旦已经考虑了所有候选转向角δi,计算机102就确定对象顶点110被投影为避开车辆边界104并且车辆顶点126被投影为避开对象多边形108的最小转向角δ
min
,并且计算机102将转向系统118致动到所确定的转向角δ
min

[0114]
过程600在框605中开始,在上述过程500的决策框555之后执行。在框605中,计算机102例如根据从1开始的索引i来选择下一个候选转向角δi。
[0115]
接下来,在框610中,计算机102以与以上针对转弯半径rv和转弯中心c描述相同的方式确定候选转弯半径和候选转弯中心,但是用候选转向角δi代替实际转向角δ。
[0116]
接下来,在框615中,计算机102选择下一个车辆顶点126或对象顶点110。例如,计算机102可以按照索引的顺序(例如,i=1至nv)前进通过车辆顶点126,然后按照索引的顺序(例如,j=1至no)前进通过对象顶点110。
[0117]
接下来,在框620中,计算机102以与以上针对车辆圆圈130和对象圆圈132描述的相同的方式确定当前车辆顶点126的候选车辆圆圈或当前对象顶点110的候选对象圆圈,但是用候选转弯半径代替实际转弯半径rv并且用候选转弯中心代替实际转弯中心c。
[0118]
接下来,在决策框625中,计算机102确定在框620中确定的候选车辆圆圈是否与对象多边形108相交,或者计算机102确定在框620中确定的对象圆圈是否与车辆边界104相交,这两者都如以上针对车辆圆圈130和对象圆圈132所述,但是用候选转弯中心代替实际转弯中心c。如果计算机102找到了相交点,则过程600返回到框605以尝试下一个候选转向角δi。如果计算机102没有找到相交点,则过程600前进到决策框630。
[0119]
在决策框630中,计算机102确定对于当前候选转向角δi是否有任何顶点110、126剩余。如果计算机102已经针对当前候选转向角δi对所有车辆顶点126和对象顶点110执行了框615

625,则过程600前进到决策框635。如果计算机102尚未针对当前候选转向角δi对所有车辆顶点126和对象顶点110执行框615

625,则过程600返回到框615以继续到下一个顶点110、126。
[0120]
在决策框635中,计算机102确定是否有任何候选转向角δi剩余。如果计算机102已经对所有候选转向角δi执行了框605

630,则过程600前进到框640。如果计算机102尚未对所有候选转向角δi执行框605

630,则过程600返回到框605以继续到下一个候选转向角δi。
[0121]
在框640中,计算机102从对象顶点110被投影为避开车辆边界104并且车辆顶点126被投影为避开对象多边形108的候选转向角δi选择最小转向角δ
min
,如在决策框625中所确定的。
[0122]
接下来,在框645中,计算机102将转向系统118致动到所确定的转向角δ
min
。在框645之后,过程600前进到上述过程500的框565。
[0123]
一般来讲,所描述的计算系统和/或装置可采用多种计算机操作系统中的任一种,包括但决不限于以下版本和/或种类:ford应用;applink/smart device link中间件;microsoft操作系统;microsoft操作系统;unix操作系统(例如,由加利福尼亚州红杉海岸的oracle公司发布的操作系统);由纽约州阿蒙克市的international business machines公司发布的aix unix操作系统;linux操作系统;由加利福尼亚州库比蒂诺市的苹果公司发布的mac osx和ios操作系统;由加拿大滑铁卢的黑莓有限公司发布的黑莓操作系统;以及由谷歌公司和开放手机联盟开发的安卓操作系统;或由qnx软件系统公司提供的car信息娱乐平台。计算装置的示例包括但不限于车载计算机、计算机工作站、服务器、台式机、笔记本、膝上型计算机或手持计算机、或某一其他计算系统和/或装置。
[0124]
计算装置通常包括计算机可执行指令,其中所述指令可由诸如以上列出的那些的一个或多个计算装置执行。可从使用多种编程语言和/或技术创建的计算机程序编译或解译计算机可执行指令,所述编程语言和/或技术单独地或者组合地包括但不限于java
tm
、c、c++、matlab、simulink、stateflow、visual basic、java script、python、perl、html等。这些应用程序中的一些可在诸如java虚拟机、dalvik虚拟机等虚拟机上编译和执行。通常,处理器(例如,微处理器)接收例如来自存储器、计算机可读介质等的指令,并且执行这些指令,从而执行一个或多个过程(包括本文所述过程中的一者或多者)。此类指令和其他数据可使用各种计算机可读介质来存储和传输。计算装置中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
[0125]
计算机可读介质(也称为处理器可读介质)包括参与提供可由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时性(例如,有形)介质。此类介质可采用许多形式,包括但不限于非易失性介质和易失性介质。指令可通过一种或多种传输介质来传输,所述一种或多种传输介质包括光纤、线、无线通信,包括构成耦合到计算机的处理器的系统总线的内部件。常见形式的计算机可读介质包括例如ram、prom、eprom、flash-eeprom、任何其他存储器芯片或盒式磁带、或计算机可从中读取的任何其他介质。
[0126]
本文所述的数据库、数据存储库或其他数据存储可包括用于存储、存取/访问和检索各种数据的各种机制,包括分层数据库、文件系统中的文件集、专用格式的应用程序数据库、关系型数据库管理系统(rdbms)、非关系数据库(nosql)、图形数据库(gdb)等。每个这样的数据存储通常被包括在采用诸如以上提及中的一种的计算机操作系统的计算装置内,并且以各种方式中的任何一种或多种来经由网络进行访问。文件系统可从计算机操作系统访问,并且可包括以各种格式存储的文件。除了用于创建、存储、编辑和执行已存储的程序的语言(诸如上述pl/sql语言)之外,rdbms通常还采用结构化查询语言(sql)。
[0127]
在一些示例中,系统元件可被实施为一个或多个计算装置(例如,服务器、个人计算机等)上、存储在与其相关联的计算机可读介质(例如,磁盘、存储器等)上的计算机可读指令(例如,软件)。计算机程序产品可包括存储在计算机可读介质上的用于实施本文描述的功能的此类指令。
[0128]
在附图中,相同的附图标记指示相同的元素。另外,可改变这些元素中的一些或全部。关于本文描述的介质、过程、系统、方法、启发等,应理解,虽然此类过程等的步骤已被描
述为按照某一有序的顺序发生,但是可通过以与本文所述顺序不同的顺序执行所述步骤来实践此类过程。还应理解,可同时执行某些步骤,可添加其他步骤,或者可省略本文所述的某些步骤。
[0129]
除非本文作出相反的明确指示,否则权利要求中使用的所有术语意图给出如本领域技术人员所理解的普通和通常的含义。特别地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。“响应于”和“在确定
……
时”的使用指示因果关系,而不仅是时间关系。
[0130]
已经以说明性方式描述了本公开,并且应理解,已经使用的术语意图在性质上是描述性的而非限制性的词语。鉴于以上教导,本公开的许多修改和变化是可能的,并且本公开可不同于具体描述的其他方式来实践。
[0131]
根据本发明,提供了一种计算机,所述计算机具有处理器和存储器,所述存储器存储指令,所述指令可由处理器执行以:将车辆表示为车辆边界;将对象表示为包括对象顶点和对象边的对象多边形;确定车辆转弯半径的转弯中心;选择投影为与车辆边界相交的对象顶点;针对所选择的对象顶点,确定相对于转弯中心相应对象顶点和与车辆边界的对象相交点之间的相应对象中心角;从包括对象中心角的集合选择最小中心角;并且基于最小中心角来致动车辆的部件。
[0132]
根据实施例,车辆边界是包括车辆顶点和车辆边的车辆多边形。
[0133]
根据实施例,所述指令还包括用于进行以下操作的指令:选择被投影为与对象边相交的车辆顶点;并且针对所选择的车辆顶点,确定相对于转弯中心相应车辆顶点和与相应对象边的车辆相交点之间的相应车辆中心角;并且其中所述集合包括车辆中心角。
[0134]
根据实施例,所述指令还包括用于进行以下操作的指令:确定以转弯中心为中心的通过相应车辆顶点的相应圆圈,并且选择被投影为与对象边相交的车辆顶点包括选择相应圆圈与对象边相交的车辆顶点。
[0135]
根据实施例,所述圆圈是车辆圆圈;所述指令还包括用于进行以下操作的指令:确定以转弯中心为中心的通过相应对象顶点的相应对象圆圈,并且选择被投影为与车辆边相交的对象顶点包括选择相应对象圆圈与车辆边相交的对象顶点。
[0136]
根据实施例,车辆多边形包括至少五个车辆顶点。
[0137]
根据实施例,所述指令还包括用于进行以下操作的指令:基于最小中心角来确定从车辆的当前位置直到车辆边界与对象多边形相交的路径长度;并且基于最小中心角来致动部件包括基于路径长度来致动部件。
[0138]
根据实施例,所述部件包括制动系统,并且基于最小中心角来致动部件包括基于路径长度来确定制动系统的减速度。
[0139]
根据实施例,所述指令还包括用于进行以下操作的指令:基于路径长度和车辆速度来确定相交时间;并且基于路径长度来致动部件包括基于相交时间来致动部件。
[0140]
根据实施例,所述指令还包括用于进行以下操作的指令:基于最小中心角来确定从车辆的当前位置直到车辆边界与对象多边形相交的时间或路径长度中的至少一者;并且基于最小中心角来致动部件包括基于时间或路径长度中的至少一者来致动部件。
[0141]
根据实施例,基于最小中心角来致动部件包括响应于时间或路径长度中的至少一者低于阈值而致动部件。
[0142]
根据实施例,所述指令还包括用于进行以下操作的指令:确定以转弯中心为中心的通过相应对象顶点的相应圆圈;并且选择被投影为与车辆边界相交的对象顶点包括选择相应对象圆圈与车辆边界相交的对象顶点。
[0143]
根据实施例,所述部件包括制动系统。
[0144]
根据实施例,所述部件包括转向系统。
[0145]
根据实施例,所述指令还包括用于进行以下操作的指令:确定对象顶点被投影为避开车辆边界的转向角;并且致动部件包括将转向系统致动到所确定的转向角。
[0146]
根据实施例,所述指令还包括用于进行以下操作的指令:针对多个候选转向角,确定对象顶点是否被投影为与车辆边界相交;并且确定所确定的转向角包括选择对象顶点被投影为避开车辆边界的候选转向角中的最小转向角。
[0147]
根据实施例,所述指令还包括用于进行以下操作的指令:针对相应候选转向角确定相应候选转弯中心;并且针对候选转向角中的一个相应候选转向角确定对象顶点是否被投影为与车辆边界相交是基于相应候选转弯中心。
[0148]
根据实施例,所述指令还包括用于进行以下操作的指令:基于车辆的转向角或规划路径中的一者来确定转弯半径。
[0149]
根据实施例,所述部件包括用户界面;并且基于最小中心角来致动部件包括指示用户界面输出消息。
[0150]
根据本发明,一种方法包括:将车辆表示为车辆边界;将对象表示为包括对象顶点和对象边的对象多边形;确定车辆转弯半径的转弯中心;选择投影为与车辆边界相交的对象顶点;针对所选择的对象顶点,确定相对于转弯中心相应对象顶点和与车辆边界的对象相交点之间的相应对象中心角;从包括对象中心角的集合选择最小中心角;以及基于最小中心角来致动车辆的部件。

技术特征:
1.一种方法,其包括:将车辆表示为车辆边界;将对象表示为包括对象顶点和对象边的对象多边形;确定所述车辆的转弯半径的转弯中心;选择被投影为与所述车辆边界相交的所述对象顶点;针对所选择的对象顶点,确定相对于所述转弯中心相应对象顶点和与所述车辆边界的对象相交点之间的相应对象中心角;从包括所述对象中心角的集合选择最小中心角;以及基于所述最小中心角来致动所述车辆的部件。2.如权利要求1所述的方法,其中所述车辆边界是包括车辆顶点和车辆边的车辆多边形。3.如权利要求2所述的方法,其还包括:选择被投影为与所述对象边相交的所述车辆顶点;以及针对所选择的车辆顶点,确定相对于所述转弯中心相应车辆顶点和与相应对象边的车辆相交点之间的相应车辆中心角;其中所述集合包括所述车辆中心角。4.如权利要求3所述的方法,其还包括确定以所述转弯中心为中心的通过所述相应车辆顶点的相应圆圈,其中选择被投影为与所述对象边相交的所述车辆顶点包括选择所述相应圆圈与所述对象边相交的所述车辆顶点。5.如权利要求4所述的方法,其中所述圆圈是车辆圆圈;所述方法还包括确定以所述转弯中心为中心的通过所述相应对象顶点的相应对象圆圈;其中选择被投影为与所述车辆边相交的所述对象顶点包括选择所述相应对象圆圈与所述车辆边相交的所述对象顶点。6.如权利要求2所述的方法,其中所述车辆多边形包括至少五个车辆顶点。7.如权利要求1所述的方法,其还包括:基于所述最小中心角来确定从所述车辆的当前位置直到所述车辆边界与所述对象多边形相交的路径长度,其中基于所述最小中心角来致动所述部件包括基于所述路径长度来致动所述部件。8.如权利要求7所述的方法,其中所述部件包括制动系统;并且基于所述最小中心角来致动所述部件包括基于所述路径长度来确定所述制动系统的减速度。9.如权利要求1所述的方法,其还包括:基于所述最小中心角来确定从所述车辆的当前位置直到所述车辆边界与所述对象多边形相交的时间或路径长度中的至少一者,其中基于所述最小中心角来致动所述部件包括基于所述时间或所述路径长度中的所述至少一者来致动所述部件。10.如权利要求9所述的方法,其中基于所述最小中心角来致动所述部件包括响应于所述时间或所述路径长度中的所述至少一者低于阈值而致动所述部件。
11.如权利要求1所述的方法,其还包括确定以所述转弯中心为中心的通过所述相应对象顶点的相应圆圈,其中选择被投影为与所述车辆边界相交的所述对象顶点包括选择所述相应对象圆圈与所述车辆边界相交的所述对象顶点。12.如权利要求1所述的方法,其还包括:确定所述对象顶点被投影为避开所述车辆边界的转向角,其中所述部件包括转向系统,并且致动所述部件包括将所述转向系统致动到所确定的转向角。13.如权利要求1所述的方法,其还包括:基于所述车辆的转向角或规划路径中的一者来确定所述转弯半径。14.如权利要求1所述的方法,其中所述部件包括用户界面;并且基于所述最小中心角来致动所述部件包括指示所述用户界面输出消息。15.一种计算机,其包括处理器和存储器,所述存储器存储指令,所述指令能够由所述处理器执行以执行如权利要求1

14中的一项所述的方法。

技术总结
本公开提供“车辆对象避开”。计算机包括处理器和存储器,并且存储器存储指令,所述指令可由处理器执行以将车辆表示为车辆边界;将对象表示为包括对象顶点和对象边的对象多边形;确定车辆转弯半径的转弯中心;选择投影为与车辆边界相交的对象顶点;针对所选择的对象顶点,确定相对于转弯中心相应对象顶点和与车辆边界的对象相交点之间的相应对象中心角;从包括对象中心角的集合选择最小中心角;并且基于最小中心角来致动车辆的部件。最小中心角来致动车辆的部件。最小中心角来致动车辆的部件。


技术研发人员:徐立
受保护的技术使用者:福特全球技术公司
技术研发日:2023.01.29
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐