一种基于pc-fpga的nurbs曲线实时插补方法

文档序号:6310826阅读:581来源:国知局
专利名称:一种基于pc-fpga的nurbs曲线实时插补方法
技术领域
本发明属于工业机器人运动控制系统领域,尤其涉及一种基于PC-FPGA的NURBS曲线实时插补方法。
背景技术
通常,一台喷涂工业机器人的运动控制系统由轨迹插补和轨迹跟踪两大功能模块构成。由于传统的机器人运动控制系统只提供直线和圆弧两种方式的插补,所有的几何轮廓外形都用直线段或者圆弧段来近似拟合。随着零件精度要求的提高,传统方法存在以下问题越高精度要求,则生成的线段越多,要传送更多的数据,导致大量的数据传输无法满足高速的加工过程;在线段接合处产生进给跳动和速度不连续性,最终影响加工质量。为了获得高速高精度的性能要求,现代运动控制系统中一般采用B-样条曲线和·NURBS曲线进行插补。随着机器人离线编程系统的发展,NURBS为机器人运动路径提供统一的数学描述,更加合理的将机器人CAD/CAM系统和实际机器人的运动控制结合起来。为了减小进给跳动和改善加工质量,学者提出了一些NURBS的插补算法。Shipitalni提出了一种基于截断泰勒展开式的一阶插补算法,Yang和Kong提出了二阶插补算法,Yeh和Hsu提出了带补偿参数的速度控制插补算子,Forouki提出了一种三阶插补的紧凑递归算法。他们的工作都是在提供一种精确的NURBS插补算法,却很少关注实时的插补实现问题。同时,现有的NURBS插补算法应用在不同的场合下,往往难以满足不同的速度和精度要求。目前的工业机器人一般采用工业级计算机IPC+DSP的串行计算架构,其中PC完成人机交互的功能,DSP用来处理运动控制器的计算量和一些高速I/O信号,如发生PWM信号和反馈控制。NURBS曲线插补计算需要调用递归函数式,使得计算量很大,在通常的PC+DSP的架构中,当NURBS插补器计算复杂时候,在较短的采样时间内(如1ms),很难完成NURBS插补和伺服控制的计算。Tsai等人实现的NURBS曲面插补和伺服控制总共的计算时间为4ms,其中NURBS插补使用了 3. 8ms,占了总的计算时间的95%。目前实际的解决办法大多是采取多片DSP的系统架构,这无疑增加系统成本,该种硬件架构设计难度也大。

