当前位置: 首页 > 专利查询>南开大学专利>正文

一种基于FPGA的机器人模型算法实现方法技术

技术编号:15690040 阅读:70 留言:0更新日期:2017-06-24 02:06
一种基于FPGA的机器人模型算法实现方法,通过FPGA的DMA IP核从上层处理器获得串行数据,通过串并转换模块获得主手操作臂三个旋转关节的角度信息,然后经过FIFO缓存传给机器人模型计算IP核,经过计算得到从手操作臂的三个旋转关节的角度信息,通过并串转换模块得到串行数据,最后通过DMA IP核回传给上层的处理器。本发明专利技术借助System Generator工具实现机器人模型计算模块IP核设计,对所设计的机器人模型进行仿真,以验证所提方法的可行性,本发明专利技术提高了机器人模型算法的处理速度,满足高精度测量的同时,能达到高速实时的需求,具有低功耗、小型化、高速等特点,可应用于实施高精度的机器人控制领域。

A robot model algorithm implementation method based on FPGA

A realization method of the robot model based on FPGA algorithm, serial data obtained from the upper processor through the FPGA DMA nuclear IP, through the serial parallel conversion module to obtain the main hand manipulator three rotating joint angle information, and then through the FIFO cache to the robot model to calculate the IP kernel, through the information from the three hand operation of rotary joint the arm angle is calculated, and the string conversion module by serial data, finally to the top of the processor through the DMA IP nuclear return. The design and calculation module of IP core with System robot model Generator tool, the simulation of robot model design, in order to verify the feasibility of proposed method, the invention improves the processing speed of the robot model algorithm, to meet the high precision measurement at the same time, can achieve high-speed real-time demand, with low power consumption, miniaturization with high speed, the robot control field can be applied to the implementation of high precision.

