CN109062841A - 工业机器人控制架构及应用该架构的数据交互方法 - Google Patents
工业机器人控制架构及应用该架构的数据交互方法 Download PDFInfo
- Publication number
- CN109062841A CN109062841A CN201810892504.7A CN201810892504A CN109062841A CN 109062841 A CN109062841 A CN 109062841A CN 201810892504 A CN201810892504 A CN 201810892504A CN 109062841 A CN109062841 A CN 109062841A
- Authority
- CN
- China
- Prior art keywords
- dsp
- data
- main
- servo
- master control
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
Abstract
本发明公开了一种工业机器人控制架构,包括主控系统和伺服系统,所述主控系统和所述伺服系统通过双口RAM进行数据交互,所述伺服系统包括主DSP和从DSP,所述主DSP和所述从DSP之间通过SPI总线进行数据交互,所述主DSP与双口RAM之间、主控系统与双口RAM之间均通过并行总线进行数据交互;本发明还公开了一种基于该工业机器人控制架构的数据交互方法;本发明在硬件架构上体积小,而且数据交互的实时性强。
Description
技术领域
本发明涉及机器人技术领域,特别是一种工业机器人控制架构及应用该架构的数据交互方法。
背景技术
目前的工业机器人一般有控制系统和伺服系统两个部分,控制系统负责机器人的运动轨迹规划等功能,伺服系统负载提供执行控制系统下发的指令控制电机精确运行。传统的控制系统与伺服系统之间数据交互有脉冲方式、串口总线方式、Ethercat总线等方式。脉冲方式容易受到干扰,且交互数据过于单一,不利于提高工业机器人的性能,串口总线方式数据交互速率不高,因此数据更新周期较低,Ethercat总线方式协议过于复杂开发周期长,且Ethercat芯片价格偏贵,以上因素均制约了提高工业机器人的性能。
发明内容
为解决现有技术中存在的问题,本发明的目的是提供一种工业机器人控制架构及应用该架构的数据交互方法,本发明在硬件架构上体积小,而且数据交互的实时性强。
为实现上述目的,本发明采用的技术方案是:一种工业机器人控制架构,包括主控系统和伺服系统,所述主控系统和所述伺服系统通过双口RAM进行数据交互,所述伺服系统包括主DSP和从DSP,所述主DSP和所述从DSP之间通过SPI总线进行数据交互,所述主DSP与双口RAM之间、主控系统与双口RAM之间均通过并行总线进行数据交互。
作为一种优选的实施方式,所述主控系统基于X86架构或ARM架构。
作为另一种优选的实施方式,所述主控系统和伺服系统在电路板上通过插针连接。
一种应用上述工业机器人控制架构的数据交互方法,包括以下步骤:
a、同步主控系统和伺服系统之间的时钟;
b、主控系统与双口RAM之间进行数据交互;
c、主DSP和双口RAM之间进行数据交互;
d、从DSP和双口RAM之间进行数据交互。
作为一种优选的实施方式,所述步骤a包括以下步骤:
a1、同步主控系统的CPU和伺服系统中主DSP之间的时钟:主控系统和伺服系统上电启动后,主控系统通过定时向主DSP的主中断时间模块发送同步信号完成主控系统的CPU和伺服系统中主DSP之间的时钟同步;
a2、同步伺服系统中从DSP和主DSP之前的时钟:伺服系统上电启动后,主DSP通过定时向从DSP的主中断时钟模块发送同步信号完成主DSP和从DSP之间的时钟同步。
作为另一种优选的实施方式,所述步骤c包括以下步骤:
c1、主DSP启动其DMA通道1抓取双口RAM中工业机器人其中一部分控制轴的控制数据并启动DMA通道3通过SPI总线通知从DSP抓取工业机器人剩余部分控制轴的控制数据;
c2、主DSP启动其DMA通道2返回其抓取的控制轴的数据到双口RAM中,完成主DSP与双口RAM的全双工交互。
作为另一种优选的实施方式,所述步骤d包括以下步骤:
d1、从DSP启动其DMA通道1抓取通过SPI总线实时发送的工业机器人剩余部分控制轴的控制数据;
d2、从DSP启动其DMA通道2并通过SPI总线返回其抓取的控制数据到主DSP的DMA通道4中;
d3、主DSP启动其DMA通道4将从DSP抓取的控制数据返回到双口RAM中,完成从DSP与双口RAM的全双工交互。
作为另一种优选的实施方式,所述主控系统与主DSP之间设置为读写互锁模式。
本发明的有益效果是:
本发明公开了一种工业机器人控制架构及应用该架构的数据交互方法,双口RAM交互方式能大大提高数据交互的带宽,能够大大提高控制系统和伺服系统之间数据交互信息量。独特的双口RAM、主DSP与从DSP之间的数据交互方式和同步机制能够保证主控系统和伺服系统之间的数据交互强实时性。本发明经过在八轴工业机器人上测试,数据交互量为512字节,数据交互周期为1ms,数据实时误差为正负10us,为提高工业机器人的性能提供了更多可能性。
附图说明
图1为本发明实施例中控制架构的结构示意图;
图2为本发明实施例中主控系统与双口RAM之间数据交互的流程框图;
图3为本发明实施中主DSP与双口RAM之间数据交互的流程框图;
图4为本发明实施中从DSP与双口RAM之间数据交互的流程框图;
附图标记:
10、主控系统,20、双口RAM,30、伺服系统,31、主DSP,32、从DSP。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
实施例
工业机器人一般包含机器人本体的六自由度运动关节对应的六轴和两个外部轴(行走轴和变位机)共八轴,本实施例以此类工业机器人为例,首先阐述该工业机器人的控制架构(如图1所示):主要包括基于X86或者ARM架构的主控系统10和基于双DSP的伺服系统30,且主控系统10和伺服系统30通过插针连接,系统集成度高,有利于缩小整个架构的体积;伺服系统30包括主DSP31和从DSP32,控制系统10负责机器人的总体运动轨迹规划,伺服系统30的主DSP31负责机器人1-4轴的电机运动控制,从DSP32负责机器人5-8轴的电机运动控制;主控系统10通过双口RAM20与伺服系统30交互数据,伺服系统30的主DSP31和从DSP32之间通过SPI总线交互数据。
由于主控系统10和伺服系统30的数据交互的实时性要求较高,因此需要设计严格的时序和数据交互方式来保证数据的实时性和准确性。双口RAM20采用并行总线进行交互数据,数据总线可扩展至32位,地址总线可扩展至23位,可工作在同步模式和异步模式。采用并行总线进行数据具有交互速率高的优点,本架构中最高可达到200M的传输速率,因此能够极快的进行数据交互。主DSP31和从DSP32之间通过SPI总线交互数据,SPI总线是一种高速的串行总线,本架构中SPI总线最高可工作在20M的传输速率。
下面,对应用该工业机器人控制架构的数据交互方法进行阐述:包括以下步骤:
a、同步主控系统和伺服系统之间的时钟(如图2、图3和图4所示),具体步骤如下:
a1、同步主控系统的CPU和伺服系统中主DSP之间的时钟:主控系统和伺服系统上电启动后,主控系统通过定时向主DSP的主中断时间模块发送同步信号并判断主控系统的CPU与主DSP之间的时钟是否同步,如果不同步则主控系统继续向主DSP的主中断时间模块发送同步信号直至主控系统的CPU和伺服系统中主DSP之间的时钟同步;
a2、同步伺服系统中从DSP和主DSP之前的时钟:伺服系统上电启动后,主DSP通过定时向从DSP的主中断时钟模块发送同步信号并判断主DSP与从DSP之间的时钟是否同步,如果不同步则主DSP继续向从DSP的主中断时间模块发送同步信号直至主DSP和从DSP之间的时钟同步。
b、主控系统与双口RAM之间进行数据交互(如图2所示);
c、主DSP和双口RAM之间进行数据交互(如图3所示),具体步骤如下:
c1、主DSP启动其DMA通道1抓取双口RAM中工业机器人1-4轴的控制数据并启动DMA通道3通过SPI总线通知从DSP抓取工业机器人5-8轴的控制数据;
c2、主DSP启动其DMA通道2返回其抓取的1-4轴的数据到双口RAM中,完成主DSP与双口RAM的全双工交互。
d、从DSP和双口RAM之间进行数据交互(如图2和图3所示),具体步骤如下:
d1、从DSP启动其DMA通道1抓取通过SPI总线实时发送的工业机器人5-8轴的控制数据;
d2、从DSP启动其DMA通道2并通过SPI总线返回5-8轴的控制数据到主DSP的DMA通道4中;
d3、主DSP启动其DMA通道4将从DSP抓取的5-8轴的控制数据返回到双口RAM中,完成从DSP与双口RAM的全双工交互。
该数据交互方法的具体原理如下:
为了保证数据交互的实时性,主控系统和伺服系统的主DSP之间首先需要上电同步主控系统的CPU和主DSP之间的时钟,从而保证主控系统的CPU和主DSP能够工作在同一个时钟下面,保证数据抓取和回传时间点的准确性。主DSP和从DSP之间通过同步端口实时同步主DSP和从DSP的时间周期,保证从DSP与主DSP和主控系统的CPU之间的时间同步;为了保证数据的完整性,主控系统和主DSP之间需要设置为读写互锁模式,即主控系统在写的时候伺服系统不可读,伺服系统在写的时候主控系统不能读。
主控系统的CPU和伺服系统的主DSP的时钟同步:由于两个系统从上电到启动存在较大的时间差异,主控系统启动慢,伺服系统启动快,因此系统上电后伺服系统和主控系统分别运行在各自的独立时钟下。主控系统启动后通过同步端口定时发送同步信号到伺服系统的主DSP同步主DSP的主中断时间模块,完成主控系统CPU与伺服系统的主DSP之间的同步。
伺服系统的主DSP和从DSP之间的同步:伺服系统上电后,主DSP定时通过同步端口同步从DSP的主中断时钟模块,完成主从DSP的时间同步。
主DSP和双口RAM之间数据交互方式:传统的主DSP读写双口RAM均是通过CPU完成读写操作,这样就占用了较多的CPU执行时间,对于伺服系统这种强实时性系统占用了大量需要执行其他关键代码的时间,不利于提高伺服系统的开关频率,对伺服系统的控制性能有较大影响。本实施例采用主DSP的DMA通道(直接内存存取通道)1和DMA通道2完成主DSP对双口RAM的数据读写操作,DMA通道可独立于CPU完成内存数据存取,在CPU需要用到这些数据的之前就已经完成了数据的存取,大大减小了CPU执行数据读写的时间。
从DSP与双口RAM之间的数据交互:前面已经阐述了从DSP与主DSP之间是通过SPI总线进行连接,而双口RAM只是与主DSP之间进行连接,因此从DSP是不能够直接对双口RAM进行读写操作的。一般的从DSP与双口RAM进行数据交互的方式是:从DSP通过SPI总线完成与主DSP的交互,然后主DSP在将这些数据读写到双口RAM中,这样从DSP的数据就需要从主DSP进行中转一次。而且由于SPI总线的全双工机制,会导致主DSP与从DSP之间存在大量的假数据,因此需要通过编写程序流程甄别这些假数据,费时费力。由于这两个特性大大降低了从DSP数据与双口RAM之间数据交互的实时性。本实施例采用从DSP的DMA通道直接完成从DSP与双口RAM之间的数据交互,具体做法是主DSP的DMA通道3直接从双口RAM中抓取数据到主DSP的SPI总线发送端口,从DSP侦测到自己的SPI总线接收端口有数据后启动DMA通道1从接收端口抓取数据到自己的内存中,同时启动DMA通道2从内存中抓取数据到SPI总线发送端口,主DSP侦测到其SPI接收端口有数据后启动DMA通道4从该接收端口抓取数据到双口RAM中,这样就完成了从DSP与双口RAM之间的数据交互。由于DMA是独立于CPU运行的,因此该方式完全不占用CPU执行时间,且省去了主DSP与从DSP之间SPI总线通信甄别假数据的时间,基本等同于从DSP直接对双口RAM进行读写操作,因此大大提高了数据交互的实时性。
Claims (8)
1.一种工业机器人控制架构,其特征在于,包括主控系统和伺服系统,所述主控系统和所述伺服系统通过双口RAM进行数据交互,所述伺服系统包括主DSP和从DSP,所述主DSP和所述从DSP之间通过SPI总线进行数据交互,所述主DSP与双口RAM之间、主控系统与双口RAM之间均通过并行总线进行数据交互。
2.根据权利要求1所述的工业机器人控制架构,其特征在于,所述主控系统基于X86架构或ARM架构。
3.根据权利要求1所述的工业机器人控制架构,其特征在于,所述主控系统和伺服系统在电路板上通过插针连接。
4.一种应用如权利要求1所述的工业机器人控制架构的数据交互方法,其特征在于,包括以下步骤:
a、同步主控系统和伺服系统之间的时钟;
b、主控系统与双口RAM之间进行数据交互;
c、主DSP和双口RAM之间进行数据交互;
d、从DSP和双口RAM之间进行数据交互。
5.根据权利要求4所述的数据交互方法,其特征在于,所述步骤a包括以下步骤:
a1、同步主控系统的CPU和伺服系统中主DSP之间的时钟:主控系统和伺服系统上电启动后,主控系统通过定时向主DSP的主中断时间模块发送同步信号完成主控系统的CPU和伺服系统中主DSP之间的时钟同步;
a2、同步伺服系统中从DSP和主DSP之前的时钟:伺服系统上电启动后,主DSP通过定时向从DSP的主中断时钟模块发送同步信号完成主DSP和从DSP之间的时钟同步。
6.根据权利要求4所述的数据交互方法,其特征在于,所述步骤c包括以下步骤:
c1、主DSP启动其DMA通道1抓取双口RAM中工业机器人其中一部分控制轴的控制数据并启动DMA通道3通过SPI总线通知从DSP抓取工业机器人剩余部分控制轴的控制数据;
c2、主DSP启动其DMA通道2返回其抓取的控制轴的数据到双口RAM中,完成主DSP与双口RAM的全双工交互。
7.根据权利要求4或6所述的数据交互方法,其特征在于,所述步骤d包括以下步骤:
d1、从DSP启动其DMA通道1抓取通过SPI总线实时发送的工业机器人剩余部分控制轴的控制数据;
d2、从DSP启动其DMA通道2并通过SPI总线返回其抓取的控制数据到主DSP的DMA通道4中;
d3、主DSP启动其DMA通道4将从DSP抓取的控制数据返回到双口RAM中,完成从DSP与双口RAM的全双工交互。
8.根据权利要求4所述的数据交互方法,其特征在于,所述主控系统与主DSP之间设置为读写互锁模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810892504.7A CN109062841A (zh) | 2018-08-07 | 2018-08-07 | 工业机器人控制架构及应用该架构的数据交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810892504.7A CN109062841A (zh) | 2018-08-07 | 2018-08-07 | 工业机器人控制架构及应用该架构的数据交互方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109062841A true CN109062841A (zh) | 2018-12-21 |
Family
ID=64678674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810892504.7A Pending CN109062841A (zh) | 2018-08-07 | 2018-08-07 | 工业机器人控制架构及应用该架构的数据交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062841A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111923036A (zh) * | 2020-08-31 | 2020-11-13 | 成都卡诺普自动化控制技术有限公司 | 一种工业机器人的驱动控制系统 |
CN113848909A (zh) * | 2021-09-27 | 2021-12-28 | 北京理工大学 | 翻转桨叶式爬壁机器人的控制系统及控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368157A (zh) * | 2011-12-02 | 2012-03-07 | 西安华科航空液压有限公司 | 一种伺服控制器 |
CN204790504U (zh) * | 2015-05-11 | 2015-11-18 | 芜湖卓源自动化技术有限公司 | 一种基于cpci总线嵌入式交流伺服控制装置 |
-
2018
- 2018-08-07 CN CN201810892504.7A patent/CN109062841A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102368157A (zh) * | 2011-12-02 | 2012-03-07 | 西安华科航空液压有限公司 | 一种伺服控制器 |
CN204790504U (zh) * | 2015-05-11 | 2015-11-18 | 芜湖卓源自动化技术有限公司 | 一种基于cpci总线嵌入式交流伺服控制装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111923036A (zh) * | 2020-08-31 | 2020-11-13 | 成都卡诺普自动化控制技术有限公司 | 一种工业机器人的驱动控制系统 |
CN111923036B (zh) * | 2020-08-31 | 2021-07-30 | 成都卡诺普自动化控制技术有限公司 | 一种工业机器人的驱动控制系统 |
CN113848909A (zh) * | 2021-09-27 | 2021-12-28 | 北京理工大学 | 翻转桨叶式爬壁机器人的控制系统及控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7778814B2 (en) | Method and device for simulating an automation system | |
CN102243619A (zh) | 一种基于fpga实现多路i2c总线端口扩展的方法 | |
CN103425106A (zh) | 一种基于Linux的EtherCAT主/从站控制系统及方法 | |
WO2019184375A1 (zh) | 一种工业设备智能控制系统及方法 | |
CN109062841A (zh) | 工业机器人控制架构及应用该架构的数据交互方法 | |
CN103713940B (zh) | 一种基于rtx‑hla‑反射内存卡的可重构分布式实时仿真方法 | |
CN104615087A (zh) | 总线型运动控制器 | |
WO2016145603A1 (zh) | 激光扫描装置及激光扫描系统 | |
CN108333566A (zh) | 一种基于zynq的便携式雷达测试系统及测试方法 | |
CN110412921A (zh) | 基于EtherCAT的机器人单腿高实时性控制系统 | |
CN101206614B (zh) | 仿真特殊功能寄存器的仿真器 | |
CN102736594B (zh) | 一种智能配电终端统一平台模块化设计方法 | |
CN105404744A (zh) | 一种空间机械臂全状态动力学半物理仿真系统 | |
CN108683488A (zh) | 一种基于仿真转台的软同步方法 | |
CN104898466B (zh) | 一种激光跟踪仪的通信控制电路 | |
CN204733178U (zh) | 一种基于FPGA的EtherCAT主站装置 | |
CN108197699A (zh) | 针对卷积神经网络硬件加速器的调试模块 | |
US20190271740A1 (en) | Non-intrusive on-chip debugger with remote protocol support | |
CN111124992B (zh) | 一种基于光纤反射内存通讯的转台仿真控制方法 | |
CN209514330U (zh) | 超高速电磁推进控制半实物仿真系统 | |
CN105824270B (zh) | 多轴运动控制器 | |
CN114691578A (zh) | 一种高性能串行通信方法、系统、介质、设备及终端 | |
CN104317747B (zh) | 一种网格接收机的数据缓存与发送装置及方法 | |
CN109412939A (zh) | 记录工业网络通信周期过程数据的通信网关和工作方法 | |
CN201728656U (zh) | 嵌入式轻型机械臂控制器 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181221 |