发明内容
本发明的目的在于克服现有技术的缺点和不足,提供一种基于PC-FPGA的NURBS曲线实时插补方法,通过FPGA的并行计算能力以解决现有技术中,NURBS插补实时性不强的问题,同时有限的降低系统的成本,充分发挥在PC上灵活进行零件建模和FPGA的实时数据处理的能力。本发明通过下述技术方案实现一种基于PC-FPGA的NURBS曲线实时插补方法,包括IPC、FPGA运动控制器、伺服驱动器、工业机器人机械本体,三维零件Solidworks模型在IPC上生成离散的数据点后,然后通过以太网通讯模块将数据传送到FPGA运动控制器进行实时NURBS曲线插补计算,输出脉冲串到伺服驱动器,以力矩驱动工业机器人进行协调运动,实现对复杂曲面零件的NURBS曲线插补运动。在IPC上实现的步骤为(I)、IPC根据待喷涂零件CAD/CAM图形特征,将数据坐标系附于喷涂零件的底线中点来生成STL文件;(2)、把STL文件中每一个三角形的单位法矢量附加到其三个顶点上,删除法矢量为负的点;(3 )、从STL文件中依次取出三角形,按照X坐标升序排序,把相同的X坐标的点组成一个局部点组,再把每组的点,按照Y坐标的升序局部排列;
(4)、在每个点组里面,把有相同Y坐标的多余点去除;通过比较三角形顶点的坐标值,删除重复的点,从而建立一个无重复点的点表;(5)、将需要插补的离散控制点集,通过IPC上的工业以太网接口和集成在FPGA硬件电路上的以太网接口,把这些离散控制点集数据传送到FPGA运动控制器的FIFO区;FPGA运动控制器进行以下步骤(I)、通过以太网接口从IPC上下载离散数据点到FIFO进行缓冲存储;(2),NURBS实时插补器根据FIFO区离散控制点进行NURBS曲线插补计算,然后把计算所得以脉冲量形式经IIR数字滤波输出;(3)、编码器模块对工业机器人各轴实际运动位置光电编码器反馈信号进行解码;(4)、IIR数字滤波器结合编码器模块利用PID控制原理,对工业机器人末端进行位置跟踪;在FPGA运动控制器的NURBS实时插补器中,根据确定曲线参数u逐次迭代
的增量,在相同的采样时间Ts内运动的距离是恒定的,将NURBS曲线等长分割,通过沿
着曲线的运动速度定义和截取泰勒一阶展开式,给出一种迭代求解曲线参数的方法 —VTs
=ltk+「—~~XT ’从而实现NURBS曲线插补的速度反馈控制,以适应不同的插补 {X +y +z J2
速度场合;根据T形速度规划,工业机器人的电机以一较低的速度Vmin起动,在加速度a下加速到所需要的速度,接近终点时候在减速度a下减速到Vmin,终点时刻最后突然停止,以获得工业机器人的机械手末端运动轨迹和运动效率;通过计算NURBS曲线的长度,然后根据给定工业机器人的电机起动速度Vmin、工业机器人末端运动速度Vmax和加速度,计算加速以及减速时间与总的运动时间,对任意采样时间区间求出相应的速度Vt;将Vt代入uk+1迭代公式,得到NURBS曲线相应插补点的坐标(X (uk+1),y (uk+1),Z (uk+1)),以脉冲串形式通过IIR数字滤波器进行输出;伺服驱动器接收来自FPGA运动控制器的脉冲串,采用三环控制方式,从里到外分别为电流环、速度环、位置环,以力矩控制模式控制工业机器人的机械本体进行协调运动,最终实现针对具复杂曲面的零件的NURBS曲线轨迹插补运动。本发明相对于现有技术,具有如下的优点及效果
(I)采用基于FPGA运动控制器来进行NURBS插补计算的设计优势主要是速度快、应用灵活。速度快的优势来源于FPGA运动控制器的硬件逻辑,特别是FPGA运动控制器的并行执行和流水线操作。FPGA运动控制器的逻辑功能全部用硬件电路实现,因此所有的延迟只来源于门电路,而一般门电路的延迟都在纳秒级别。与传统DSP相比,系统更加小型化,集成度更高,运行速度更快,同时减少物理连接,因此采用基于FPGA运动控制器实现NURBS插补,可以弥补上面所提到到的缺憾,很好地达到NURBS曲线实时插补和降低系统成本设计维护难度的双重目的。(2)本发明基于FPGA运动控制器的NURBS实时插补器,采样时间可以从传统方法的Ims减少到O. 01ms,伺服控制环可通过改善采样周期,位置跟踪能力可以得到增强。(3)本发明中使用速度的反馈控制原理,使得每一个采样时间内运动的距离是恒定的,该插补方法可以应用在不同速度的场合下。


图I是基于PC-FPGA系统架构的NURBS轨迹插补实现流程; 图2是NURBS轨迹插补实现数据流;图3a、3b是STL文件中三角形面片的单位法矢量扩展,其中图3a原来的STL画面;图3b是法向矢量添加到每个顶点;图4是去除重复冗余点的算法流程图;图5是NURBS实时轨迹插补器原理;图6是速度规划分布;图7是IIR数字滤波;
具体实施例方式下面结合具体实施例对本发明作进一步具体详细描述。实施例如图I、图2所示,基于PC-FPGA的NURBS曲线实时插补方法,包括IPC、FPGA运动控制器、伺服驱动器、工业机器人,三维零件Solidworks模型在IPC上生成离散的数据点后,然后通过以太网通讯模块将数据传送到FPGA运动控制器进行实时NURBS曲线插补计算,输出脉冲串到伺服驱动器,以力矩驱动工业机器人进行协调运动,实现对复杂曲面零件的NURBS曲线插补运动。在IPC上实现的步骤为(I)、IPC根据待喷涂零件CAD/CAM图形特征,将数据坐标系附于喷涂零件的底线中点来生成STL文件;(2)、把STL文件中每一个三角形的单位法矢量附加到其三个顶点上,删除法矢量为负的点;(3 )、从STL文件中依次取出三角形,按照X坐标升序排序,把相同的X坐标的点组成一个局部点组,再把每组的点,按照Y坐标的升序局部排列;(4)、在每个点组里面,把有相同Y坐标的多余点去除;通过比较三角形顶点的坐标值,删除重复的点,从而建立一个无重复点的点表;
(5)、将需要插补的离散控制点集,通过IPC上的工业以太网接口和集成在FPGA硬件电路上的以太网接口,把这些离散控制点集数据传送到FPGA运动控制器的FIFO区;FPGA运动控制器进行以下步骤(I)、通过以太网接口从IPC上下载离散数据点到FIFO进行缓冲存储;(2),NURBS实时插补器根据FIFO区离散控制点进行NURBS曲线插补计算,然后把计算所得以脉冲量形式经IIR数字滤波输出;(3)、编码器模块对工业机器人各轴实际运动位置光电编码器反馈信号进行解码;(4)、IIR数字滤波器结合编码器模块利用PID控制原理,对工业机器人末端进行 位置跟踪;在FPGA运动控制器的NURBS实时插补器中,根据确定曲线参数u逐次迭代
的增量,在相同的采样时间Ts内运动的距离是恒定的,将NURBS曲线等长分割,通过沿
着曲线的运动速度定义和截取泰勒一阶展开式,给出一种迭代求解曲线参数的方法
权利要求
1.一种基于PC-FPGA的NURBS曲线实时插补方法,其特征在于 包括IPC、FPGA运动控制器、伺服驱动器、工业机器人,三维零件Solidworks模型在IPC上生成离散的数据点后,然后通过以太网通讯模块将数据传送到FPGA运动控制器进行实时NURBS曲线插补计算,输出脉冲串到伺服驱动器,以力矩驱动工业机器人进行协调运动,实现对复杂曲面零件的NURBS曲线插补运动。
2.根据权利要求I所述的基于PC-FPGA的NURBS曲线实时插补方法,其特征在于 在IPC上实现的步骤为 (1)、IPC根据待喷涂零件CAD/CAM图形特征,将数据坐标系附于喷涂零件的底线中点来生成STL文件; (2)、把STL文件中每一个三角形的单位法矢量附加到其三个顶点上,删除法矢量为负的点; (3 )、从STL文件中依次取出三角形,按照X坐标升序排序,把相同的X坐标的点组成一个局部点组,再把每组的点,按照Y坐标的升序局部排列; (4)、在每个点组里面,把有相同Y坐标的多余点去除;通过比较三角形顶点的坐标值,删除重复的点,从而建立一个无重复点的点表; (5)、将需要插补的离散控制点集,通过IPC上的工业以太网接口和集成在FPGA硬件电路上的以太网接口,把这些离散控制点集数据传送到FPGA运动控制器的FIFO区; FPGA运动控制器进行以下步骤 (1)、通过以太网接口从IPC上下载离散数据点到FIFO进行缓冲存储; (2),NURBS实时插补器根据FIFO区离散控制点进行NURBS曲线插补计算,然后把计算所得以脉冲量形式经IIR数字滤波器输出; (3)、编码器模块对工业机器人各轴实际运动位置光电编码器反馈信号进行解码; (4)、IIR数字滤波器结合编码器模块利用PID控制原理,对工业机器人末端进行位置跟踪; 在FPGA运动控制器的NURBS实时插补器中,根据确定曲线参数u逐次迭代的增量,在相同的采样时间Ts内运动的距离是恒定的,将NURBS曲线等长分割,通过沿着曲线的运动速度定义和截取泰勒一阶展开式,给出一种迭代求解曲线参数的方法_Vl\ 二~+7^^~’从而实现NURBS曲线插补的速度反馈控制,以适应不同的插补 + y ^ ~ )2速度场合; 根据T形速度规划,工业机器人的电机以一较低的速度Vmin起动,在加速度a下加速到所需要的速度,接近终点时候在减速度a下减速到Vmin,终点时刻最后突然停止,以获得工业机器人的机械手末端运动轨迹和运动效率; 通过计算NURBS曲线的长度,然后根据给定工业机器人的电机起动速度Vmin、工业机器人末端运动速度Vmax和加速度,计算加速以及减速时间与总的运动时间,对任意采样时间区间求出相应的速度Vt; 将Vt代入uk+1迭代公式,得到NURBS曲线相应插补点的坐标(X (uk+1),y (uk+1),z (uk+1)),以脉冲串形式通过IIR数字滤波器进行输出;伺服驱动器接收来自FPGA运动控制器的脉冲串,采用三环控制方式,从里到外分别为电流环、速度环、位置环,以力矩控制模式控制工业机器人的机械本体进行协调运动,最终 实现针对具复杂曲面的零件的NURBS曲线轨迹插补运动。
全文摘要
本发明公开了一种基于PC-FPGA的NURBS曲线实时插补方法,包括IPC、FPGA运动控制器、伺服驱动器、工业机器人,三维零件Solidworks模型在IPC上生成离散的数据点后,然后通过以太网通讯模块将数据传送到FPGA运动控制器进行实时NURBS曲线插补计算,输出脉冲串到伺服驱动器,以力矩驱动工业机器人进行协调运动,实现对复杂曲面零件的NURBS曲线插补运动。本发明最小采样时间可以由1ms降低到0.01ms,从而能够实现工业机器人高速高精度的运动控制要求,可应用于复杂曲面零件的加工。
文档编号G05B19/4103GK102722141SQ201210217490
公开日2012年10月10日 申请日期2012年6月28日 优先权日2012年6月28日
发明者李琳, 王宇林, 邹焱飚 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1