【技术实现步骤摘要】
一种基于FPGA的机器人模型算法实现方法
本专利技术涉及一种基于FPGA的机器人模型算法的实现方法,特别涉及一种用于主从异构机器人模型计算的FPGA实现技术,属于机器人控制领域。
技术介绍
随着机器人技术的蓬勃发展,机器人正在广泛地应用于汽车、电子、食品等行业代替人类从事重复的劳动。当需要在一些人类难以到达或者危险的环境中完成复杂任务时,普通机器人往往难以胜任,这时主从控制机器人应运而生,主端机器人把操作者的控制命令通过一定的通信手段传输给位于特殊或者危险环境中的从端机器人。研究能广泛应用于此类环境的主从控制机器人是当前机器人领域的一个热门话题。主从控制机器人模型包括主手臂的机器人正运动学和从手操作臂的逆运动学,机器人运动学计算涉及到非线性计算、线性计算,运算量大,用通用计算机或DSP等进行计算时,实时性很难保证,用高性能计算机处来处理成本又非常高。FPGA虽然在速度上与DSP略有差距,但能实现并行结构。最新推出的FPGA器件中,不仅集成有丰富的可配置逻辑块资源,还包括大量面向计算密集应用的DSP单元、块状RAM和高速串行通信单元。因此选择可编程的逻辑器件进行数字信号处理是当今世界的发展趋势。
技术实现思路
本专利技术的目的是为了克服上述现有技术的缺陷,能够在实现机器人模型算法时既能保证实时性又不会成本太高,提出了一种基于FPGA的机器人模型算法的实现方法,该模块全部由硬件描述语言实现,可以提升数据处理运行速度和稳定性以及数据的计算效率,节省开发成本。本专利技术的目的是通过以下技术方案实现的。本专利技术的一种基于FPGA的机器人模型算法实现方法,其实现平台是FPGA,采用硬件描述语言实现,模块输入为上层处理器下传的串行数据流,机器人模型算法模块包括DMA子模块、串并转换子模块、FIFO子模块、机器人模型计算模块、算法使能模块、并串转换模块;首先通过FPGA内的DMA子模块获得上层处理器的主手操作臂各关节的角度信息的串行数据流,并将串行数据流传给FIFO模块,之后串并转换子模块对串行数据流转为并行数据流传入FIFO子模块,之后送入机器人模型计算模块计算从手操作臂各个关节的角度信息,将得到的计算结果送入FIFO进行缓存,同时主手操作臂角度信息的FIFO和从手操作臂角度信息的FIFO的full信号送入算法使能模块用来确定机器人模型计算模块使能时间,最后经过并串转换模块将并行数据转换为串行数据,并且通过DMA模块回传给上层处理器。上述一种基于FPGA的机器人模型算法实现方法,其步骤如下:1)通过FPGA内的DMA子模块获得上层处理器的主手操作臂各关节的角度信息的串行数据流,并将串行数据流传给FIFO模块;2)经过FIFO子模块缓存后送入串并转换子模块;3)串并转换子模块对步骤2)生成的串行数据流转为并行数据流传入FIFO子模块;4)经过FIFO子模块缓存步骤3)的数据后送入机器人模型计算子模块;5)机器人模型计算子模块利用SystemGenerator工具建立,其实现的功能为实现主手操作臂正运动学和从手操作臂逆运动学,将计算得到的从手操作臂的关节角度信息送入FIFO子模块;6)经过FIFO子模块缓存步骤5)的数据后送入并串转化子模块;7)步骤4)和步骤6)的FIFO的full信号送入算法使能模块;8)算法使能模块用来控制算法计算模块的使能;9)并串转换模块对步骤6)的并行数据进行处理得到串行数据流,并传入DMA模块;10)通过DMA模块将步骤9)的数据回传给上层处理器;上述DMA模块用于实现上层处理器和FPGA内的大数据交互,能大幅度提高数据交互的速度,从而提高系统的实时性。上述FIFO模块用于对数据缓存,对提高系统的性能有很大的作用,并且能防止数据的丢失。上述机器人模型计算模块包括反余弦计算模块、延时子模块、基本四则运算模块,设计步骤包括:在Matlab/Simulink软件环境中设计机器人模型计算模块的Simulink模型文件;完成模型文件设计后,利用Simulink的图形仿真工具,对设计的模型文件进行仿真;在模型文件的设计时添加SystemGenerator模块,利用该模块,将会把Simulink中设计好的.mdl文件转换成.vhdl格式的verilog程序,生成的.vhdl文件用于RTL级设计;对转换生成的VHDL的程序代码和RTL设计代码以及仿真文件在Vivado软件中进行仿真实验;经过仿真实验验证了代码的准确性,进而对verilog程序代码进行综合编译,布局布线,生成相应的硬件下载配置文件,将配置文件下载到FPGA器件上完成硬件验证。上述反余弦计算模块由输入正负判断、反余弦查找表、线性插值、输出量化四部分组成,通过输入判断模块来确定输入的正负;将输入值进行缩放,使其值在反余弦查找表的地址范围内,并且通过查表获得相邻两个地址对应的反余弦值;经过线性插值模块进行拟合获得对应输入的反余弦值;通过输出量化模块并结合正负信息,得到最终的反余弦值。有益效果是:本专利技术提出了一种基于FPGA的机器人模型算法实现方法,提高了机器人模型算法的处理速度,该算法模块应用于主从控制机器人领域,在满足高精度测量的同时,还能达到高速实时的需求,同时具有低功耗、小型化、高速等特点,可应用于实施高精度的机器人控制领域,尤其是主从控制领域。附图说明图1为基于FPGA的机器人模型算法实现方法总体框图;图2为串并转换模块实现框图;图3为机器人模型计算模块总体框图;图4为反余弦计算模块实现框图;图5为主手机器人正运动学计算模块实现框图;图6为算法使能模块实现框图;图7为FPGA计算结果与理想结果对比图;图8为FPGA计算结果与理想结果误差图;具体实施方式下面结合附图和实施例对本专利技术进一步说明一种基于FPGA的机器人模型算法实现方法,其实现平台是FPGA,采用硬件描述语言实现,模块输入为上层处理器下传的串行数据流,如图1所示,机器人模型算法模块包括DMA子模块、串并转换子模块、FIFO子模块、机器人模型计算模块、算法使能模块、并串转换模块。首先通过FPGA内的DMA子模块获得上层处理器的主手操作臂各关节的角度信息的串行数据流,并将串行数据流传给FIFO模块,之后串并转换子模块对串行数据流转为并行数据流传入FIFO子模块,之后送入机器人模型计算模块计算从手操作臂各个关节的角度信息,将得到的计算结果送入FIFO进行缓存,同时主手操作臂角度信息的FIFO和从手操作臂角度信息的FIFO的full信号送入算法使能模块用来确定机器人模型计算模块使能时间,最后经过并串转换模块将并行数据转换为串行数据,并且通过DMA模块回传给上层处理器。上述一种基于FPGA的机器人模型算法实现方法,其步骤如下:1)通过FPGA内的DMA子模块获得上层处理器的主手操作臂各关节的角度信息的串行数据流,并将串行数据流传给FIFO模块;2)经过FIFO子模块缓存后送入串并转换子模块;3)串并转换子模块对步骤2)生成的串行数据流转为并行数据流传入FIFO子模块;4)经过FIFO子模块缓存步骤3)的数据后送入机器人模型计算子模块;5)机器人模型计算子模块利用SystemGenerator工具建立,其实现的功能为实现主手操作臂正运动学和从手操作臂逆运动学,将计算得到的从手操作臂的关节角度信息本文档来自技高网...
一种基于FPGA的机器人模型算法实现方法

