一种提升二维运动流畅程度的方法

文档序号:1797973 发布日期:2021-11-05 浏览:38次 >En<

阅读说明:本技术 一种提升二维运动流畅程度的方法 (Method for improving two-dimensional motion smoothness degree ) 是由 顾锋 施海驹 张骥弟 鲁程 王淑芬 任洪燕 邹瑞萍 于 2021-08-26 设计创作,主要内容包括:本发明开了一种提升二维运动流畅程度的方法,打印前首先解析运动轨迹坐标数据并存到数组里面,然后边从数组里面加载数据运行,边继续解析数据,直到运动完成。所述控制过程特点是,将运动数据预解析,且只要有存储空间就继续解析;当前运动指令没有结束前,下一运动指令即已准备好,做到前后指令间的无缝对接,实现二维运动流畅运行。本发明能够在不增加成本的情况下只通过对运动控制策略的优化,一方面将运动轨迹解析成直接可以控制X轴和Y轴电机的数据,存储在数组中准备好,另一方面优化运动指令和运动指令之间的衔接,就能极大的提升二维运动流畅程度,就具有较高的通用性和易用性,可以广泛适用于各种场景。(The invention discloses a method for improving the smoothness degree of two-dimensional motion. The control process is characterized in that the motion data is pre-analyzed, and the analysis is continued as long as a storage space exists; and before the current motion instruction is not finished, the next motion instruction is ready, seamless butt joint between the front and the rear instructions is achieved, and two-dimensional motion smooth operation is achieved. According to the invention, under the condition of not increasing the cost, only through optimizing the motion control strategy, on one hand, the motion track is analyzed into data which can directly control the X-axis motor and the Y-axis motor, the data are stored in an array for preparation, on the other hand, the connection between the motion instruction and the motion instruction is optimized, the two-dimensional motion smoothness degree can be greatly improved, the universality and the usability are higher, and the method can be widely applied to various scenes.)

一种提升二维运动流畅程度的方法

技术领域

本发明涉及数控机床、3D打印技术领域,具体为一种提升二维运动流畅程度的方法。

背景技术

3D打印过程中,当X轴和Y轴上有较大负载的时候,通常导轨和电机之间需要使用弹性连轴器,X轴和Y轴运动过程中涉及到换向的时候,由于较大的惯性,换向就会不及时,此时插补算法就需要加入加减速,也就是说在X轴或者Y轴需要更换运行方向的时候,先减少再换向,算法非常麻烦。如果使用本发明的方法,用小线段去拟合轨迹,每个小线段都包含加减速,提前讲所有小线段的运动指令计算好,运动的时候直接加载运动指令,这个整个运动过程就能更加流畅。

发明内容

本发明的目的在于提供一种提升二维运动流畅程度的方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种提升二维运动流畅程度的方法,包括以下步骤:

A、打印前首先解析运动轨迹坐标数据并存到运动数据结构体数组里面;

B、然后边从数组里面加载数据运行,边继续解析数据,直到运动完成。

优选的,开始打印前先解析轨迹坐标数据并存到运动数据结构体数组里面,每一条运动指令执行完成后,马上将该存储空间释放出来,准备存在新的运动轨迹解析的运动指令。

优选的,运动数据存储的数组采用的是结构体的方式,结构体包含标志位、X轴和Y轴电机运动方向、运动距离、运动速度、运动时间,并且使用的时候,采用循环队列的方式。

优选的,其中,解析前的指令是图元的结合,解析后变成可以直接加载,去控制X轴和Y轴电机的方向和速度的运动指令。

优选的,一条运动指令在执行的时候,下一条运动指令提前准备好,实现运动指令之间的无缝衔接。

优选的,在一条运动指令开始执行的时候,需要判断是否有时间,在下一条运动指令加载前,去解析运动轨迹数据和执行系统其它任务。

优选的,如果有时间如解析运动轨迹数据,还需要判断是否需要去解析新的运动轨迹数据和解析后运动轨迹数据是否有内存存储。

优选的,一边需要实现运动指令的无缝加载和执行,一边在当前运动指令执行的过程中去解析先的轨迹数据,直到整个运动轨迹都被解析成运动指令数据。

优选的,系统会一直循环执行运动指令,直到所有的指令都被执行完成,并且没有新的运动轨迹数据需要解析。

与现有技术相比,本发明的有益效果是:本发明能够在不增加成本的情况下只通过对运动控制策略的优化,一方面将运动轨迹解析成直接可以控制X轴和Y轴电机的数据,存储在数组中准备好,另一方面优化运动指令和运动指令之间的衔接,就能极大的提升二维运动流畅程度,就具有较高的通用性和易用性,可以广泛适用于各种场景;本发明提前将运动轨迹预解析好,减少运动指令之间的衔接时间和执行运动指令的时候不需要再去边判断边运行,整个运动过程能更加的平滑。

