CN107168157A - 基于双cpu+fpga的开放式工业机器人控制器架构 - Google Patents
基于双cpu+fpga的开放式工业机器人控制器架构 Download PDFInfo
- Publication number
- CN107168157A CN107168157A CN201710348795.9A CN201710348795A CN107168157A CN 107168157 A CN107168157 A CN 107168157A CN 201710348795 A CN201710348795 A CN 201710348795A CN 107168157 A CN107168157 A CN 107168157A
- Authority
- CN
- China
- Prior art keywords
- fpga
- control
- interface
- cpu
- industrial robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25431—Dual Port memory
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本发明公开了一种基于双CPU+FPGA的开放式工业机器人控制器架构。主CPU通过调用可重构标准功能库,实现工业机器人的产品应用,辅CPU通过数据共享,既可实现产品的补偿控制,也可全部接管机器人的控制,用于算法研究和功能模块开发,达到分级高度开放的目标。由于共享数据采用同一地址编码,辅CPU程序可以生成被主CPU程序直接执行的机器代码,实现功能模块的快速移植和重构。FPGA中设计的双端口RAM结构具有两套完全独立的数据线、地址线和读写控制线,可使两个CPU分时独立访问其内部RAM资源,并且双CPU同时访问时的仲裁逻辑电路全部集成在双端口RAM内部,简化了电路的设计。
Description
技术领域
本发明属于工业机器人控制技术领域,具体涉及一种基于双CPU+FPGA的开放式工业机器人控制器架构的设计与实现。
背景技术
开放式工业机器人控制器对机器人技术的应用和研究具有重要促进作用。在应用方面,现代制造业对工业机器人提出了更高的要求,需要其在生产过程中具有更多的柔性和更易用的编程环境,适应不同的应用场合和多品种小批量的生产。这些都要求机器人控制器具有开放性,能够方便地接入用户自己的外部设备,并进行工艺流程控制程序的开发。而在研究方面,对机器人控制器的开放性需求更为迫切,研究人员希望有一个开放式的机器人控制器,能够在上面集成各种外部传感器并进行控制算法的开发以提高机器人***的性能和智能水平。
然而,目前商品化的机器人***均采用封闭结构的专用控制器,一般采用专用计算机作为上层主控计算机,使用专用机器人语言作为离线编程工具,采用专用微处理器,并将控制算法固化在EEPROM中,这种专用***很难集成外部硬件,而且修改封闭***的代价是非常昂贵的,如果不进行重新设计,多数情况下技术上是不可能的。解决这些问题的根本办法是研究和开发开放结构的机器人控制器。
发明内容
为了克服机器人专用控制器的封闭性问题,本发明提出了一种基于双CPU+FPGA的开放式工业机器人控制器架构的设计和实现方法。主CPU通过调用可重构标准功能库,实现工业机器人的产品应用,通过***重构和二次开发,实现特殊工艺要求;辅CPU通过数据共享,既可实现产品的补偿控制,也可全部接管机器人的控制,用于算法研究和功能模块开发,达到分级高度开放的目标。由于共享数据采用同一地址编码,辅CPU程序可以生成被主CPU程序直接执行的机器代码,实现功能模块的快速移植和重构。FPGA芯片引脚数量多,可为各种外部设备提供接口,同时又能方便地进行时序电路的设计。FPGA中设计的双端口RAM结构具有两套完全独立的数据线、地址线和读写控制线,可使两个CPU分时独立访问其内部RAM资源,并且双CPU同时访问时的仲裁逻辑电路全部集成在双端口RAM内部,简化了电路的设计。
为达到上述目的,本发明所述的基于双CPU+FPGA架构的开放式工业机器人控制器的实现方法主要包括以下步骤:
1)搭建开放式机器人控制器的外部接口电路,包括HMI接口、扩展通讯接口、JTAG接口、以太网/工业现场总线接口、传感器接口、DI/DO/AI/AO/PLC接口、伺服总线接口。HMI接口,用于连接手持编程示教器或者PC编程示教器到主CPU;扩展通讯接口,用于连接外部扩展设备/ROS-I等到FPGA;JTAG接口,用于从PC端下载程序到辅CPU;以太网/工业现场总线接口,用于连接PC至辅CPU;传感器接口,用于连接各种外部传感器到FPGA;DI/DO/AI/AO/PLC接口,用于连接外部I/O至FPGA;伺服总线接口,用于连接伺服单元至FPGA。
2)FPGA内部扩展总线控制模块与扩展通讯接口相连接,FPGA内部存储器接口控制模块与RAM/ROM存储器相连接,FPGA内部IO控制接口模块与DI/DO/AI/AO/PLC接口相连接,FPGA内部传感器接口控制模块与传感器接口相连接,FPGA内部运动控制接口模块与高速伺服总线接口相连接。内部总线包括内部总线A和内部总线B以及相应的总线控制器,内部总线A将各控制模块与主CPU相连接;内部总线B将各控制模块与辅CPU相连接。
3)在主CPU和辅CPU中搭建***软件。主CPU和辅CPU的***软件均采用实时分层控制和模块化设计方法,将软件划分为不同功能模块。***软件通过定时器,实现实时性分级控制,最小控制周期250μs,实现运动控制的高实时性和同步性,并按实时性分为多种***模块,可方便实现机器人控制***的重构,根据不同用户要求,实现分级开放,主CPU具有可重构的控制功能库,采用定制调度方式,提高***稳定性和可靠性,通过参数设置实现控制功能选择,适应不同的工艺和特殊控制要求,辅CPU辅CPU的所有端口向用户开放,可实现底层控制软件的重构,添加或替换原控制模块,实现高度开放。
本发明具有以下有益效果:
在本发明提出的基于双CPU+FPGA架构的开放式工业机器人控制器的实现方法中,主CPU可通过软件控制模块库,实现机器人的常规运动控制功能,可通过开放式软件平台实现***重构、特殊功能模块设计、二次开发等,实现低等级的开放,降低开发难度,满足机器人产品的可靠性、灵活性和经济性要求。辅CPU的所有端口向用户开放,用于高级开发、性能测试、功能扩展等,通过主CPU设置相关参数,辅CPU可接管整个***的控制,也可在主CPU控制的基础上实现运动的附加控制(如补偿,前馈等),由于和主CPU共享***变量(如位置、速度、电流、控制参数和控制输出),还可以实现***运动控制特性的在线测试、故障诊断以及功能扩展等,由于共享数据采用同一地址编码,辅CPU程序可以生成被主CPU程序直接执行的机器代码,实现功能模块的快速移植和重构。
附图说明
图1为本发明中开放式机器人控制器硬件总体架构。
图2为本发明中双端口开放式机器人控制器FPGA结构原理图。
图3为本发明中开放式机器人控制***双端口运动控制模块结构原理图。
具体实施方式
下面结合附图对本发明做进一步详细描述:
本发明所述的基于FPGA和双端口RAM的开放式双CPU机器人控制器的实现方法,主要包括以下步骤:
1)搭建开放式机器人控制器的外部接口电路。包括HMI接口,用于连接手持编程示教器或者PC编程示教器到主CPU;扩展通讯接口,用于连接外部扩展设备/ROS-I等到FPGA;JTAG接口,用于从PC端下载程序到辅CPU;以太网/工业现场总线接口,用于连接PC至辅CPU;传感器接口,用于连接各种外部传感器到FPGA;DI/DO/AI/AO/PLC接口,用于连接外部I/O至FPGA;伺服总线接口,用于连接伺服单元至FPGA。通过各种外部接口电路满足机器人控制器开放性的要求,方便各种通讯方式的建立和各种传感器、I/O设备、伺服单元的接入。以FPGA作为桥梁连接主/辅CPU和外部接口电路,通过FPGA及其双端口RAM块,实现两个CPU的数据共享和协同控制。
2)在FPGA中搭建接口控制模块和内部总线。接口控制模块包括与扩展通讯接口相连的扩展总线控制模块,与RAM/ROM相连的存储器接口控制模块,与DI/DO/AI/AO/PLC接口相连的IO控制接口模块,与传感器接口相连的传感器接口控制模块,与高速伺服总线接口相连的运动控制接口模块。内部总线包括内部总线A和内部总线B以及相应的总线控制器,内部总线A将各控制模块与主CPU相连,并由内部总线控制器A控制;内部总线B将各控制模块与辅CPU相连,并由内部总线控制器B控制。内部总线A与内部总线B通过双端口RAM块共享***反馈变量,各控制模块均采用双端口设计,并在两个CPU中采用相同的地址编码,为程序移植提供方便。
3)在主CPU和辅CPU中搭建***软件。主CPU和辅CPU的***软件均采用实时分层控制和模块化设计方法,将软件划分为不同功能模块。***软件通过定时器,实现实时性分级控制,最小控制周期250μs,实现运动控制的高实时性和同步性,并按实时性分为多种***模块,可方便实现机器人控制***的重构,根据不同用户要求,实现分级开放,主CPU具有可重构的控制功能库,采用定制调度方式,提高***稳定性和可靠性,通过参数设置实现控制功能选择,适应不同的工艺和特殊控制要求,辅CPU辅CPU的所有端口向用户开放,可实现底层控制软件的重构,添加或替换原控制模块,实现高度开放。
实施例一
参考图1,以接口扩展为例对控制器的开放性进行说明。ROS-I扩展接口实施方案:ROS-I的Controller Layer是机器人控制器的生产厂商接口层,通过本层接口和TCP协议,就可实现trajectory消息由上层ROS-I传送到底层控制器。通过设计解析程序,可以生成相应的位置控制指令,进而实现机器人的控制。这部分接口和功能,可以由控制器的辅CPU实现,为ROS-I提供硬件控制器平台,既可以和主CPU控制部分进行对比研究,也可以充分利用ROS-I的研究成果,提高控制器性能。工业总线扩展接口实施方案:EtherCAT、POWERLINK、PROFINET等工业总线采用以太网物理接口,只是通信协议不同,本控制器设计2个以太网接口,连接到FPGA,通过FPGA编程,实现对不同总线链路层协议的支持,通过软件解析,实现与这些总线的通信。传感器扩展接口实施方案:市场上触觉、视觉、力、语音等常用感知传感器接口和通信协议均有不同,对常用传感器的输出信号电气特性以及接线方式进行分类,提供常用数字总线标准接口:RS485接口、CAN总线接口等,采用标准的串口协议或CAN协议,实现多模态感知信号的接入。
实施例二
参考图2及图3,以性能测试及仿真技术为例对控制器的开放性进行说明。基于内置信号的测试***开放式接口技术实施方案:由于本控制器采用双CPU结构,主要控制参数、控制变量和***反馈数据共享。辅CPU可按伺服控制周期捕获机器人控制***内部全部共享信号,包括:主CPU的各控制环输出、电机位置、速度、电流等反馈信息以及机器人末端姿位信息,利用同步插补控制信号作为信号采集的触发信号,可实现最高采集频率为4KHz的数据采集,并通过以太网接口和PC实现实时通信,最高通信速度设计为1KHz;通过设计PC端上位机软件,采用高速数据缓存技术,实现数据的采集和存储,构建高实时在线测试***,实现运动过程特征数据的采样,研究控制器内部信号、参数对工业机器人性能的评价方法,构建机器人运动性能测试与分析***,为机器人运动特性分析、算法研究、标定、故障诊断等提供基础。将以太网通信协议开放,可以支持第三方应用开发。快速原型仿真技术实施方案:MATLAB的Simulink是一种常用的用于控制算法研究的工具,通过以太网接口将辅CPU和PC相连,通过研究MATLAB的硬件支持及通信接口技术,设计PC应用程序,将Simulink生成的算法代码,自动调用相应的编译工具,生成机器码,通过以太网传输到辅CPU的特定存储位置,并控制该程序的调用。辅CPU的程序设计采用定时中断结构,并机器人基本反馈模块,读入常用变量,通过接受PC程序数据,读入到特定位置,再将中断向量指向该位置,实现控制算法的定时中断执行。
Claims (4)
1.基于双CPU+FPGA的开放式工业机器人控制器架构,其特征在于,所述架构包括:
外部接口电路与主/辅CPU、FPGA的连接,FPGA内部控制模块与主/辅CPU以及外部接口电路的连接,在主CPU和辅CPU中搭建模块化***软件。
2.根据权利要求1所述的一种基于双CPU+FPGA的开放式工业机器人控制器架构,其特征在于,外部接口电路包括HMI接口、扩展通讯接口、JTAG接口、以太网/工业现场总线接口、传感器接口、DI/DO/AI/AO/PLC接口、伺服总线接口。
3.根据权利要求1所述的一种基于双CPU+FPGA的开放式工业机器人控制器架构,其特征在于,FPGA内部控制模块与主/辅CPU以及外部接口电路的连接;
FPGA内部扩展总线控制模块与扩展通讯接口相连接,FPGA内部存储器接口控制模块与RAM/ROM存储器相连接,FPGA内部IO控制接口模块与DI/DO/AI/AO/PLC接口相连接,FPGA内部传感器接口控制模块与传感器接口相连接,FPGA内部运动控制接口模块与高速伺服总线接口相连接,内部总线包括内部总线A和内部总线B以及相应的总线控制器,内部总线A将各控制模块与主CPU相连接;内部总线B将各控制模块与辅CPU相连接。
4.根据权利要求1所述的一种基于双CPU+FPGA的开放式工业机器人控制器架构,其特征在于,在主CPU和辅CPU中搭建模块化***软件:
主CPU和辅CPU的***软件均采用实时分层控制和模块化设计方法,将软件划分为不同功能模块,***软件通过定时器,实现实时性分级控制,最小控制周期250μs,主CPU具有可重构的控制功能库,采用定制调度方式,提高***稳定性和可靠性,通过参数设置实现控制功能选择,辅CPU的所有端口向用户开放,可实现底层控制软件的重构,添加或替换原控制模块,实现高度开放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710348795.9A CN107168157A (zh) | 2017-05-17 | 2017-05-17 | 基于双cpu+fpga的开放式工业机器人控制器架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710348795.9A CN107168157A (zh) | 2017-05-17 | 2017-05-17 | 基于双cpu+fpga的开放式工业机器人控制器架构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107168157A true CN107168157A (zh) | 2017-09-15 |
Family
ID=59815433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710348795.9A Pending CN107168157A (zh) | 2017-05-17 | 2017-05-17 | 基于双cpu+fpga的开放式工业机器人控制器架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107168157A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688313A (zh) * | 2017-09-27 | 2018-02-13 | 上海焕巍智能科技有限公司 | 一种开放式工业机器人控制器 |
CN108173734A (zh) * | 2018-01-02 | 2018-06-15 | 杭州和利时自动化有限公司 | 一种分布式控制***内部总线通讯***及方法 |
CN109947019A (zh) * | 2019-03-27 | 2019-06-28 | 中国铁道科学研究院集团有限公司 | 列车网络输入输出***的处理装置及并行工作控制方法 |
CN110362017A (zh) * | 2019-08-02 | 2019-10-22 | 上海电气集团股份有限公司 | 一种机器人的控制*** |
CN110687854A (zh) * | 2019-11-05 | 2020-01-14 | 杭州和利时自动化有限公司 | 一种pa总线控制器以及一种pa总线控制*** |
CN112327692A (zh) * | 2020-11-02 | 2021-02-05 | 珠海格力电器股份有限公司 | SoC芯片、伺服驱动器、伺服驱动器的控制方法及装置 |
CN113075896A (zh) * | 2021-04-01 | 2021-07-06 | 长春工业大学 | 一种基于fpga的工业以太网控制器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6330485B1 (en) * | 1999-02-03 | 2001-12-11 | Industrial Technology Research Institute | High-speed multi-task system |
CN1808319A (zh) * | 2005-12-13 | 2006-07-26 | 天津大学 | 基于两级dsp的并联装备开放式运动控制卡及控制方法 |
CN201663664U (zh) * | 2010-03-17 | 2010-12-01 | 浙江机电职业技术学院 | 双cpu结构的网络视频服务器 |
CN103744353A (zh) * | 2012-10-24 | 2014-04-23 | 常州铭赛机器人科技有限公司 | 运动控制***及运动控制方法 |
CN105548777A (zh) * | 2016-01-27 | 2016-05-04 | 成都府河电力自动化成套设备有限责任公司 | 基于双cpu并行录波存储的故障录波装置 |
-
2017
- 2017-05-17 CN CN201710348795.9A patent/CN107168157A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6330485B1 (en) * | 1999-02-03 | 2001-12-11 | Industrial Technology Research Institute | High-speed multi-task system |
CN1808319A (zh) * | 2005-12-13 | 2006-07-26 | 天津大学 | 基于两级dsp的并联装备开放式运动控制卡及控制方法 |
CN201663664U (zh) * | 2010-03-17 | 2010-12-01 | 浙江机电职业技术学院 | 双cpu结构的网络视频服务器 |
CN103744353A (zh) * | 2012-10-24 | 2014-04-23 | 常州铭赛机器人科技有限公司 | 运动控制***及运动控制方法 |
CN105548777A (zh) * | 2016-01-27 | 2016-05-04 | 成都府河电力自动化成套设备有限责任公司 | 基于双cpu并行录波存储的故障录波装置 |
Non-Patent Citations (1)
Title |
---|
林瀚: "《基于DSP+FPGA的开放式机器人运动控制器的研究》", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688313A (zh) * | 2017-09-27 | 2018-02-13 | 上海焕巍智能科技有限公司 | 一种开放式工业机器人控制器 |
CN108173734A (zh) * | 2018-01-02 | 2018-06-15 | 杭州和利时自动化有限公司 | 一种分布式控制***内部总线通讯***及方法 |
CN108173734B (zh) * | 2018-01-02 | 2021-03-23 | 杭州和利时自动化有限公司 | 一种分布式控制***内部总线通讯***及方法 |
CN109947019A (zh) * | 2019-03-27 | 2019-06-28 | 中国铁道科学研究院集团有限公司 | 列车网络输入输出***的处理装置及并行工作控制方法 |
CN110362017A (zh) * | 2019-08-02 | 2019-10-22 | 上海电气集团股份有限公司 | 一种机器人的控制*** |
CN110687854A (zh) * | 2019-11-05 | 2020-01-14 | 杭州和利时自动化有限公司 | 一种pa总线控制器以及一种pa总线控制*** |
CN112327692A (zh) * | 2020-11-02 | 2021-02-05 | 珠海格力电器股份有限公司 | SoC芯片、伺服驱动器、伺服驱动器的控制方法及装置 |
CN113075896A (zh) * | 2021-04-01 | 2021-07-06 | 长春工业大学 | 一种基于fpga的工业以太网控制器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107168157A (zh) | 基于双cpu+fpga的开放式工业机器人控制器架构 | |
CN106502095B (zh) | 一种多工业机器人的协同控制方法 | |
US20190213152A1 (en) | Software-defined device interface system and method | |
Drath et al. | AutomationML-the glue for seamless automation engineering | |
CN107695775B (zh) | 基于cps的重型数控机床热误差补偿控制***及热误差补偿方法 | |
Latif et al. | A review of G code, STEP, STEP-NC, and open architecture control technologies based embedded CNC systems | |
US8250343B2 (en) | Axial motion control processing by multiple cores respectively executing each of a sequence of functions in parallel for respective portions of a motion system | |
US20130131833A1 (en) | Method, computer program, computer-readable medium and processing unit for controlling field devices | |
CN103905410A (zh) | 一种将自定义协议转换成Modbus协议的多路通讯协议转换器 | |
CN115857883A (zh) | 工业控制软件开发方法、装置和计算设备 | |
CN112631196B (zh) | 一种基于plc的高速数据采集与控制*** | |
CN103914378A (zh) | 数字化星载姿控软件测试平台 | |
CN109033279A (zh) | 一种数据处理方法及模块、计算平台及工业物联网 | |
Ivanova et al. | Multifunctional Operating Station Based on Tcl/Tk and Its Applications | |
CN110597191A (zh) | 一种工业控制云服务*** | |
CN206489436U (zh) | 一种新型的plc控制器 | |
CN104724131B (zh) | 集成kw平台的列车空调控制器 | |
CN110032115B (zh) | 一种利用近场连接实时交互的物联网控制***及控制方法 | |
Wang et al. | Development of a distributed control system for PLC-based applications | |
JP4013250B2 (ja) | Opc通信ステーション | |
Ambra et al. | The design of a high performance modular CNC system architecture | |
CN106774032A (zh) | 一种基于arm和视觉识别的仪表转换装置及其实现方法 | |
CN108197068A (zh) | 嵌入式实时数据采集和存储***及其方法 | |
CN106657417A (zh) | 基于b/s架构的人机界面***及工业控制器 | |
Minhat et al. | STEPNCMillUoA: a CNC system based on STEP-NC and Function Block architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170915 |
|
WD01 | Invention patent application deemed withdrawn after publication |