【技术保护点】
一种基于FPGA的机器人模型算法实现方法,其实现平台为FPGA,采用硬件描述语言实现,模块输入为上层处理器传来的串行数据流,其特征在于,机器人模型算法模块包括DMA子模块、串并转换子模块、FIFO子模块、机器人模型计算模块、算法使能模块、并串转换模块:其步骤如下:1)通过FPGA内的DMA子模块获得上层处理器的主手操作臂各关节的角度信息的串行数据流,并将串行数据流传给FIFO模块;2)经过FIFO子模块缓存后送入串并转换子模块;3)串并转换子模块对步骤2)生成的串行数据流转为并行数据流传入FIFO子模块;4)经过FIFO子模块缓存步骤3)的数据后送入机器人模型计算子模块;5)机器人模型计算子模块利用System Generator工具建立,其实现的功能为实现主手操作臂正运动学和从手操作臂逆运动学,将计算得到的从手操作臂的关节角度信息送入FIFO子模块;6)经过FIFO子模块缓存步骤5)的数据后送入并串转化子模块;7)步骤4)和步骤6)的FIFO的full信号送入算法使能模块;8)算法使能模块用来控制算法计算模块的使能;9)并串转换模块对步骤6)的并行数据进行处理得到串行数据流,并传入DMA模块;10)DMA模块将步骤9)的数据回传给上层处理器。...

【技术特征摘要】
1.一种基于FPGA的机器人模型算法实现方法,其实现平台为FPGA,采用硬件描述语言实现,模块输入为上层处理器传来的串行数据流,其特征在于,机器人模型算法模块包括DMA子模块、串并转换子模块、FIFO子模块、机器人模型计算模块、算法使能模块、并串转换模块:其步骤如下:1)通过FPGA内的DMA子模块获得上层处理器的主手操作臂各关节的角度信息的串行数据流,并将串行数据流传给FIFO模块;2)经过FIFO子模块缓存后送入串并转换子模块;3)串并转换子模块对步骤2)生成的串行数据流转为并行数据流传入FIFO子模块;4)经过FIFO子模块缓存步骤3)的数据后送入机器人模型计算子模块;5)机器人模型计算子模块利用SystemGenerator工具建立,其实现的功能为实现主手操作臂正运动学和从手操作臂逆运动学,将计算得到的从手操作臂的关节角度信息送入FIFO子模块;6)经过FIFO子模块缓存步骤5)的数据后送入并串转化子模块;7)步骤4)和步骤6)的FIFO的full信号送入算法使能模块;8)算法使能模块用来控制算法计算模块的使能;9)并串转换模块对步骤6)的并行数据进行处理得到串行数据流,并传入DMA模块;10)DMA模块将步骤9)的数据回传给上层处理器。2.根据权利要求1所述的一种基于FPGA的机器人模型算法实现方法,其特征在于,所述DMA模块用于实现上层处理器和FPGA内的大数据交互,能大幅度提高数据交互的速度,从而提高系统的实时性。3.根据权利要求1所述的一种基于FPGA的机器人模型算法实现方法,其特征...

【专利技术属性】
技术研发人员:张建勋张绕代煜
申请(专利权)人:南开大学
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1