CN109947539A - 一种机器人控制器 - Google Patents
一种机器人控制器 Download PDFInfo
- Publication number
- CN109947539A CN109947539A CN201711387024.7A CN201711387024A CN109947539A CN 109947539 A CN109947539 A CN 109947539A CN 201711387024 A CN201711387024 A CN 201711387024A CN 109947539 A CN109947539 A CN 109947539A
- Authority
- CN
- China
- Prior art keywords
- general
- kernel
- operating system
- real
- purpose operating
- 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
- 238000004891 communication Methods 0.000 claims abstract description 17
- 230000006978 adaptation Effects 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 19
- 238000005516 engineering process Methods 0.000 claims description 5
- 230000009977 dual effect Effects 0.000 claims description 4
- 238000000034 method Methods 0.000 abstract description 4
- 230000033001 locomotion Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 208000036829 Device dislocation Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Landscapes
- Manipulator (AREA)
- Programmable Controllers (AREA)
- Control By Computers (AREA)
Abstract
本发明公开了一种机器人控制器,包括硬件部分和软件部分,硬件部分为特定型号的个人计算机,除含有一般计算机的必要部件,还含有一个多或多个以太网适配器,软件部分包括中断管理层、实时内核、通用操作系统内核、通用操作系统用户空间,中断管理层根据要求向实时内核或通用操作系统内核传递中断信号,实时内核中运行着控制算法,EtherCAT通信和进程间通信等功能模块,EtherCAT通信接收外部数据经过控制算法运算后得到输出后再通过EtherCAT发送,进程间通信负责软件部分各子部分的数据交换,通用操作系统内核和通用操作系统用户空间组成一般意义上的通用操作系统,完成一般个人电脑的各种工作。本发明使得开发者调试和用户更新程序非常方便。
Description
技术领域
本发明涉及自动控制技术领域,更具体地说,涉及一种机器人控制器。
背景技术
机器人控制器是对机器人的机械运动部件进行实时的控制管理,使其按照预期的运动学和动力学规划进行运动的装置。通常根据机器人机械结构和所需运动规律的不同,对运动控制器的要求也千变万化。然而,多数现有的机器人控制器或运动控制器都是针对某几种运动机构设计并构成的,难以适应目前越来越灵活的机械和算法设计;并且,其硬件大多基于DSP(数字信号处理器)或FPGA(现场可编程逻辑门阵列)构成,难以动态变更并执行其底层控制算法。所以,针对具体应用经常需要修改运动控制器的硬件构成及软件架构,尤其是面临协作型机器人等更复杂的机器人,存在灵活性不足的缺点。
发明内容
本发明要解决的技术问题在于,针对现有技术在面对不同机构和控制算法时灵活性不足的缺陷,提供一种可以便于开发者仅通过修改少量运动算法的程序代码来灵活地适应不同机械结构和运动规律的机器人控制器。
本发明所采用的技术方案是:采用基于双内核技术和EtherCAT总线的纯PC(个人计算机)来构成上述的机器人控制器,其组件详述如下:
一种机器人控制器,包括硬件部分和软件部分;
所述硬件部分为一些选定型号的个人计算机;
所述个人计算机包含有作为一般意义所指的计算机的中央处理器、内存,还包含有至少一个以太网适配器;
所述软件部分包括中断管理层、实时内核、通用操作系统内核、通用操作系统用户空间;
所述中断管理层负责接收并拦截计算机运行中发生的各类中断,并对这些中断按照要求传递给实时内核或通用操作系统内核;
所述实时内核负责处理实时任务,即一旦接收到中断管理层传递的中断信号,应立即抢占系统资源,优先进行处理实时内核中的任务;并实现与通用操作系统用户空间之间的数据交换;
所述通用操作系统内核指现有的供一般使用的操作系统内核,接收所述中断管理层发送的中断信号并进行相应处理工作;
所述通用操作系统用户空间是与所述通用操作系统内核相匹配的用户空间环境,负责提供执行一般应用程序的环境。
进一步地,所述实时内核包括算法模块、EtherCAT主站模块和进程间通信模块;
所述算法模块负责完成控制算法,即对获取到的外部传感器信号进行运算后输出符合一定机械结构和控制规律的执行器件命令数据;
所述EtherCAT主站模块开放一些接收和发送数据的编程接口,当这些编程接口被调用时,按照EtherCAT规范将欲接收或发送的数据进行解码或编码,然后通过以太网适配器,经过网络线缆与EtherCAT从站实现通信;
所述进程间通信模块至少应实现实时内核与通用操作系统用户空间之间的数据交换。
进一步地,所述实时内核还包括硬件抽象层、中断处理层、调度器;
所述硬件抽象层负责将不同硬件架构在软件层面抽象为统一形式;
所述中断处理层负责将接到的中断根据需要传递给下一层或不进行处理;
所述调度器负责在接到中断后进行任务调度,将多个任务根据优先级先后执行,在多CPU或多核心CPU平台下,则会调度多个任务在不同的逻辑CPU上同时执行。
进一步地,所述通用操作系统内核为WindowsNT内核或Linux内核。
进一步地,所述中断管理层根据优先级首先将中断传递给实时内核,待实时内核将此中断处理完成后或实时内核不需要处理此中断,再将中断信号继续传递给通用操作系统内核,使得通用操作系统内核可以正常运行,这就是双内核技术。
与现有技术相比,本发明的有益效果如下:
本发明硬件上采用广泛使用的PC机,免去复杂的硬件设计,降低了采购的难度和成本;控制器内部任务调度,通信数据编解码和输入输出数据处理等环节均由软件构成,易修改和升级,一些代码还可以在不重启控制器的前提下动态卸载并加载新的代码,使得开发者调试和用户更新程序非常方便。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明机器人控制器的基本原理框图;
图2为本发明机器人控制器的具体实施方案框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合附图和具体的实施例对本发明的技术方案进行详细说明。需要指出的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供一种机器人控制器,包括硬件部分和软件部分;
所述硬件部分为一些选定型号的PC(个人计算机);
上述PC应含有作为一般意义所指的计算机的必要部件,如中央处理器,内存等,但可以缺少一般家用PC有但本发明没有用到的部件,如键盘,光盘驱动器等;
上述PC应有至少一个以太网适配器;
所述软件部分包括中断管理层,实时内核,通用操作系统内核,通用操作系统用户空间;
上述软件部分中的中断管理层负责接收并拦截计算机运行中发生的各类中断,并对这些中断按照要求传递给实时内核或通用操作系统内核;
所述实时内核负责处理实时任务,即一旦接收到中断管理层传递的中断信号,应立即抢占系统资源,优先进行处理实时内核中的任务;
所述实时内核至少应包括算法模块,EtherCAT主站模块和进程间通信模块;EtherCAT通信接收外部数据经过控制算法运算后得到输出后再通过EtherCAT发送;
所述算法模块负责完成控制算法,即对获取到的外部传感器信号进行运算后输出符合一定机械结构和控制规律的执行器件命令数据;
所述EtherCAT主站模块开放一些接收和发送数据的编程接口,当这些编程接口被调用时,按照EtherCAT规范将欲接收或发送的数据进行解码或编码,然后通过以太网适配器,经过网络线缆与EtherCAT从站实现通信;
所述进程间通信模块至少应实现实时内核与通用操作系统用户空间之间的数据交换;
所述通用操作系统内核指现有的供一般使用的操作系统内核,如WindowsNT内核,Linux内核等,接收上述中断管理层发送的中断信号并进行相应处理工作;
所述通用操作系统用户空间是与上述通用操作系统内核相匹配的用户空间环境,负责提供执行一般应用程序的环境。
根据图1的机器人控制器的整体框架,提出具体实施方式如图2所示,其包含组件如下:
组件N100为本控制器的软件部分,包括N110,ADEOS层;N120,Linux操作系统内核;N130,Linux操作系统用户空间;N140,RTAI内核这四个子部。
N110为操作系统自适应域环境(Adaptive Domain Environment for OperatingSystems,ADEOS),负责拦截计算机在运行中各种中断源所产生的不同中断,然后根据设置,一般是根据优先级首先将中断传递给N140——RTAI内核,待RTAI将此中断处理完成后或RTAI不需要处理此中断,再将中断信号继续传递给Linux内核,使得Linux可以正常运行,这就是“双内核技术”。在本实施方案中,ADEOS层可以由修改Linux内核源代码完成。
N140是实时应用接口(Real Time Application Interface),其实质为一个负责处理实时任务的微内核,其中包括N141硬件抽象层,负责将不同硬件架构在软件层面抽象为统一形式;N142中断处理,负责将接到的中断根据需要传递给下一层或不进行处理;N143调度器负责在接到中断后进行任务调度,将多个任务根据优先级先后执行,在多CPU或多核心CPU平台下,则会调度多个任务在不同的逻辑CPU上同时执行。N144为进程间通信,负责将实时内核与Linux用户控件的数据交换,以便上层应用程序显示控制器状态和接收命令。N145为需要执行的实时任务,包括运动学实时解算,动力学实时解算和控制律运算,这就是开发人员实际要进行的工作,即算法编写。实时任务以内核模块的形式出现,可以被动态地加载或卸载,即可以在不重启控制器的前提下停止旧代码的运行,加载新的算法代码。N146为EtherCAT主站模块,为了满足EtherCAT高实时性的特点,被运行在实时内核中,以实时地控制N220以太网适配器获取和发送数据包。
N120是Linux操作系统内核,完成Linux的各种核心任务和系统调用,如控制各种硬件,调度Linux下各个任务等。N130是Linux用户空间,一般的应用程序都运行在此空间,包括用户界面,视觉采集等,这些应用程序不能直接控制硬件,如读写外部存储器,需要对Linux内核发出对应请求后由内核去控制硬件完成实际的读写工作。
N200为控制器的硬件部分,一般意义上的PC机都符合本发明的要求,包括N210中的CPU,内存等组成一台计算机的必要部件;还包括N220以太网适配器,为了使用方便,一般有多个,其中至少有一个与EtherCAT从站相连接,负责EtherCAT通信,还有一个可与交换机,路由器或其他有以太网功能的设备连接,负责一般的Ethernet通信。
N300是EtherCAT从站,不属于本发明内容,为了更好地理解本发明,是本发明所述机器人控制器的被控设备,一般是直接或间接支持EtherCAT的电机伺服驱动器,IO模块等。根据上述对N220的描述,可有多个以太网适配器,故实际可进行不同的拓扑结构。
N400是远程控制端,不属于本发明内容,为了更好地理解本发明,是供开发人员进行调试的设备,通过Ethernet与所述机器人控制器连接通信。根据上述对N220的描述,可有多个以太网适配器,故可以连接多个支持以太网的设备,以提供监控调试本控制器的功能。
本发明硬件上采用广泛使用的PC机,免去复杂的硬件设计,降低了采购的难度和成本;控制器内部任务调度,通信数据编解码和输入输出数据处理等环节均由软件构成,易修改和升级,一些代码还可以在不重启控制器的前提下动态卸载并加载新的代码,使得开发者调试和用户更新程序非常方便。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (5)
1.一种机器人控制器,其特征在于,包括硬件部分和软件部分;
所述硬件部分为一些选定型号的个人计算机;
所述个人计算机包含有作为一般意义所指的计算机的中央处理器、内存,还包含有至少一个以太网适配器;
所述软件部分包括中断管理层、实时内核、通用操作系统内核、通用操作系统用户空间;
所述中断管理层负责接收并拦截计算机运行中发生的各类中断,并对这些中断按照要求传递给实时内核或通用操作系统内核;
所述实时内核负责处理实时任务,即一旦接收到中断管理层传递的中断信号,应立即抢占系统资源,优先进行处理实时内核中的任务;并实现与通用操作系统用户空间之间的数据交换;
所述通用操作系统内核指现有的供一般使用的操作系统内核,接收所述中断管理层发送的中断信号并进行相应处理工作;
所述通用操作系统用户空间是与所述通用操作系统内核相匹配的用户空间环境,负责提供执行一般应用程序的环境。
2.根据权利要求1所述的机器人控制器,其特征在于,所述实时内核包括算法模块、EtherCAT主站模块和进程间通信模块;
所述算法模块负责完成控制算法,即对获取到的外部传感器信号进行运算后输出符合一定机械结构和控制规律的执行器件命令数据;
所述EtherCAT主站模块开放一些接收和发送数据的编程接口,当这些编程接口被调用时,按照EtherCAT规范将欲接收或发送的数据进行解码或编码,然后通过以太网适配器,经过网络线缆与EtherCAT从站实现通信;
所述进程间通信模块至少应实现实时内核与通用操作系统用户空间之间的数据交换。
3.根据权利要求2所述的机器人控制器,其特征在于,所述实时内核还包括硬件抽象层、中断处理层、调度器;
所述硬件抽象层负责将不同硬件架构在软件层面抽象为统一形式;
所述中断处理层负责将接到的中断根据需要传递给下一层或不进行处理;
所述调度器负责在接到中断后进行任务调度,将多个任务根据优先级先后执行,在多CPU或多核心CPU平台下,则会调度多个任务在不同的逻辑CPU上同时执行。
4.根据权利要求1所述的机器人控制器,其特征在于,所述通用操作系统内核为WindowsNT内核或Linux内核。
5.根据权利要求1所述的机器人控制器,其特征在于,所述中断管理层根据优先级首先将中断传递给实时内核,待实时内核将此中断处理完成后或实时内核不需要处理此中断,再将中断信号继续传递给通用操作系统内核,使得通用操作系统内核可以正常运行,这就是双内核技术。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711387024.7A CN109947539A (zh) | 2017-12-20 | 2017-12-20 | 一种机器人控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711387024.7A CN109947539A (zh) | 2017-12-20 | 2017-12-20 | 一种机器人控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109947539A true CN109947539A (zh) | 2019-06-28 |
Family
ID=67004318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711387024.7A Pending CN109947539A (zh) | 2017-12-20 | 2017-12-20 | 一种机器人控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947539A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110658751A (zh) * | 2019-09-16 | 2020-01-07 | 华中科技大学 | 一种EtherCAT现场总线控制系统的实现方法 |
CN111061203A (zh) * | 2019-12-31 | 2020-04-24 | 深圳市优必选科技股份有限公司 | 机器人的实时控制系统及机器人 |
CN113967013A (zh) * | 2020-07-22 | 2022-01-25 | 株式会社海科识 | 关节康复运动装置及关节康复运动装置的控制方法 |
CN114167719A (zh) * | 2021-11-30 | 2022-03-11 | 广东亿嘉和科技有限公司 | 一种机器人实时控制系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655124A (zh) * | 2005-03-04 | 2005-08-17 | 清华大学 | 基于PowerPC处理器的车用操作系统中断管理方法 |
US20070078891A1 (en) * | 2003-09-30 | 2007-04-05 | Eric Lescouet | Operating systems |
CN101819426A (zh) * | 2009-02-27 | 2010-09-01 | 中国科学院沈阳计算技术研究所有限公司 | 工业以太网数控系统实时与非实时系统内核数据同步方法 |
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
CN103425106A (zh) * | 2013-08-08 | 2013-12-04 | 华南理工大学 | 一种基于Linux的EtherCAT主/从站控制系统及方法 |
CN104636175A (zh) * | 2013-11-06 | 2015-05-20 | 沈阳高精数控技术有限公司 | 一种嵌入式实时系统arm平台网络化方法 |
WO2016196083A2 (en) * | 2015-05-27 | 2016-12-08 | Board Of Regents, The University Of Texas System | Integration of whole body controllers with robots |
CN106426184A (zh) * | 2016-12-13 | 2017-02-22 | 广州中国科学院先进技术研究所 | 一种机器人控制系统 |
-
2017
- 2017-12-20 CN CN201711387024.7A patent/CN109947539A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070078891A1 (en) * | 2003-09-30 | 2007-04-05 | Eric Lescouet | Operating systems |
CN1655124A (zh) * | 2005-03-04 | 2005-08-17 | 清华大学 | 基于PowerPC处理器的车用操作系统中断管理方法 |
CN101819426A (zh) * | 2009-02-27 | 2010-09-01 | 中国科学院沈阳计算技术研究所有限公司 | 工业以太网数控系统实时与非实时系统内核数据同步方法 |
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
CN103425106A (zh) * | 2013-08-08 | 2013-12-04 | 华南理工大学 | 一种基于Linux的EtherCAT主/从站控制系统及方法 |
CN104636175A (zh) * | 2013-11-06 | 2015-05-20 | 沈阳高精数控技术有限公司 | 一种嵌入式实时系统arm平台网络化方法 |
WO2016196083A2 (en) * | 2015-05-27 | 2016-12-08 | Board Of Regents, The University Of Texas System | Integration of whole body controllers with robots |
CN106426184A (zh) * | 2016-12-13 | 2017-02-22 | 广州中国科学院先进技术研究所 | 一种机器人控制系统 |
Non-Patent Citations (2)
Title |
---|
张明文: ""工业机器人技术基础及应用"", 哈尔滨工业大学出版社, pages: 78 * |
黄芳: "基于ARM和RTAI的嵌入式实时平台的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 01, 15 January 2015 (2015-01-15) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110658751A (zh) * | 2019-09-16 | 2020-01-07 | 华中科技大学 | 一种EtherCAT现场总线控制系统的实现方法 |
CN111061203A (zh) * | 2019-12-31 | 2020-04-24 | 深圳市优必选科技股份有限公司 | 机器人的实时控制系统及机器人 |
CN113967013A (zh) * | 2020-07-22 | 2022-01-25 | 株式会社海科识 | 关节康复运动装置及关节康复运动装置的控制方法 |
CN114167719A (zh) * | 2021-11-30 | 2022-03-11 | 广东亿嘉和科技有限公司 | 一种机器人实时控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947539A (zh) | 一种机器人控制器 | |
CN105278940B (zh) | 一种基于多核处理器架构的机器人混合系统应用框架 | |
US10265848B2 (en) | Robotic hybrid system application framework based on multi-core processor architecture | |
CN101592951B (zh) | 分布式仿人机器人通用控制系统 | |
EP3256915B1 (en) | Extending a programmable logic controller with apps | |
US6425038B1 (en) | Conversion of desk-top operating system for real-time control using installable interrupt service routines | |
US20090132057A1 (en) | Control system for controlling the movements of a plurality of mechanical units | |
US20160091882A1 (en) | System and method of multi-core based software execution for programmable logic controllers | |
CN101196738A (zh) | 基于pc机的开放式数控系统 | |
KR20130009658A (ko) | 로봇의 제어 | |
CN113954104B (zh) | 并联机器人的多线程控制器 | |
CN107942797A (zh) | 基于sopc的嵌入式双核伺服控制器及其设计方法 | |
CN110192159A (zh) | 控制装置 | |
CN111360813B (zh) | 一种基于边缘云服务的多机器人控制器 | |
He et al. | A ros2-based framework for industrial automation systems | |
Ferenc et al. | Open architecture platforms for the control of robotic systems and a proposed reference architecture model | |
CN117032118A (zh) | 基于工业物联网的软plc系统 | |
Yu et al. | Design of controller system for industrial robot based on RTOS Xenomai | |
CN103529816A (zh) | 一种基于Qt的上位机控制系统 | |
Zhang et al. | The design and implementation of virtual machine system in embedded softplc system | |
CN115857883A (zh) | 工业控制软件开发方法、装置和计算设备 | |
US20050149212A1 (en) | Controller for a machine tool or production machine | |
US20200361087A1 (en) | System For Guiding The Movement Of A Manipulator Having A First Processor And At Least One Second Processor | |
CN116330263A (zh) | 一种基于Codesys的智能工业机器人平台实现方法 | |
Wilkening et al. | Mixed-Critical Control Architecture for Industry 5.0 |
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 |
Application publication date: 20190628 |
|
RJ01 | Rejection of invention patent application after publication |