一种车辆运行控制方法、系统、电子设备及可读存储介质与流程
本发明涉及车辆控制技术领域,尤其涉及一种车辆运行控制方法、系统、电子设备及可读存储介质。
背景技术:
黑暗乘骑是指游客乘坐轨道小车,沿着既定故事路线,在虚实景结合的仿真环境中穿行体验的大型室内娱乐项目。
黑暗乘骑各电机轴运动控制的指令给定值根据控制器的执行周期被存储在了动作文件中。当黑暗乘骑表演开始时,控制器每个执行周期读取动作文件中存储的一条指令值,并将读取到的指令值作为控制各电机轴的位置给定值,从而实现黑暗乘骑的运动控制。
但黑暗乘骑表演过程中轨道车辆需要暂停和恢复表演时,因车辆需按照动作文件指令的原有给定位置和给定速度暂停和恢复表演,但没有一个衔接过程,车辆各电机轴实际位置和速度与原有给定位置和速度有偏差,会发生冲击抖动。
技术实现要素:
本发明提供一种车辆运行控制方法、系统、电子设备及可读存储介质,解决现有技术中需要暂停和恢复表演时,因车辆各电机轴实际位置和速度与原有给定位置和速度有偏差,会发生冲击抖动的问题。
在本发明实施的第一方面,提供了一种车辆运行控制方法,包括:
在目标轨道车辆需要启动时,根据预先设定的节拍速度单步更新量,逐步提高所述目标轨道车辆的动作文件执行速度;
在所述目标轨道车辆需要暂停时,根据所述预先设定的节拍速度单步更新量,逐步降低所述目标轨道车辆的动作文件执行速度;
其中所述目标轨道车辆包括m个独立控制的电机轴,所述动作文件包括i个控制指令,每个控制指令包括对m个电机轴的原始位置给定值,所述动作文件在正常执行速度下每间隔一个执行周期读取一条控制指令,所述m个电机轴运行到所读取的控制指令给出的原始位置给定值;m和i均为大于或等于1的整数。
优选的,所述根据预先设定的节拍速度单步更新量,逐步提高所述目标轨道车辆的动作文件执行速度的步骤包括:
每到达一个动作文件的执行周期,判断前一个执行周期的节拍速度与所述节拍速度单步更新量之和是否小于1,若小于,则将本次执行周期的节拍速度更新为前一个执行周期的节拍速度与所述节拍速度单步更新量之和,否则,将本次执行周期的节拍速度更新为1;
根据更新后节拍速度,以及所述动作文件包含的i个控制指令的原始位置给定值的增长曲线,调整所述目标轨道车辆的动作文件执行速度。
优选的,所述根据所述预先设定的节拍速度单步更新量,逐步降低所述目标轨道车辆的动作文件执行速度的步骤包括:
每到达一个动作文件的执行周期,判断前一个执行周期的节拍速度与所述节拍速度单步更新量之差是否大于零,若大于,则将本次执行周期的节拍速度更新为前一个执行周期的节拍速度与所述节拍速度单步更新量之差,否则,将本次执行周期的节拍速度更新为零;
根据更新后节拍速度,以及所述动作文件包含的i个控制指令的原始位置给定值的增长曲线,调整所述目标轨道车辆的动作文件执行速度。
优选的,根据更新后节拍速度,以及所述动作文件包含的1个控制指令的原始位置给定值的增长曲线,调整所述目标轨道车辆的动作文件执行速度的步骤包括:
每到达一个动作文件的执行周期,判断本次执行周期的节拍速度与前一个执行周期的节拍位置之和是否小于1;
若本次执行周期的节拍速度与前一个执行周期的节拍位置之和小于1,则将本次执行周期的节拍位置更新为本次执行周期的节拍速度与前一个执行周期的节拍位置之和,并保持本次执行周期的节拍起点与前一个执行周期的节拍起点相同,以及保持本次执行周期的节拍终点与前一个执行周期的节拍终点相同;其中所述节拍起点和所述节拍终点在所述动作文件的i个控制指令的原始位置给定值上移动,且所述节拍起点和节拍终点之间始终间隔一个执行周期的控制指令;
若本次执行周期的节拍速度与前一个执行周期的节拍位置之和不小于1,则当本次执行周期的节拍终点不是动作文件的最后一个控制指令对应的原始位置给定值时,将本次执行周期的节拍位置更新为本次执行周期的节拍速度与前一个执行周期的节拍位置之和减去1,并将本次执行周期的节拍起点更新为前一个执行周期的节拍终点,以及将本次执行周期的节拍终点更新为动作文件的下一个控制指令对应的原始位置给定值;
根据更新后的本次执行周期的节拍起点、节拍终点和节拍位置,确定本次执行周期对m个电机轴的实际位置给定值。
优选的,所述根据更新后的本次执行周期的节拍起点、节拍终点和节拍位置,确定本次执行周期对m个电机轴的实际位置给定值的步骤包括:
将本次执行周期的节拍终点与节拍起点相减获得原始位置增长值;
将所述原始位置增长值与本次执行周期的节拍位置相乘获得的偏移值;
将所述偏移值与本次执行周期的节拍起点相加获得本次执行周期对m个电机轴的实际位置给定值。
优选的,在目标轨道车辆需要启动时,根据预先设定的节拍速度单步更新量,逐步提高所述目标轨道车辆的动作文件执行速度之前,还包括:
将所述节拍速度和节拍位置初始化为零;
将所述节拍起点初始化为所述目标轨道车辆m个电机轴的初始位置;
将所述节拍终点初始化为第一个控制指令的原始位置给定值。
在本发明实施的第二方面,还提供了一种车辆运行控制系统,包括:
节拍器,用于在目标轨道车辆需要启动时,根据预先设定的节拍速度单步更新量,逐步提高所述目标轨道车辆的动作文件执行速度;在所述目标轨道车辆需要暂停时,根据所述预先设定的节拍速度单步更新量,逐步降低所述目标轨道车辆的动作文件执行速度;
其中所述目标轨道车辆包括m个独立控制的电机轴,所述动作文件包括i个控制指令,每个控制指令包括对m个电机轴的原始位置给定值,所述动作文件在正常执行速度下每间隔一个执行周期读取一条控制指令,所述m个电机轴运行到所读取的控制指令给出的原始位置给定值;m和i均为大于或等于1的整数。
优选的,所述节拍器包括:
第一速度更新模块,用于每到达一个动作文件的执行周期,判断前一个执行周期的节拍速度与所述节拍速度单步更新量之和是否小于1,若小于,则将本次执行周期的节拍速度更新为前一个执行周期的节拍速度与所述节拍速度单步更新量之和,否则,将本次执行周期的节拍速度更新为1;
所述节拍器具体用于根据更新后节拍速度,以及所述动作文件包含的i个控制指令的原始位置给定值的增长曲线,调整所述目标轨道车辆的动作文件执行速度。
优选的,所述节拍器包括:
第二速度更新模块,用于每到达一个动作文件的执行周期,判断前一个执行周期的节拍速度与所述节拍速度单步更新量之差是否大于零,若大于,则将本次执行周期的节拍速度更新为前一个执行周期的节拍速度与所述节拍速度单步更新量之差,否则,将本次执行周期的节拍速度更新为零;
所述节拍器具体用于根据更新后节拍速度,以及所述动作文件包含的i个控制指令的原始位置给定值的增长曲线,调整所述目标轨道车辆的动作文件执行速度。
优选的,所述节拍器还包括:
位置更新模块,用于每到达一个动作文件的执行周期,判断本次执行周期的节拍速度与前一个执行周期的节拍位置之和是否小于1;若本次执行周期的节拍速度与前一个执行周期的节拍位置之和小于1,则将本次执行周期的节拍位置更新为本次执行周期的节拍速度与前一个执行周期的节拍位置之和;若本次执行周期的节拍速度与前一个执行周期的节拍位置之和不小于1,则当本次执行周期的节拍终点不是动作文件的最后一个控制指令对应的原始位置给定值时,将本次执行周期的节拍位置更新为本次执行周期的节拍速度与前一个执行周期的节拍位置之和减去1;
起点寄存器,用于若本次执行周期的节拍速度与前一个执行周期的节拍位置之和小于1,则保持本次执行周期的节拍起点与前一个执行周期的节拍起点相同;若本次执行周期的节拍速度与前一个执行周期的节拍位置之和不小于1,则当本次执行周期的节拍终点不是动作文件的最后一个控制指令对应的原始位置给定值时,将本次执行周期的节拍起点更新为前一个执行周期的节拍终点;
终点寄存器,用于若本次执行周期的节拍速度与前一个执行周期的节拍位置之和小于1,则保持本次执行周期的节拍终点与前一个执行周期的节拍终点相同;若本次执行周期的节拍速度与前一个执行周期的节拍位置之和不小于1,则当本次执行周期的节拍终点不是动作文件的最后一个控制指令对应的原始位置给定值时,将本次执行周期的节拍终点更新为动作文件的下一个控制指令对应的原始位置给定值;
其中所述节拍起点和所述节拍终点在所述动作文件的i个控制指令的原始位置给定值上移动,且所述节拍起点和节拍终点之间始终间隔一个执行周期的控制指令;
节拍计算器,用于根据更新后的本次执行周期的节拍起点、节拍终点和节拍位置,确定本次执行周期对m个电机轴的实际位置给定值。
在本发明实施的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如上所述的车辆运行控制方法中的步骤。
在本发明实施的第四方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的车辆运行控制方法。
在本发明实施例的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上所述的车辆运行控制方法。
针对在先技术,本发明具备如下优点:
本发明实施例中,在执行动作文件时增加了一个节拍器,在目标轨道车辆需要启动时,根据预先设定的节拍速度单步更新量,逐步提高目标轨道车辆的动作文件执行速度;在目标轨道车辆需要暂停时,根据预先设定的节拍速度单步更新量,逐步降低目标轨道车辆的动作文件执行速度;其中动作文件在正常执行速度下每间隔一个执行周期读取一条控制指令,m个电机轴运行到所读取的控制指令给出的原始位置给定值。从而使得目标轨道车辆在遇到故障需要暂停时可以慢慢停下来,当恢复时,车辆又可以从停止状态慢慢提速到正常的执行速度,增加了衔接过程,避免了车辆的抖动冲击。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的车辆运行控制方法的流程示意图;
图2为本发明实施例提供的车辆运行控制方法的另一流程示意图;
图3为本发明实施例提供的车辆运行控制系统示意框图;
图4为本发明实施例提供的带节拍器的动作文件执行系统的示意框图;
图5为本发明实施例提供的电子设备的示意框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解的是,还可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1是本发明实施例提供的一种车辆运行控制方法的流程示意图,参照图1所示,方法包括:
步骤101:在目标轨道车辆需要启动时,根据预先设定的节拍速度单步更新量,逐步提高所述目标轨道车辆的动作文件执行速度;
步骤102:在所述目标轨道车辆需要暂停时,根据所述预先设定的节拍速度单步更新量,逐步降低所述目标轨道车辆的动作文件执行速度;
其中所述目标轨道车辆包括m个独立控制的电机轴,所述动作文件包括i个控制指令,每个控制指令包括对m个电机轴的原始位置给定值,所述动作文件在正常执行速度下每间隔一个执行周期读取一条控制指令,所述m个电机轴运行到所读取的控制指令给出的原始位置给定值;m和i均为大于或等于1的整数。
其中,可以将动作文件中的每条指令记为:sj(s1,s2,…sm),j=1,2,…i。
本发明实施例的车辆运行控制方法,在执行动作文件时增加了一个节拍器,在目标轨道车辆需要启动时,通过节拍器预先设定的节拍速度单步更新量,逐步提高目标轨道车辆的动作文件执行速度;在目标轨道车辆需要暂停时,通过节拍器预先设定的节拍速度单步更新量,逐步降低所述目标轨道车辆的动作文件执行速度。从而使得目标轨道车辆在遇到故障需要暂停时可以慢慢停下来,当恢复时,车辆又可以从停止状态慢慢提速到正常的执行速度,增加了衔接过程,避免了车辆的抖动冲击。
优选的,步骤101包括:
步骤1011:每到达一个动作文件的执行周期,判断前一个执行周期的节拍速度与所述节拍速度单步更新量之和是否小于1,若小于,则将本次执行周期的节拍速度更新为前一个执行周期的节拍速度与所述节拍速度单步更新量之和,否则,将本次执行周期的节拍速度更新为1。
这里,在目标轨道车辆开始执行动作文件、正常表演或暂停后恢复表演时,可执行此步骤来更新节拍速度,使车辆慢慢加速到动作文件的正常执行速度。其中,在到达第i个执行周期时可将节拍速度记为ui,若前一个执行周期的节拍速度ui-1+u<1,则本次执行周期的节拍速度即为ui-1+u;若ui-1+u≥1,则本次执行周期的节拍速度即为1。其中u为节拍速度单步更新量,0<u≤1。单步更新量u是提前设置好的,u越大,则执行动作文件遇到暂停停止和恢复表演的过程越快,反之车辆暂停停止和恢复表演的过程越长。
通过公式表达如下,在到达第i个执行周期时更新节拍速度ui:
其中,u为所述节拍速度单步更新量,0<u≤1,i≥1,可令u0=0。
步骤1012:根据更新后节拍速度,以及所述动作文件包含的i个控制指令的原始位置给定值的增长曲线,调整所述目标轨道车辆的动作文件执行速度。
此时,通过节拍速度u以及动作文件包含的i个控制指令的原始位置给定值的增长曲线,逐步提高目标轨道车辆的动作文件执行速度,使得各个电机轴在原始位置给定值的增长曲线上按照节拍速度逐渐增加,慢慢提速到正常的执行速度,不会偏离原有的增长曲线,避免了抖动冲击。
优选的,上述步骤102包括:
步骤1021;每到达一个动作文件的执行周期,判断前一个执行周期的节拍速度与所述节拍速度单步更新量之差是否大于零,若大于,则将本次执行周期的节拍速度更新为前一个执行周期的节拍速度与所述节拍速度单步更新量之差,否则,将本次执行周期的节拍速度更新为零。
这里,在目标轨道车辆需要暂停时,执行此步骤来更新节拍速度,使车辆停下来。其中,在到达第i个执行周期时可将节拍速度记为ui,若前一个执行周期的节拍速度ui-1-u>0,则本次执行周期的节拍速度即为ui-1-u;若ui-1-u≤0,则本次执行周期的节拍速度即为0,节拍速度为0时表面车辆已完全停下来了。
通过公式表达如下,在到达第i个执行周期时更新节拍速度ui:
步骤1022:根据更新后节拍速度,以及所述动作文件包含的i个控制指令的原始位置给定值的增长曲线,调整所述目标轨道车辆的动作文件执行速度。
此时,通过节拍速度u以及动作文件包含的i个控制指令的原始位置给定值的增长曲线,逐步降低目标轨道车辆的动作文件执行速度,使得各个电机轴在原始位置给定值的增长曲线上按照节拍速度逐渐降低,慢慢停下来,不会偏离原有的增长曲线,避免了抖动冲击。
优选的,上述步骤1012或1022可包括:
步骤10121:每到达一个动作文件的执行周期,判断本次执行周期的节拍速度与前一个执行周期的节拍位置之和是否小于1。
步骤10122:若本次执行周期的节拍速度与前一个执行周期的节拍位置之和小于1,则将本次执行周期的节拍位置更新为本次执行周期的节拍速度与前一个执行周期的节拍位置之和,并保持本次执行周期的节拍起点与前一个执行周期的节拍起点相同,以及保持本次执行周期的节拍终点与前一个执行周期的节拍终点相同;其中所述节拍起点和所述节拍终点在所述动作文件的i个控制指令的原始位置给定值上移动,且所述节拍起点和节拍终点之间始终间隔一个执行周期的控制指令。
步骤10123:若本次执行周期的节拍速度与前一个执行周期的节拍位置之和不小于1,则当本次执行周期的节拍终点不是动作文件的最后一个控制指令对应的原始位置给定值时,将本次执行周期的节拍位置更新为本次执行周期的节拍速度与前一个执行周期的节拍位置之和减去1,并将本次执行周期的节拍起点更新为前一个执行周期的节拍终点,以及将本次执行周期的节拍终点更新为动作文件的下一个控制指令对应的原始位置给定值。
这里,在到达第i个执行周期时可将节拍位置记为wi,节拍起点记为pi,节拍终点记为qi。若wi-1+ui<1,则本次执行周期的节拍位置更新为wi-1+ui,同时节拍起点和节拍终点的位置不变,假定pi-1=sj-1,qi-1=sj,则pi=sj-1,qi=sj。此时下一个执周行期继续在sj-1至sj的增长曲线上确定给定值,即动作文件执行到sj-1至sj之间。
若wi-1+ui≥1,此时节拍终点qi-1=sj,若j=i(动作文件包括i个执行周期的控制指令),表示此时动作文件被全部执行完了,则将车辆停下来即可,否则就给控制器发送指令re读取下一动作文件指令sj+1,更新节拍起点pi=sj,节拍终点qi=sj+1,下一执行周期的节拍位置更新为wi-1+ui-1,此时下一个执行周期在sj至sj+1的增长曲线上确定给定值,即动作文件执行到sj至sj+1之间。
通过公式表达如下,在到达第i个执行周期时更新节拍位置wi:
在到达第i个执行周期时更新节拍起点pi(p1,p2,…pm):
在到达第i个执行周期时更新节拍终点qi(q1,q2,…qm):
本发明实施例中,若本次执行周期的节拍速度与前一个执行周期的节拍位置之和不小于1,当本次执行周期的节拍终点是动作文件的最后一个控制指令对应的原始位置给定值时,表示此时动作文件被全部执行完了,则将车辆停下来即可。具体的,可以按速度递减方式将车辆停下来:将各电机轴的速度按照预设的减速度a(a1,a2,…,am)逐渐降低,直至速度降为零。
步骤10124:根据更新后的本次执行周期的节拍起点、节拍终点和节拍位置,确定本次执行周期对m个电机轴的实际位置给定值。
这里,在到达第i个执行周期时根据更新后的本次执行周期的节拍起点、节拍终点和节拍位置,重新确定本次执行周期对m个电机轴的实际位置给定值,使得各个电机轴能够在原始位置给定值的增长曲线上按照节拍速度逐渐增加或降低,即在启动时控制动作文件的执行速度逐步提高到正常执行速度,在暂停时控制动作文件的执行速度逐渐降低到零,避免了抖动冲击。
优选的,上述步骤101之前,还包括:
步骤1001:将所述节拍速度和节拍位置初始化为零;
步骤1002:将所述节拍起点初始化为所述目标轨道车辆m个电机轴的初始位置:
步骤1003:将所述节拍终点初始化为第一个控制指令的原始位置给定值。
此时,可首先将节拍速度、节拍位置、节拍起点和节拍终点进行初始化,以保证按照节拍算法启动车辆。
其中,初始化节拍器的相关参数可记为:p1=s0,q1=s1,w0=0,u0=0。动作文件中一般不包括s0,本发明实施例定义s0为所有电机轴在初始状态下的初始位置,初始位置s0与动作文件的第一个控制指令s1可能重合,也可能实际初始位置s0与s1不重合,当s0与s1不重合时,利用本发明实施例的方法能够避免动作文件执行过程中的抖动冲击。
优选的,上述步骤10124包括:
将本次执行周期的节拍终点与节拍起点相减获得原始位置增长值;
将所述原始位置增长值与本次执行周期的节拍位置相乘获得的偏移值;
将所述偏移值与本次执行周期的节拍起点相加获得本次执行周期对m个电机轴的实际位置给定值。
这里,每个执行周期下根据节拍终点和节拍起点获得原始位置增长值,并根据节拍位置获得偏移量,来确定电机轴的实际位置给定值,使得各个电机轴在原始位置给定值的增长曲线上按照节拍速度逐渐增加或降低,使得车辆启动时动作文件的执行速度能够慢慢提高到正常执行速度,车辆暂停时动作文件的执行速度能够慢慢降低到零,避免了抖动冲击。
通过公式表达如下,在到达第i个执行周期时更新对m个电机轴的实际位置给定值ri(r1,r2,…rm):
ri(r1,r2…rm)=pi+wi×(qi-pi)(5)。
这里,在到达第i个执行周期时通过上述公式(5)重新计算m个电机轴的位置给定值,即ri(r1,r2…rm)=pi+wi×(qi-pi),使得各个电机轴在原始位置给定值的增长曲线上按照节拍速度逐渐增加,避免了抖动冲击。
下面以车辆启动的情况举例说明如下。
假设m=10,i=5,t=10ms,u=0.01m/ms,即目标轨道车辆包括5个控制指令,每个控制指令分别包括10个电机轴的原始位置给定值,记为sj(s1,s2,…,s10),j=1,2,…5。首先初始化节拍器的相关参数:p1=s0,q1=s1,w0=0,u0=0,这里s0为所有电机轴的初始位置。在目标轨道车辆开始执行动作文件、正常表演或暂停后恢复表演时,动作文件的读取速度不变,即每间隔一个执行周期t读取一条控制指令,直至动作文件执行完毕,但执行速度发生变化,本发明实施例的车辆运行控制方法包括:
s1:在到达第1个执行周期t时,通过上述公式(1)确定节拍速度ui,此时i=1,ui=u1,由于u0+u<1,因此u1=u0+u=0.01;
s2:通过上述公式(2)确定节拍位置wi,此时i=1,wi=w1,由于w0+u1<1,因此w1=w0+u1=0.01;
s3:通过上述公式(3)、(4)确定节拍起点pi(p1,p2,…pm)和节拍终点qi(q1,q2,…qm),此时i=1,pi=p1,qi=q1,由于w0+u1<1,因此,p1=s0,q1=s1,继续在s0到s1的增长曲线上确定位置给定值。
s3:通过上述公式(5)确定位置给定值ri(r1,r2,…rm),此时ri(r1,r2…rm)=r1(r1,r2…rm)=p1+w1×(q1-p1)=s0+0.01s1,即在到达第1个执行周期时,位置给定值为s0+0.01s1,各电机轴在初始位置的基础上运动到0.01s1的位置。
s4:在到达第2个执行周期2t时,通过上述公式(1)确定节拍速度ui,此时i=2,ui=u2,由于u1+u<1,因此u2=u1+u=0.02;
s5:通过上述公式(2)确定节拍位置wi,此时i=2,wi=w2,由于w1+u2<1,因此w2=w1+u2=0.03;
s6:通过上述公式(3)、(4)确定节拍起点pi(p1,p2,…pm)和节拍终点qi(q1,q2,…qm),此时i=2,pi=p2,qi=q2,由于w1+u2<1,因此,p2=s0,q2=s1,继续在s0到s1的增长曲线上确定位置给定值。
s7:通过上述公式(5)确定位置给定值ri(r1,r2,…rm),此时ri(r1,r2…rm)=r2(r1,r2…rm)=p2+w2×(q2-p2)=s0+0.03s1,即在到达第2个执行周期时,位置给定值为s0+0.03s1,各电机轴在初始位置的基础上运动到0.03s1的位置。
s8:每到达一个执行周期t,重复上述步骤s1-s4,直至动作文件的所有控制指令执行完毕。
按照上述步骤在到达第100个执行周期,即到达1s时,动作文件的执行速度会达到正常速度。
从上述可以看出,按照本发明实施例的方法,使得各个电机轴在原始位置给定值的增长曲线上按照节拍速度逐渐增加,即控制动作文件的执行速度逐步提高到正常执行速度,避免了抖动冲击。
参见图2所示,为本发明实施例的车辆运行控制方法一具体实施流程图,方法包括:
步骤201:开始。
步骤202:初始化。首先初始化节拍器的相关参数,即节拍起点、节拍终点、节拍速度和节拍位置。例如p1=s0,q1=s1,w0=0,u0=0,这里s0为所有电机轴的初始位置。
步骤203:计算本次执行周期电机轴位置给定值。
步骤204:判断是否需要暂停,若是,则跳转到步骤205,否则,跳转到步骤210。
步骤205:将节拍速度u减去节拍速度单步更新量u。
步骤206:判断节拍速度u是否大于0,若是,则跳转到步骤214,否则,跳转到207。
步骤207:将节拍速度置为0。
步骤208:判断是否恢复表演,若是,则跳转到步骤210,否则,跳转到步骤209。
步骤209:等待恢复表演。
步骤210:将节拍速度u加上节拍速度单步更新量u。
步骤211:判断节拍速度u是否小于1,若是,则跳转到步骤213,否则,跳转到步骤212。
步骤212:将节拍速度置为1,之后跳转到步骤213。
步骤213:将节拍位置加上节拍速度u。
步骤214:判断节拍位置是否小于1,若是,则返回到步骤202,否则,跳转到步骤215。
步骤215:将节拍位置减去1,并更新节拍器起点和终点,读取下一条动作文件。
步骤216:判断动作文件是否已执行完,若是,则跳转到步骤217,否则,返回步骤202。
步骤217:按速度递减方式停车。
步骤218:结束。
本发明实施例的车辆运行控制方法,在执行动作文件时增加了一个节拍器,在目标轨道车辆需要启动时,通过节拍器预先设定的节拍速度单步更新量,逐步提高目标轨道车辆的动作文件执行速度;在目标轨道车辆需要暂停时,通过节拍器预先设定的节拍速度单步更新量,逐步降低所述目标轨道车辆的动作文件执行速度。从而使得目标轨道车辆在遇到故障需要暂停时可以慢慢停下来,当恢复时,车辆又可以从停止状态慢慢提速到正常的执行速度,增加了衔接过程,避免了车辆的抖动冲击。
参见图3所示,本发明的实施例还提供了一种车辆运行控制系统300,包括:
节拍器301,用于在目标轨道车辆需要启动时,根据预先设定的节拍速度单步更新量,逐步提高所述目标轨道车辆的动作文件执行速度;在所述目标轨道车辆需要暂停时,根据所述预先设定的节拍速度单步更新量,逐步降低所述目标轨道车辆的动作文件执行速度;
其中所述目标轨道车辆包括m个独立控制的电机轴,所述动作文件包括i个控制指令,每个控制指令包括对m个电机轴的原始位置给定值,所述动作文件在正常执行速度下每间隔一个执行周期读取一条控制指令,所述m个电机轴运行到所读取的控制指令给出的原始位置给定值;m和i均为大于或等于1的整数。
本发明实施例的车辆运行控制系统300,在执行动作文件时增加了一个节拍器301,在目标轨道车辆需要启动时,通过节拍器301预先设定的节拍速度单步更新量,逐步提高目标轨道车辆的动作文件执行速度;在目标轨道车辆需要暂停时,通过节拍器301预先设定的节拍速度单步更新量,逐步降低所述目标轨道车辆的动作文件执行速度。从而使得目标轨道车辆在遇到故障需要暂停时可以慢慢停下来,当恢复时,车辆又可以从停止状态慢慢提速到正常的执行速度,增加了衔接过程,避免了车辆的抖动冲击。
优选的,参见图4所示,所述节拍器301包括:
第一速度更新模块3011,用于每到达一个动作文件的执行周期,判断前一个执行周期的节拍速度与所述节拍速度单步更新量之和是否小于1,若小于,则将本次执行周期的节拍速度更新为前一个执行周期的节拍速度与所述节拍速度单步更新量之和,否则,将本次执行周期的节拍速度更新为1;
所述节拍器301具体用于根据更新后节拍速度,以及所述动作文件包含的i个控制指令的原始位置给定值的增长曲线,调整所述目标轨道车辆的动作文件执行速度。
优选的,所述节拍器301包括:
第二速度更新模块3012,用于每到达一个动作文件的执行周期,判断前一个执行周期的节拍速度与所述节拍速度单步更新量之差是否大于零,若大于,则将本次执行周期的节拍速度更新为前一个执行周期的节拍速度与所述节拍速度单步更新量之差,否则,将本次执行周期的节拍速度更新为零;
所述节拍器301具体用于根据更新后节拍速度,以及所述动作文件包含的i个控制指令的原始位置给定值的增长曲线,调整所述目标轨道车辆的动作文件执行速度。
优选的,继续参见图4所示,所述节拍器301还包括:
位置更新模块3013,用于每到达一个动作文件的执行周期,判断本次执行周期的节拍速度与前一个执行周期的节拍位置之和是否小于1;若本次执行周期的节拍速度与前一个执行周期的节拍位置之和小于1,则将本次执行周期的节拍位置更新为本次执行周期的节拍速度与前一个执行周期的节拍位置之和;若本次执行周期的节拍速度与前一个执行周期的节拍位置之和不小于1,则当本次执行周期的节拍终点不是动作文件的最后一个控制指令对应的原始位置给定值时,将本次执行周期的节拍位置更新为本次执行周期的节拍速度与前一个执行周期的节拍位置之和减去1;
起点寄存器3014,用于若本次执行周期的节拍速度与前一个执行周期的节拍位置之和小于1,则保持本次执行周期的节拍起点与前一个执行周期的节拍起点相同;若本次执行周期的节拍速度与前一个执行周期的节拍位置之和不小于1,则当本次执行周期的节拍终点不是动作文件的最后一个控制指令对应的原始位置给定值时,将本次执行周期的节拍起点更新为前一个执行周期的节拍终点;
终点寄存器3015,用于若本次执行周期的节拍速度与前一个执行周期的节拍位置之和小于1,则保持本次执行周期的节拍终点与前一个执行周期的节拍终点相同;若本次执行周期的节拍速度与前一个执行周期的节拍位置之和不小于1,则当本次执行周期的节拍终点不是动作文件的最后一个控制指令对应的原始位置给定值时,将本次执行周期的节拍终点更新为动作文件的下一个控制指令对应的原始位置给定值;
其中所述节拍起点和所述节拍终点在所述动作文件的i个控制指令的原始位置给定值上移动,且所述节拍起点和节拍终点之间始终间隔一个执行周期的控制指令;
节拍计算器3016,用于根据更新后的本次执行周期的节拍起点、节拍终点和节拍位置,确定本次执行周期对m个电机轴的实际位置给定值。
优选的,所述节拍计算器3016具体用于:将本次执行周期的节拍终点与节拍起点相减获得原始位置增长值;将所述原始位置增长值与本次执行周期的节拍位置相乘获得的偏移值;将所述偏移值与本次执行周期的节拍起点相加获得本次执行周期对m个电机轴的实际位置给定值。
优选的,还包括:
初始化模块,用于将所述节拍速度和节拍位置初始化为零;将所述节拍起点初始化为所述目标轨道车辆m个电机轴的初始位置;将所述节拍终点初始化为第一个控制指令的原始位置给定值。
继续参见图4所示,为带节拍器的动作文件执行系统。在动作文件401执行过程中,通过节拍器301控制动作文件执行速度。当执行到下一个动作文件指令时,节拍器301发送re指令给动作文件执行控制器402读取下一个动作文件控制指令。节拍器301将重新确定的位置给定值r给到电机轴伺服驱动器403,使电机轴根据重新确定的位置给定值r,在遇到故障需要暂停时可以慢慢停下来,当恢复时,又可以从停止状态慢慢提速到正常的执行速度,避免了车辆的抖动冲击。
对于上述系统实施例而言,由于其与方法实施例基本相似,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,该电子设备可以是服务器。如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信。
存储器503,用于存放计算机程序。
处理器501用于执行存储器503上所存放的程序时,实现如下步骤:
在目标轨道车辆需要启动时,根据预先设定的节拍速度单步更新量,逐步提高所述目标轨道车辆的动作文件执行速度;
在所述目标轨道车辆需要暂停时,根据所述预先设定的节拍速度单步更新量,逐步降低所述目标轨道车辆的动作文件执行速度;
其中所述目标轨道车辆包括m个独立控制的电机轴,所述动作文件包括i个控制指令,每个控制指令包括对m个电机轴的原始位置给定值,所述动作文件在正常执行速度下每间隔一个执行周期读取一条控制指令,所述m个电机轴运行到所读取的控制指令给出的原始位置给定值;m和i均为大于或等于1的整数。
上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的车辆运行控制方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中所述的车辆运行控制方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,包含在本发明的保护范围内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除