附图说明

图1为本发明流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明提供一种技术方案:本发明提供如下技术方案:一种提升二维运动流畅程度的方法,包括以下步骤:

A、打印前首先解析运动轨迹坐标数据并存到运动数据结构体数组里面;

B、然后边从数组里面加载数据运行,边继续解析数据,直到运动完成。

将运动数据预解析,且只要有存储空间就继续解析;当前运动指令没有结束前,下一运动指令即已准备好,做到前后指令间的无缝对接,实现二维运动流畅运行。

开始运动前先对运动轨迹的图元(如:G代码指令(数控加工中心常用运动控制指令);CAD绘制的DXF文件;或者其它形式的数据库。)进行预解析,并现将解析的坐标数据存储到运动坐标数据结构体数组中;

当弧形需要分割成超过100段以上的小线段的时候,由于芯片做三角运算、乘除法等时间相对较长的运算的时候(以STM32F407单片机为例,计算一条小线段的坐标时间是微妙级的,如果一个弧线需要解析出成百上千段的坐标,就需要毫秒级的时间),为了实现解析数据基本可以忽略不计,我们每解析一小段的坐标就判断,只有在当前指令执行完成时间大于10ms的时候,才会继续去解析坐标数据,否则将时间留给执行运动指令;

运动坐标数据结构体包括标志位、X轴和Y轴电机运动方向、运动距离、运动速度、运动时间;

运动坐标数据结构体数组中,存储数据的序号永远是大于等于运动数据的序号,通常当运动数据的序号等于存储数据的序号的时候,整个运动已经结束(因为解析数据的时间相对于运动数据执行的时间几乎可以忽略不计,所以当运动数据执行序号和运动数据解析序号相同时,整个运动已经结束);

解析运动轨迹数据的时候,需要先判断是否有足够时间解析,如果没有足够的时间则等待,直到有足够的时间去解析运动数据为止(通常在执行本条运动指令的时候,剩下的时间不足以解析运动轨迹数据的时候,等待系统执行需要时间较长的运动指令,再去解析数据);

如果有足够解析运动轨迹坐标的时间,还需要判断当前是否有足够的存储空间和是否需要继续解析运动规则,只有当缓存空间足够和需要继续解析运动轨迹,才能解析坐标并存储;

如果没有足够的存储空间,则等待是否有足够解析运动轨迹坐标的时间满足时,再次判断是否有足够的存储空间,直到条件满足;

如果运动轨迹解析完成,则等待系统执行运动坐标数据完成,如果运动轨迹没有解析完成,则继续解析运动轨迹,然后跳转到判断是否有足够解析运动轨迹的时间,重复上述的步骤。

本发明的另一个关键点是运动指令与运动指令之间的加载衔接;

先判断当前的运动指令是否完成,如果完成了则马上加载下一条运动指令,如果没有完成,则等待运动指令完成,并判断是否需要执行其它任务;

如果运行的时候发现当前没有需要加载的运动指令了,需要判断当前运动是否结束,如果没有结束则等待系统继续去解析运动轨迹数据,如果运动结束则停止运行;

关于如何运动指令与运动指令之间的加载衔接有三种方式,第一种方式只需要MCU(如STM32F407单片机门控制定时器功能)去控制,当一条运动指令执行完成后进入中断,然后在中断中直接加载下一条运动指令;

第二种方式是只需要MCU,当前指令运动快结束的时候,比如预留10ms什么也不做,就等着加载下一条运动指令;

第三种方式是使用专门的运动控制芯片,国产的通常可以做到一次加载2条运动指令,日产的可以做到一次加载8条运动指令;

本发明的优势就是优化控制逻辑后,使用第一种和第二种方式后的运动流畅程度和专用的运动控制芯片相当,甚至比国内的更优。

综上所述,本发明能够在不增加成本的情况下只通过对运动控制策略的优化,一方面将运动轨迹解析成直接可以控制X轴和Y轴电机的数据,存储在数组中准备好,另一方面优化运动指令和运动指令之间的衔接,就能极大的提升二维运动流畅程度,就具有较高的通用性和易用性,可以广泛适用于各种场景;本发明提前将运动轨迹预解析好,减少运动指令之间的衔接时间和执行运动指令的时候不需要再去边判断边运行,整个运动过程能更加的平滑。

需要说明的是,在本文中,诸如术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

6页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种自动铺丝程序运行控制方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类