本发明涉及工业控制领域,尤其涉及一种电机的运动控制方法及装置。
背景技术:
在工业运动控制领域中,通常运动都是自动规划加减速过程,一般都有加速阶段、匀速阶段及减速阶段,最终达到它所希望的位置。如图1所示,电机的速度/时间曲线是一个下宽上窄的梯型。但仍有一些场合,人们希望控制加工工具的运动情况做出某些复杂的动作,按照某些特定的运动情况来进行加工,此时它的运动情况就超出上述所举的例子,如图2所示,通过给定每个端点的位置p和时间t,在该图中,设定了7个端点的位置及时间值(pi,ti),那么希望它的运动情况就如图中所显示那样,经历两次的加减速过程,并在最后一个阶段保持一个非常低的速度来达到某个目的。上述通过给定每次运动的位置和时间来控制运动情况的控制方法我们称之为PT法(位置-时间控制法)。
PT法在特殊控制方面要优于传统的加减速控制法,PT也可以做出类似传统的加减速控制的加速阶段、匀速阶段、减速阶段的速度曲线,但是也可以由用户自由设定速度曲线,比如更加复杂的速度曲线,这在一些特殊的应用场合有着极好的使用效果。但是,在现在提倡柔性制造的今天,在要求高精度高平稳性的今天,PT在每一个速度转折处的加速度有一个巨大的跳跃,这意味着有一个很大的冲击,这会导致控制精度的降低,在某些高柔性制造的场合,这个是不可接受的情况。
技术实现要素:
本发明提供了一种电机的运动控制方法及装置,解决现有技术中在速度遇到速度转折时由于加速度的变化太大,不能实现柔性制作,且导致控制精度降低的问题。
为解决上述技术问题,本发明提供一种电机的运动控制方法,包括:
对电机的运动路线设置n个预设运动位置,将所述运动路线分成n+1段,n为大于1的正整数;
根据所述预设运动位置、运动时间和运动轨迹平滑程度阈值计算各段运动路线的运动参数;
根据所述运动参数计算任一时刻的运动状态;
根据得到的任一时刻的运动状态控制电机按照所述运动状态进行运动。
在本发明的一种实施方式中,根据预设运动位置、运动时间和对运动轨迹的平滑程度阈值计算每个预设运动位置中的运动参数包括:
Δpi=pi-pi-1;
Δti=ti-ti-1;
假设电机的初始速度v0=0,则
所述pi为运动位置,ti为运动时间,ri为预设平滑程度阈值;每一段运动的平均加速度最大加速度ai;加加速度ji;及末点的速度vi;i为大于等于1的正整数。
在本发明的一种实施方式中,根据所述运动参数计算任一时刻的运动状态包括以下三种情况:
当0<t≤ta时,利用以下公式进行计算:
当ta<t≤tu时,利用以下公式进行计算:
当tu<t≤Δti时,利用以下公式进行计算:
其中:ta=Δti×si/2,Δt=t-ta,tu=Δti-ta,Δt=t-tu,Δtu=tu-ta,vu=va+aiΔtu,
在本发明的一种实施方式中,根据得到的任一时刻的运动状态控制电机按照所述运动状态进行运动包括:根据运动状态公式将当前的时刻代入所述对应的公式中,计算所述电机当前的运动状态,并控制所述电机根据其当前的运动状态进行运动。
在本发明的一种实施方式中,根据所述预设运动位置、运动时间和运动轨迹平滑程度阈值计算各段运动路线的运动参数之前还包括:
根据工程需求设置所述运动轨迹平滑程度阈值。
为解决上述技术问题,本发明提供一种电机的运动控制装置,包括:
运动位置设置模块,用于对电机的运动路线设置n个预设运动位置,将所述运动路线分成n+1段,n为大于1的正整数;
运动参数计算模块,用于根据所述预设运动位置、运动时间和运动轨迹平滑程度阈值计算各段运动路线的运动参数;
运动状态计算模块,用于根据所述运动参数计算任一时刻的运动状态;
控制模块,用于根据得到的任一时刻的运动状态控制电机按照所述运动状态进行运动。
在本发明的一种实施方式中,所述运动参数计算模块具体用于计算:
Δpi=pi-pi-1;
Δti=ti-ti-1;
假设电机的初始速度v0=0,则
所述pi为运动位置,ti为运动时间,ri为预设平滑程度阈值;每一段运动的平均加速度最大加速度ai;加加速度ji;及末点的速度vi;i为大于等于1的正整数。
在本发明的一种实施方式中,所述运动状态计算模块具体用于根据以下方式进行计算:
当0<t≤ta时,利用以下公式进行计算:
当ta<t≤tu时,利用以下公式进行计算:
当tu<t≤Δti时,利用以下公式进行计算:
其中:ta=Δti×si/2,Δt=t-ta,tu=Δti-ta,Δt=t-tu,Δtu=tu-ta,vu=va+aiΔtu,
在本发明的一种实施方式中,所述控制模块具体用于根据运动状态公式将当前的时刻代入所述对应的公式中,计算所述电机当前的运动状态,并控制所述电机根据其当前的运动状态进行运动。
在本发明的一种实施方式中,所述运动控制装置还包括:阈值设置模块,用于根据工程需求设置所述运动轨迹平滑程度阈值。
本发明的有益效果是:
本发明提供的一种电机的运动控制方法及装置,对电机的运动路线设置n个预设运动位置,将所述运动路线分成n+1段,n为大于1的正整数;根据所述 预设运动位置、运动时间和运动轨迹平滑程度阈值计算各段运动路线的运动参数;根据所述运动参数计算任一时刻的运动状态;根据得到的任一时刻的运动状态控制电机按照所述运动状态进行运动。本发明的目的在于通过增加一个运动轨迹平滑程度阈值来控制电机的运动状态,从而实现了柔性制造的可能;柔性制造的特殊位置-时间控制算法,在原来的PT基础上,增加了一个运动轨迹平滑程度阈值S来进行控制运动的平滑运行,使得它在各个标定位置的连接处冲击大幅减少,达到柔性控制的效果,在本方案中,该方法可以简称为PTS,P代表位置、T代表时间、S代表速度曲线的形状像S型,通过设定每次运动的位置、时间和运动轨迹平滑程度阈值,使得用户在制定特殊的位置-时间曲线时,能够更平稳地控制其运动,使得机器的冲击减少,达到良好的控制效果。
附图说明
图1为现有技术中传统的速度规划曲线示意图;
图2为现有技术中位置-时间控制方法的示意图;
图3为本发明实施例一提供的电机的运动控制方法流程示意图;
图4至图6为本发明实施例一提供的运动轨迹平滑程度阈值为对应的值时电机的速度-时间示意图;
图7为本发明实施例一提供的电机在实际应用中的运动控制方法流程示意图;
图8为本发明实施例二提供的电机的运动控制装置的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
请参见图3所示,本实施例提供的电机的运动控制方法包括:
S301:对电机的运动路线设置n个预设运动位置,将所述运动路线分成n+1段,n为大于1的正整数;用户根据其需求,对电机的整个运动路线进行分析,通过分析得到需要在哪个位置设置转折点,从而在对应的n个位置进行设置,这样将电机的运动路线分成了n+1的路段;
S302:根据所述预设运动位置、运动时间和运动轨迹平滑程度阈值计算各段运动路线的运动参数;
S303:根据所述运动参数计算任一时刻的运动状态;
S304:根据得到的任一时刻的运动状态控制电机按照所述运动状态进行运动。
步骤S301根据预设运动位置、运动时间和对运动轨迹的平滑程度阈值计算每个预设运动位置中的运动参数具体的计算包括:
Δpi=pi-pi-1;
Δti=ti-ti-1;
假设电机的初始速度v0=0,则
所述pi为运动位置,ti为运动时间,ri为预设平滑程度阈值;每一段运动的 平均加速度最大加速度ai;加加速度ji;及末点的速度vi;i为大于等于1的正整数;
步骤S303根据所述运动参数计算任一时刻的运动状态包括以下三种情况:
当0<t≤ta时,利用以下公式进行计算:
当ta<t≤tu时,利用以下公式进行计算:
当tu<t≤Δti时,利用以下公式进行计算:
其中:ta=Δti×si/2,Δt=t-ta,tu=Δti-ta,Δt=t-tu,Δtu=tu-ta,vu=va+aiΔtu,
步骤S304根据得到的任一时刻的运动状态控制电机按照所述运动状态进行运动包括:根据运动状态公式将当前的时刻代入所述对应的公式中,计算所述电机当前的运动状态,并控制所述电机根据其当前的运动状态进行运动;
根据所述预设运动位置、运动时间和运动轨迹平滑程度阈值计算各段运动 路线的运动参数之前还包括:根据工程需求设置所述运动轨迹平滑程度阈值。在本实施例中,所述运动轨迹平滑程度阈值可以根据用户的主观设置进行设置;例如,在本实施例中,可以通过用百分比表示运动轨迹平滑程度阈值,如图4至图6所示,当r为100%就是全部时间都在平滑处理中,当r为50%就表示有一半的时间处于平滑处理中,当r为0时表示没有时间处于平滑处理的状态。
例如,如图7所示,在实际应用中,本发明提供的方法具体包括:
S701:依次输入每段运动的位置、时间及运动轨迹平滑程度阈值;
S702:计算每一段运动的平均加速度、最大加速度、加加速度及末点的速度;
S703:根据公式算出需要计算的下一时刻的位置、速度和加速度;
S704:把计算出的对应时刻的位置、速度、加速度进行发送;
S705:判断需要计算的各个控制点对应位置的计算是否完成,若是,则结束;若否,则转S703。
实施例二:
如图8所示,本实施例提供了电机的运动控制装置,所述电机的运动控制装置80包括:运动位置设置模块801、运动参数计算模块802、运动状态计算模块803和控制模块804;所述运动位置设置模块801用于对电机的运动路线设置n个预设运动位置,将所述运动路线分成n+1段,n为大于1的正整数;所述运动参数计算模块802用于根据所述预设运动位置、运动时间和运动轨迹平滑程度阈值计算各段运动路线的运动参数;所述运动状态计算模块803用于根据所述运动参数计算任一时刻的运动状态;所述控制模块804用于根据得到的任一时刻的运动状态控制电机按照所述运动状态进行运动。
所述运动参数计算模块具体用于计算:
Δpi=pi-pi-1;
Δti=ti-ti-1;
假设电机的初始速度v0=0,则
所述pi为运动位置,ti为运动时间,ri为预设平滑程度阈值;每一段运动的平均加速度最大加速度ai;加加速度ji;及末点的速度vi;i为大于等于1的正整数;
所述运动状态计算模块具体用于根据以下方式进行计算:
当0<t≤ta时,利用以下公式进行计算:
当ta<t≤tu时,利用以下公式进行计算:
当tu<t≤Δti时,利用以下公式进行计算:
其中:ta=Δti×si/2,Δt=t-ta,tu=Δti-ta,Δt=t-tu,Δtu=tu-ta,vu=va+aiΔtu,
所述控制模块具体用于根据运动状态公式将当前的时刻代入所述对应的公式中,计算所述电机当前的运动状态,并控制所述电机根据其当前的运动状态进行运动。
所述运动控制装置还包括:阈值设置模块,用于根据工程需求设置所述运动轨迹平滑程度阈值。
本发明通过增加一个运动轨迹平滑程度阈值来控制电机的运动状态,从而实现了柔性制造的可能,柔性制造的特殊位置-时间控制算法,在原来的PT基础上,增加了一个运动轨迹平滑程度阈值S来进行控制运动的平滑运行,使得它在各个标定位置的连接处冲击大幅减少,达到柔性控制的效果,在本方案中,该方法可以简称为PTS,P代表位置、T代表时间、S代表速度曲线的形状像S型,通过设定每次运动的位置、时间和运动轨迹平滑程度阈值,使得用户在制定特殊的位置-时间曲线时,能够更平稳地控制其运动,使得机器的冲击减少,达到良好的控制效果。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换, 都应当视为属于本发明的保护范围。