发明内容
有鉴于此,本公开提出了一种轨迹跟随实时控制方法、装置和控制系统以及存储介质,通过将“标签”映射到“角度距离测量设备”所在平面的距离和角度,将跟随物中心调整到跟随物的驱动轮中心F点,将参照参数换算后,可以更准确的知道“标签”与驱动轮中心之间的相对角度和距离。角度经过向后换算后,原始角度的拨动会因换算而变小,一定程度上减少角度波动,使得跟随物可以在不同角度偏差形成不同的跟随速度。合理的跟随速度可以使得跟随物行走的轨迹更逼近标签行走的轨迹,并且跟随过程中跟随物的速度平滑,运行稳定。
根据本公开的一方面,提供了一种轨迹跟随实时控制方法,包括如下步骤:
S1、获取跟随物与标签之间的初始数据;
S2、预设计算规则,将所述初始数据按照所述预设计算规则计算并转化,获取所述标签与所述跟随物的驱动中心点之间的转换数据;
S3、根据所述转换数据设定运动参数,并根据所述运动参数建立PI运动控制方程;
S4、根据所述PI运动控制方程控制所述跟随物的行走轨迹。
在一种可能的实现方式中,可选地,在所述获取所述标签与所述跟随物的驱动中心点之间的转换数据,包括:
S210、获取角度距离测量设备与所述标签之间的投影距离Li:
Li=sqrt(L*L-H*H),其中,
L为所述角度距离测量设备和所述标签之间的相对距离;
H为所述角度距离测量设备和所述标签之间的相对高度;
S220、根据所述投影距离Li,转换并获得所述标签与所述跟随物的驱动中心点之间的距离Lii:
Lii=sqrt(Li*Li+D*D-2*Li*D*cos(π-fabs(theta))),其中,
D为所述角度距离测量设备和所述跟随物的驱动中心点之间的相对距离;
theta为所述标签和所述角度距离测量设备测量之间与所述角度距离测量设备和所述跟随物前进方向之间的夹角;
S230、根据所述投影距离Li和所述标签与所述跟随物的驱动中心点之间的距离Lii,转换并获得所述标签和所述跟随物的驱动中心点之间与所述跟随物的驱动中心点和所述跟随物前进方向之间的夹角Theta_i:
Theta_i=acos((D*D+Lii*Lii-Li*Li)/(2*D*Lii))。
在一种可能的实现方式中,可选地,所述根据所述转换数据设定运动参数,包括:
S310、设置角速度运动参数:包括:
设置最小角速度Vw_min;
根据Vw_min,设置角速度段曲线:
Vw_current_max=K*Theta_i+Vw_min;
其中:
K为大于0的限速系数;
Vw_current_max为当前允许的最大角速度;
S320、设置线速度运动参数,包括:
设置最小线速度Vx_max
设置线速度段曲线
Vx_current_max=K1*Vw_current_max+Vx_max;
其中:
K1为小于0的线速度系数;
Vx_current_max为当前允许的最大线速度;
S330、设置角度距离运动参数,包括:
设置最佳跟随距离D1,D1为跟随过程中所述跟随物的驱动中心点距离所述标签的跟随距离;
设置急停距离D2,D2为跟随过程中所述跟随物的驱动中心点距离所述标签的最短距离,D2<D1;
设置只角度跟随距离D3,D3为跟随过程中所述跟随物的驱动中心点距离所述标签的距离且当D2<D3<D1时,车辆只执行角速度。
设置目标跟随角度Theta_target,Theta_target为跟随过程中所述标签和所述跟随物的驱动中心点之间与所述跟随物的驱动中心点和所述跟随物前进方向之间的期望角度;
设置停止线速度角度值Theta_3,Theta_3为跟随过程中所述标签和所述跟随物的驱动中心点之间与所述跟随物的驱动中心点和所述跟随物前进方向之间的停止线速度夹角。
在一种可能的实现方式中,可选地,所述根据所述运动参数建立PI运动控制方程,包括:
S331、建立角速度PI运动控制方程,包括:
计算当前角度与期望角度的误差Det_theta:
Det_theta=Theta_i-Theta_target;
计算角度误差累计Integral_angle:
Integral_angle=Integral+Det_theta;
计算当前PI控制的角速度值Vw_current:
Vw_current=Kp_vw*Det_theta+Ki_vw*Integral_angle,
其中,Kp_vw为PI控制比例参数;Ki_vw为PI控制积分参数;
设置角速度限制条件:
如果Vw_current>Vw_current_max,则Vw_current=Vw_current_max;
S332、建立线速度PI运动控制方程,包括:
计算跟随距离误差Det_distance:
Det_distance=Lii–D1;
计算跟随距离累计误差Integral_distance:
Integral_distance=Integral_distance+Det_distance;
计算PI控制线速度输出值Vx_current:
Vx_current=Kp_vx*Det_distance+Ki_vx*Integral_distance;
其中,Kp_vx为PI控制比例参数;Ki_vx为PI控制积分参数;
设置线速度限制条件:
如果Vx_current>Vx_current_max,则Vx_current=Vx_current_max。
根据本公开的另一方面,提供了一种轨迹跟随实时控制装置,包括初始数据获取模块、转换数据获取模块、PI运动控制方程建立模块和控制模块,其中,
初始数据获取模块:用于获取跟随物与标签之间的初始数据;
转换数据获取模块:用于预设计算规则,将所述初始数据按照所述预设计算规则计算并转化,获取所述标签与所述跟随物的驱动中心点之间的转换数据;
PI运动控制方程建立模块:用于根据所述转换数据设定运动参数,并根据所述运动参数建立PI运动控制方程;
控制模块:用于根据所述PI运动控制方程控制所述跟随物的行走轨迹;
所述初始数据获取模块、转换数据获取模块、PI运动控制方程建立模块和控制模块依次电性连接。
在一种可能的实现方式中,可选地,所述转换数据获取模块包括第一转换距离获取模块、第二转换距离获取模块和转换角度获取模块,其中,
第一转换距离获取模块:用于获取角度距离测量设备与所述标签之间的投影距离Li:
Li=sqrt(L*L-H*H),其中,
L为所述角度距离测量设备和所述标签之间的相对距离;
H为所述角度距离测量设备和所述标签之间的相对高度;
第二转换距离获取模块:用于根据所述投影距离Li,转换并获得所述标签与所述跟随物的驱动中心点之间的距离Lii:
Lii=sqrt(Li*Li+D*D-2*Li*D*cos(π-fabs(theta))),其中,
D为所述角度距离测量设备和所述跟随物的驱动中心点之间的相对距离;
theta为所述标签和所述角度距离测量设备测量之间与所述角度距离测量设备和所述跟随物前进方向之间的夹角;
转换角度获取模块:用于根据所述投影距离Li和所述标签与所述跟随物的驱动中心点之间的距离Lii,转换并获得所述标签和所述跟随物的驱动中心点之间与所述跟随物的驱动中心点和所述跟随物前进方向之间的夹角Theta_i:
Theta_i=acos((D*D+Lii*Lii-Li*Li)/(2*D*Lii))。
在一种可能的实现方式中,可选地,包括:所述PI运动控制方程建立模块包括角速度运动参数设定模块、线速度运动参数设定模块和角度距离运动参数设定模块,其中,
角速度运动参数设定模块:用于设置角速度运动参数:包括:
设置最小角速度Vw_min;
根据Vw_min,设置角速度段曲线:
Vw_current_max=K*Theta_i+Vw_min;
其中:
K为大于0的限速系数;
Vw_current_max为当前允许的最大角速度;
线速度运动参数设定模块:用于设置线速度运动参数,包括:
设置最小线速度Vx_max
设置线速度段曲线
Vx_current_max=K1*Vw_current_max+Vx_max;
其中:
K1为小于0的线速度系数;
Vx_current_max为当前允许的最大线速度;
角度距离运动参数设定模块:用于设置角度距离运动参数,包括:
设置最佳跟随距离D1,D1为跟随过程中所述跟随物的驱动中心点距离所述标签的跟随距离;
设置急停距离D2,D2为跟随过程中所述跟随物的驱动中心点距离所述标签的最短距离,D2<D1;
设置只角度跟随距离D3,D3为跟随过程中所述跟随物的驱动中心点距离所述标签的距离且当D2<D3<D1时,车辆只执行角速度。
设置目标跟随角度Theta_target,Theta_target为跟随过程中所述标签和所述跟随物的驱动中心点之间与所述跟随物的驱动中心点和所述跟随物前进方向之间的期望角度;
设置停止线速度角度值Theta_3,Theta_3为跟随过程中所述标签和所述跟随物的驱动中心点之间与所述跟随物的驱动中心点和所述跟随物前进方向之间的停止线速度夹角。
在一种可能的实现方式中,可选地,所述PI运动控制方程建立模块还包括角速度PI运动控制方程建立模块和线速度PI运动控制方程建立模块,其中,
角速度PI运动控制方程建立模块用于建立角速度PI运动控制方程,包括:
计算当前角度与期望角度的误差Det_theta:
Det_theta=Theta_i-Theta_target;
计算角度误差累计Integral_angle:
Integral_angle=Integral+Det_theta;
计算当前PI控制的角速度值Vw_current:
Vw_current=Kp_vw*Det_theta+Ki_vw*Integral_angle,
其中,Kp_vw为PI控制比例参数;Ki_vw为PI控制积分参数;
设置角速度限制条件:
如果Vw_current>Vw_current_max,则Vw_current=Vw_current_max;
线速度PI运动控制方程建立模块用于建立线速度PI运动控制方程,包括:
计算跟随距离误差Det_distance:
Det_distance=Lii–D1;
计算跟随距离累计误差Integral_distance:
Integral_distance=Integral_distance+Det_distance;
计算PI控制线速度输出值Vx_current:
Vx_current=Kp_vx*Det_distance+Ki_vx*Integral_distance;
其中,Kp_vx为PI控制比例参数;Ki_vx为PI控制积分参数;
设置线速度限制条件:
如果Vx_current>Vx_current_max,则Vx_current=Vx_current_max。
根据本公开的另一方面,提供了一种控制系统,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现上述所述的轨迹跟随实时控制方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述所述的轨迹跟随实时控制方法。
本申请的技术效果:
本发明通过获取跟随物与标签之间的初始数据;预设计算规则,将所述初始数据按照所述预设计算规则计算并转化,获取所述标签与所述跟随物的驱动中心点之间的转换数据;根据所述转换数据设定运动参数,并根据所述运动参数建立PI运动控制方程;根据所述PI运动控制方程控制所述跟随物的行走轨迹。能够将跟随物中心调整到跟随物的驱动轮中心F点,将参照参数换算后,可以更准确的知道“标签”与驱动轮中心之间的相对角度和距离。角度经过向后换算后,原始角度的拨动会因换算而变小,一定程度上减少角度波动,使得跟随物可以在不同角度偏差形成不同的跟随速度。合理的跟随速度可以使得跟随物行走的轨迹更逼近标签行走的轨迹,并且跟随过程中跟随物的速度平滑,运行稳定。
当偏差角度越大时,线速度最大值越小,角速度最大值越大,跟随物行走所形成的弧度就越小;当偏差角度小时,不限制角速度和线速度的最大值;从而保证跟随物以最快的速度跟上标签。
通过本申请的控制方法,可实现跟随物紧急停车,随标签旋转,以及跟随的功能,在跟随过程中可以紧跟标签角度和最佳跟随距离,使得跟随物轨迹曲线和标签轨迹曲线一致;本技术计算量低,可在低成本嵌入式系统中运行,节省跟随系统成本。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
实施例1
本实施例,在跟随物比如行李箱上安装有角度距离测量设备,角度距离测量设备可以是角度距离测量传感器等,用来实时探测并计算获得其本身与标签以及跟随物的驱动中心之间的距离,以及角度距离测量传感器可以测量到与标签的相对角度(±180°)与距离。其中,角度距离测量传感器的数量和安装位置等,此处不限制。
如图1所示,公开了一种轨迹跟随实时控制方法,包括如下步骤:
S1、获取跟随物与标签之间的初始数据;
初始数据为转换之前的数据,如图2所示,本实施例,所示初始数据可以包括如下数据:
角度距离测量传感器与驱动轮中心F点的相对距离为D;角度距离测量传感器测量到和标签的相对距离和角度,分别记为L,theta;角度距离测量传感器与标签的相对高度为H;F点是跟随物的驱动轮之间的中心点。
S2、预设计算规则,将所述初始数据按照所述预设计算规则计算并转化,获取所述标签与所述跟随物的驱动中心点之间的转换数据;
在获得上述初始数据后,根据计算规则,对初始数据换算、转化,将原有标签到跟随物中心点之间的数据,转换为标签到跟随物的驱动轮中心点之间的数据。即,按照所述预设计算规则计算并转化,获取所述标签与所述跟随物的驱动中心点之间的转换数据,根据转换数据而设置运动参数和运动控制方程,将跟随中心调整到驱动轮中心F点,可以更准确的知道“标签”与驱动轮中心相对角度和距离。角度经过向后换算后,原始角度的拨动会因换算而变小,一定程度上减少角度波动。将所述初始数据按照所述预设计算规则计算并转化的步骤在下述具体详述。
S3、根据所述转换数据设定运动参数,并根据所述运动参数建立PI运动控制方程;
在转换数据获得后,就可以设定运动参数,进一步建立PI运动控制方程,其中,本实施例,运动参数包括角速度参数、线速度参数以及角度距离参数;运动控制方程包括角速度控制方程和线速度控制方程。具体见下述详述。
S4、根据所述PI运动控制方程控制所述跟随物的行走轨迹。
根据PI运动控制方程控制跟随物的轨迹运动,可以使得跟随物的运动时按照转换后的数据进行轨迹运动并调节的。
需要说明的是,尽管以角度距离测量传感器作为示例介绍了获取初始数据如上,但本领域技术人员能够理解,本公开应不限于此。事实上,用户完全可根据个人喜好和/或实际应用场景灵活设定使用设备,只要可以获取上述初始数据即可。
这样,本发明通过获取跟随物与标签之间的初始数据;预设计算规则,将所述初始数据按照所述预设计算规则计算并转化,获取所述标签与所述跟随物的驱动中心点之间的转换数据;根据所述转换数据设定运动参数,并根据所述运动参数建立PI运动控制方程;根据所述PI运动控制方程控制所述跟随物的行走轨迹。能够将跟随物中心调整到跟随物的驱动轮中心F点,将参照参数换算后,可以更准确的知道“标签”与驱动轮中心之间的相对角度和距离。角度经过向后换算后,原始角度的拨动会因换算而变小,一定程度上减少角度波动,使得跟随物可以在不同角度偏差形成不同的跟随速度。合理的跟随速度可以使得跟随物行走的轨迹更逼近标签行走的轨迹,并且跟随过程中跟随物的速度平滑,运行稳定。
通过本申请的控制方法,可实现跟随物紧急停车,随标签旋转,以及跟随的功能,在跟随过程中可以紧跟标签角度和最佳跟随距离,使得跟随物轨迹曲线和标签轨迹曲线一致;本技术计算量低,可在低成本嵌入式系统的运行,节省跟随系统成本。
在一种可能的实现方式中,可选地,在所述获取所述标签与所述跟随物的驱动中心点之间的转换数据,包括:
S210、获取角度距离测量设备与所述标签之间的投影距离Li:
Li=sqrt(L*L-H*H),其中,
L为所述角度距离测量设备和所述标签之间的相对距离;
H为所述角度距离测量设备和所述标签之间的相对高度;
S220、根据所述投影距离Li,转换并获得所述标签与所述跟随物的驱动中心点之间的距离Lii:
Lii=sqrt(Li*Li+D*D-2*Li*D*cos(π-fabs(theta))),其中,
D为所述角度距离测量设备和所述跟随物的驱动中心点之间的相对距离;
theta为所述标签和所述角度距离测量设备测量之间与所述角度距离测量设备和所述跟随物前进方向之间的夹角;
如图2所示,所述theta,在本实施例,即为竖直方向与所述标签和所述角度距离测量设备测量连线之间的夹角(锐角),本处,所描述的“所述标签和所述角度距离测量设备测量之间”表示一线段,所描述的“所述角度距离测量设备和所述跟随物前进方向之间”表示另一线段,两个线段相交的夹角即为所述theta。下述Theta_i同理,不再赘述。
S230、根据所述投影距离Li和所述标签与所述跟随物的驱动中心点之间的距离Lii,转换并获得所述标签和所述跟随物的驱动中心点之间与所述跟随物的驱动中心点和所述跟随物前进方向之间的夹角Theta_i:
Theta_i=acos((D*D+Lii*Lii-Li*Li)/(2*D*Lii))。
通过角度和距离转换,将跟随中心调整到驱动轮中心F点,使得运动控制的参数点从跟随物中心点调整到驱动轮中心F点,便于更准确的知道“标签”与驱动轮中心相对角度和距离。
在设置好基于转换后的参数后,进行运动方程建立,通过建立方程来控制跟随物的运动。
如图3所示,经过角度及距离测量,获得初始数据后,进行数据换算,此后需要根据设置的运动控制方程进行轨迹运动控制。
在一种可能的实现方式中,可选地,所述根据所述转换数据设定运动参数,包括:
S310、设置角速度运动参数:包括:
设置最小角速度Vw_min;
根据Vw_min,设置角速度段曲线:
Vw_current_max=K*Theta_i+Vw_min;
其中:
K为大于0的限速系数;
Vw_current_max为当前允许的最大角速度;
通过角度距离测量传感器,实时获得数据并换算,持续输出Vw_current_max,只要跟随物的速度未超过Vw_current_max数值,即可按照实时速度行走。
本实施例,Vw_current_max可以为多次函数,本处举例为一次线性曲线,根据选择的系数自行设定。
当偏差角度越大时,所允许的最大角速度越大。
S320、设置线速度运动参数,包括:
设置最小线速度Vx_max
设置线速度段曲线
Vx_current_max=K1*Vw_current_max+Vx_max;
其中:
K1为小于0的线速度系数;
Vx_current_max为当前允许的最大线速度;
同理,只要跟随物的线速度未超过Vx_current_max数值,即可而控制驱动系统按照实时的线速度行走。
Vx_current_max的曲线可以为多次函数,此处举例为一次线性曲线。
当最大角速度越大时,所允许的最大线速度越小。
本实施例,除了线速度和角速度的参数控制,还设定了角度和距离的安全跟随设定条件,如图3所示,
S330、设置角度距离运动参数,包括:
设置最佳跟随距离D1,D1为跟随过程中所述跟随物的驱动中心点距离所述标签的跟随距离;
设置急停距离D2,D2为跟随过程中所述跟随物的驱动中心点距离所述标签的最短距离,D2<D1;
设置只角度跟随距离D3,D3为跟随过程中所述跟随物的驱动中心点距离所述标签的距离且当D2<D3<D1时,车辆只执行角速度。
设置目标跟随角度Theta_target,Theta_target为跟随过程中所述标签和所述跟随物的驱动中心点之间与所述跟随物的驱动中心点和所述跟随物前进方向之间的期望角度;
设置停止线速度角度值Theta_3,Theta_3为跟随过程中所述标签和所述跟随物的驱动中心点之间与所述跟随物的驱动中心点和所述跟随物前进方向之间的停止线速度夹角。
D1、D2、D3、Theta_target和Theta_3的数值,由用户根据跟随物的种类和使用场景而选择性设定,经过考量或者标准值后通过终端输入跟随物的控制系统即可。
其中,当实时探测的跟随距离小于急停距离D2时,发出信号而进行停车;
当跟随距离在最佳跟随距离D1和只角度跟随距离D3之间时,进行角速度控制以及保持线速度为0;
当跟随距离大于最佳跟随距离D1时,同时进行角速度控制和线速度控制。
此时,D1、D2、D3为阈值,达到上述阈值的控制范围,按照设定的程序命令对应发出控制信号即可,其程序控制命令由用户自行编程设定即可。
在一种可能的实现方式中,可选地,所述根据所述运动参数建立PI运动控制方程,包括:
S331、建立角速度PI运动控制方程,包括:
计算当前角度与期望角度的误差Det_theta:
Det_theta=Theta_i-Theta_target;
期望角度为Theta_target,根据实时探测的角度而计算与Theta_target之间的误差;
计算角度误差累计Integral_angle:
Integral_angle=Integral+Det_theta;
计算当前PI控制的角速度值Vw_current:
Vw_current=Kp_vw*Det_theta+Ki_vw*Integral_angle,
其中,Kp_vw为PI控制比例参数;Ki_vw为PI控制积分参数;
设置角速度限制条件:
如果Vw_current>Vw_current_max,则Vw_current=Vw_current_max;
角速度PI运动控制时,保持角速度按照Vw_current的计算结果来执行角速度的运动控制;但是,当计算的Vw_current>Vw_current_max时,此时切换角速度为Vw_current_max,按照Vw_current_max的计算方式执行加速度的控制。
下述线速度PI的执行控制如上,不再赘述。
S332、建立线速度PI运动控制方程,包括:
计算跟随距离误差Det_distance:
Det_distance=Lii–D1;
计算跟随距离累计误差Integral_distance:
Integral_distance=Integral_distance+Det_distance;
计算PI控制线速度输出值Vx_current:
Vx_current=Kp_vx*Det_distance+Ki_vx*Integral_distance;
其中,Kp_vx为PI控制比例参数;Ki_vx为PI控制积分参数;
设置线速度限制条件:
如果Vx_current>Vx_current_max,则Vx_current=Vx_current_max。
当偏差角度越大时,线速度最大值越小,角速度最大值越大,跟随物行走所形成的弧度就越小;当偏差角度小时,不限制角速度和线速度的最大值;从而保证跟随物以最快的速度跟上标签。
实施例2
本实施例,基于实施例1的实施原理,提供一种对应的轨迹跟随实时控制装置。
根据本公开的另一方面,提供了一种轨迹跟随实时控制装置,包括初始数据获取模块、转换数据获取模块、PI运动控制方程建立模块和控制模块,其中,
初始数据获取模块:用于获取跟随物与标签之间的初始数据;
转换数据获取模块:用于预设计算规则,将所述初始数据按照所述预设计算规则计算并转化,获取所述标签与所述跟随物的驱动中心点之间的转换数据;
PI运动控制方程建立模块:用于根据所述转换数据设定运动参数,并根据所述运动参数建立PI运动控制方程;
控制模块:用于根据所述PI运动控制方程控制所述跟随物的行走轨迹;
所述初始数据获取模块、转换数据获取模块、PI运动控制方程建立模块和控制模块依次电性连接。
本装置的各模块可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,按照实施例1的实施步骤和原理进行信号连接、传输即可,本处不再过多赘述。
模块之间的数据传输方式可以是无线或者有线或者其他方式连接,由用户自行选择,本处不做限制。
在一种可能的实现方式中,可选地,所述转换数据获取模块包括第一转换距离获取模块、第二转换距离获取模块和转换角度获取模块,其中,
第一转换距离获取模块:用于获取角度距离测量设备与所述标签之间的投影距离Li:
Li=sqrt(L*L-H*H),其中,
L为所述角度距离测量设备和所述标签之间的相对距离;
H为所述角度距离测量设备和所述标签之间的相对高度;
第二转换距离获取模块:用于根据所述投影距离Li,转换并获得所述标签与所述跟随物的驱动中心点之间的距离Lii:
Lii=sqrt(Li*Li+D*D-2*Li*D*cos(π-fabs(theta))),其中,
D为所述角度距离测量设备和所述跟随物的驱动中心点之间的相对距离;
theta为所述标签和所述角度距离测量设备测量之间与所述角度距离测量设备和所述跟随物前进方向之间的夹角;
转换角度获取模块:用于根据所述投影距离Li和所述标签与所述跟随物的驱动中心点之间的距离Lii,转换并获得所述标签和所述跟随物的驱动中心点之间与所述跟随物的驱动中心点和所述跟随物前进方向之间的夹角Theta_i:
Theta_i=acos((D*D+Lii*Lii-Li*Li)/(2*D*Lii))。
在一种可能的实现方式中,可选地,包括:所述PI运动控制方程建立模块包括角速度运动参数设定模块、线速度运动参数设定模块和角度距离运动参数设定模块,其中,
角速度运动参数设定模块:用于设置角速度运动参数:包括:
设置最小角速度Vw_min;
根据Vw_min,设置角速度段曲线:
Vw_current_max=K*Theta_i+Vw_min;
其中:
K为大于0的限速系数;
Vw_current_max为当前允许的最大角速度;
线速度运动参数设定模块:用于设置线速度运动参数,包括:
设置最小线速度Vx_max
设置线速度段曲线
Vx_current_max=K1*Vw_current_max+Vx_max;
其中:
K1为小于0的线速度系数;
Vx_current_max为当前允许的最大线速度;
角度距离运动参数设定模块:用于设置角度距离运动参数,包括:
设置最佳跟随距离D1,D1为跟随过程中所述跟随物的驱动中心点距离所述标签的跟随距离;
设置急停距离D2,D2为跟随过程中所述跟随物的驱动中心点距离所述标签的最短距离,D2<D1;
设置只角度跟随距离D3,D3为跟随过程中所述跟随物的驱动中心点距离所述标签的距离且当D2<D3<D1时,车辆只执行角速度。
设置目标跟随角度Theta_target,Theta_target为跟随过程中所述标签和所述跟随物的驱动中心点之间与所述跟随物的驱动中心点和所述跟随物前进方向之间的期望角度;
设置停止线速度角度值Theta_3,Theta_3为跟随过程中所述标签和所述跟随物的驱动中心点之间与所述跟随物的驱动中心点和所述跟随物前进方向之间的停止线速度夹角。
在一种可能的实现方式中,可选地,所述PI运动控制方程建立模块还包括角速度PI运动控制方程建立模块和线速度PI运动控制方程建立模块,其中,
角速度PI运动控制方程建立模块用于建立角速度PI运动控制方程,包括:
计算当前角度与期望角度的误差Det_theta:
Det_theta=Theta_i-Theta_target;
计算角度误差累计Integral_angle:
Integral_angle=Integral+Det_theta;
计算当前PI控制的角速度值Vw_current:
Vw_current=Kp_vw*Det_theta+Ki_vw*Integral_angle,
其中,Kp_vw为PI控制比例参数;Ki_vw为PI控制积分参数;
设置角速度限制条件:
如果Vw_current>Vw_current_max,则Vw_current=Vw_current_max;
线速度PI运动控制方程建立模块用于建立线速度PI运动控制方程,包括:
计算跟随距离误差Det_distance:
Det_distance=Lii–D1;
计算跟随距离累计误差Integral_distance:
Integral_distance=Integral_distance+Det_distance;
计算PI控制线速度输出值Vx_current:
Vx_current=Kp_vx*Det_distance+Ki_vx*Integral_distance;
其中,Kp_vx为PI控制比例参数;Ki_vx为PI控制积分参数;
设置线速度限制条件:
如果Vx_current>Vx_current_max,则Vx_current=Vx_current_max。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
实施例3
更进一步地,根据本公开的另一方面,还提供了一种控制系统。
本公开实施例控制系统包括处理器以及用于存储处理器可执行指令的存储器。其中,处理器被配置为执行可执行指令时实现前面实施例1所述的一种轨迹跟随实时控制方法。
此处,应当指出的是,处理器的个数可以为一个或多个。同时,在本公开实施例的控制系统中,还可以包括输入装置和输出装置。其中,处理器、存储器、输入装置和输出装置之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。
存储器作为一种轨迹跟随实时控制方法计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的一种轨迹跟随实时控制方法所对应的程序或模块。处理器通过运行存储在存储器中的软件程序或模块,从而执行控制系统的各种功能应用及数据处理。
输入装置可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置可以包括显示屏等显示设备。
实施例4
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现实施例1所述的轨迹跟随实时控制方法。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。