CN109454641B - 一种运动控制器多任务分工及数据交互方法 - Google Patents

一种运动控制器多任务分工及数据交互方法 Download PDF

Info

Publication number
CN109454641B
CN109454641B CN201811591504.XA CN201811591504A CN109454641B CN 109454641 B CN109454641 B CN 109454641B CN 201811591504 A CN201811591504 A CN 201811591504A CN 109454641 B CN109454641 B CN 109454641B
Authority
CN
China
Prior art keywords
task
instruction
interpolator
planner
data
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.)
Active
Application number
CN201811591504.XA
Other languages
English (en)
Other versions
CN109454641A (zh
Inventor
丁亮
杨广晓
刘鹏飞
夏科睿
柴桂锋
包鼎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Hagong Tunan Intelligent Control Robot Co ltd
Original Assignee
HRG International Institute for Research and Innovation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by HRG International Institute for Research and Innovation filed Critical HRG International Institute for Research and Innovation
Priority to CN201811591504.XA priority Critical patent/CN109454641B/zh
Publication of CN109454641A publication Critical patent/CN109454641A/zh
Application granted granted Critical
Publication of CN109454641B publication Critical patent/CN109454641B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

本发明涉及一种运动控制器多任务分工及数据交互方法,来解决运动控制器中上位机通讯任务、机器人指令解释器任务、指令规划器任务、插补器任务、伺服通讯总线任务及系统监控任务之间数据交互问题。该方法使得运动控制器中的各个逻辑处理模块功能明确,同时采用信号量加锁实现多任务同步,交互方式安全、稳定,同时方法简单可靠,计算量小。

Description

一种运动控制器多任务分工及数据交互方法
【技术领域】
本发明属于机器人运动控制领域,具体涉及一种运动控制器多任务分工及数据交互方法。
【背景技术】
目前,依靠运动控制器(卡)与伺服驱动器通讯来实现机器人或伺服电机的运动,已经成为目前各大主流机器人、运动控制器厂商的选择,其原理是运动控制器通过接收上位机传来的机器人指令,进行机器人指令的解析,然后按照指令类型去选择连续运动指令规划、单条运动指令规划及非运动指令规划等算法;规划信息传递给插补器后,通过不断插补运算得到机器人/伺服电机的位置、速度、加速度数据,传送给伺服驱动器来实现电机运转,进而实现机器人运动。其中,运动控制器各个任务之间的数据交互流程,既实现各个逻辑处理模块功能划分清晰,又能保证各个线程间数据交互安全、稳定,同时方法简单可靠,一直是一个难以解决的问题。
此外,现有技术中的运动控制器虽然可以实现接收上位机指令,通过指令解析、插补运算及伺服通讯最终实现机器人运动;但是连续运动指令的前瞻规划和运动插补由插补器完成,一定程度上造成了插补器任务工作负荷比较大、功能划分不清晰,造成程序可扩展性、可维护性相对较差。
【发明内容】
为了解决上述问题,本发明提出了一种运动控制器多任务分工及数据交互方法。
本发明采用的技术方案如下:
一种运动控制器多任务分工及数据交互方法,包括以下步骤:
(1)初始化并启动上位机通讯任务;所述上位机通讯任务包括从上位机下发到控制器的数据接收功能和控制器上传到上位机的数据发送功能;
(2)启动指令解释器任务;所述指令解释器任务包括语法分析、词法分析和机器人指令队列存储;
(3)启动规划器任务;规划器任务包括:读取指令解释器任务存储的指令队列和参数词典,进行指令与指令参数的匹配,根据指令类型分别调用相应的指令接口函数(API),实现运动指令规划和非运动指令规划;
(4)启动插补器任务;所述插补器任务包括速度插补和插补数据环形队列存储;
(5)启动伺服通讯任务;所述伺服通讯任务包括:根据上位机通讯任务接收到的机器人运转模式来配置伺服的运转模式,并从插补数据环形队列中读取插补结果,发送给伺服驱动器,从而实现伺服电机运转;同时采集电机实际运行数据存入环形队列;
(6)启动系统监控任务;所述系统监控任务包括:运动控制系统中关节位置超限监控、关节速度超限监控及系统错误报警监控等安全状态监控任务;
(7)建立指令解释器任务、规划器任务、插补器任务、伺服通讯任务之间的双向同步信号。
进一步地,所述上位机下发到控制器的数据接收功能包括解析上位机发送的按键指令,以及接收上位机传来的作业指令。
进一步地,所述控制器上传到上位机的数据发送功能是从控制器读取机器人数据上传到上位机。
进一步地,所述指令解释器任务接收到上位机通讯任务发送来的机器人指令后,对所述指令进行词法分析和语法分析,识别错误语法和词法,通过分析验证无误后,将机器人作业指令文件和指令参数文件转换为指令队列和参数词典进行存储,共同组成机器人语言程序的内存语义模型,供规划器任务逐条执行。
进一步地,所述指令接口函数分为运动指令接口API和非运动指令接口API。
进一步地,如果规划器任务调用的是运动指令接口API,则交由插补器进行速度插补。
进一步地,所述伺服的运转模式包括位置模式、速度模式、力矩模式。
进一步地,通过从电机实际参数环形队列中读取数据,换算到关节空间,实现关节位置超限和关节速度超限监控,同时监控系统状态,发现错误状态字之后,进行相应的错误处理流程。
进一步地,所述步骤7具体包括:
在指令解释器任务和规划器任务之间建立双向同步信号;具体地,当指令解释器任务获得新的指令时,其给规划器任务发送一个新指令到达信号,另一方面,当规划器任务完成所有指令规划时,其给指令解释器任务发送一个需要新的指令信号;
在规划器任务与插补器任务之间建立双向同步信号;具体地,当规划器任务完成一个新的指令规划后,其给插补器任务发送一个规划完成信号,另一方面,当插补器任务完成所有插补任务时,其给规划器任务发送一个需要新的规划信号;
在插补器任务和伺服通讯任务之间建立双向同步信号;具体地,当插补器任务完成一个速度插补后,其给伺服通讯任务发送一个插补完成信号,另一方面,当伺服通讯任务完成所有插补结果的处理后,其给插补器任务发送一个需要插补信号。
本发明的有益效果为:使得运动控制器中的各个逻辑处理模块功能明确,多任务同步交互方式安全、稳定,整体方法简单可靠,计算量小。
【附图说明】
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1是本发明方法的流程示意图。
图2是本发明的上位机通讯任务功能图;
图3是本发明的指令解释器任务功能图;
图4是本发明的规划器任务功能图;
图5是本发明的插补器任务功能图;
图6是本发明的伺服通讯任务功能图;
图7是本发明的系统监控任务功能图。
图8是本发明的任务双向同步示意图。
【具体实施方式】
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
本发明将机器人运动控制器的任务划分为五类:上位机通讯任务、机器人指令解释器任务、规划器任务、插补器任务、伺服通讯总线任务及系统监控任务。在此五类任务的基础上,实现各个任务的数据交互。
参见附图1,其示出了本发明方法的流程示意图。具体说明如下:
(1)初始化并启动上位机通讯任务。
参见附图2,与上位机通讯任务包括从上位机下发到控制器的数据接收和控制器上传到上位机的数据发送两个功能。
其中上位机下发到控制器的数据接收功能主要是解析上位机发送的按键指令,以及接收上位机传来的作业指令,具体包括:接收来自上位机的电机编码器配置参数、机器人传动参数、坐标系类型、机器人DH连杆参数及作业模式、插补算法类型等等,操作者通过上位机软件设置好这些参数后,上位机软件打包发送到运动控制器,运动控制器基于这些配置信息进行相应的数据存储。
控制器上传到上位机的数据发送功能主要是从控制器读取机器人数据上传到上位机,具体包括:从来自伺服通讯任务的环形队列中读取电机端数据,换算到关节空间和机器人笛卡尔空间得到机器人末端参考点数据及IO状态数据,并将这些数据打包,上传给上位机,供上位机显示机器人、关节、电机状态之用。
(2)启动指令解释器任务。
参见附图3,指令解释器任务包括语法分析、词法分析和机器人指令队列存储三部分功能。指令解释器任务接收到上位机通讯任务发送来的机器人指令后,对所述指令进行词法分析和语法分析,识别错误语法和词法,通过分析验证无误后,将机器人作业指令文件和指令参数文件转换为指令队列和参数词典进行存储,共同组成机器人语言程序的内存语义模型,供规划器任务逐条执行。
(3)启动规划器任务。
参见附图4,规划器任务包括:读取指令解释器任务存储的指令队列和参数词典,进行指令与指令参数的匹配,根据指令类型分别调用相应的指令接口函数(API),实现运动指令规划和非运动指令规划。
其中指令接口API分为运动指令接口API和非运动指令接口API。
例如,非运动指令API有:int wait(time_ms);其中,wait是等待指令,从指令对列中取出,time_ms则是等待时间参数,从参数字典中按照参数名字去查找对应的值,实现了指令与指令参数的匹配,传递给要调用的指令函数,其余指令及参数匹配方式与此类似。
又例如,运动接口指令API有:int MovJ_P2P(目标点位置,目标点速度,…),该指令实现点到点的两点之间关节空间运动规划,int MovJ_CP(目标点1,目标点2,…,目标点1速度,目标点2速度,…)实现多点关节空间运动规划。
(4)启动插补器任务。
参见附图5,插补器任务包括速度插补和插补数据环形队列存储。如果规划器任务调用的是运动指令接口API,则需要交由插补器进行速度插补,以int MovJ_P2P(目标点位置,目标点速度,…)为例,通过传入的要到达的目标点的位置、目标点速度作为输入,调用速度插补算法,产生的电机端、关节端以及机器人参考点在操作空间在后续每个时刻的位置、速度、加速度数据,将其中电机端的插补数据存入插补数据环形队列。
(5)启动伺服通讯任务。
参见附图6,伺服通讯任务包括:根据上位机通讯任务接收到的机器人运转模式来配置伺服的运转模式(包括位置模式、速度模式、力矩模式),并从插补数据环形队列中读取插补结果,发送给伺服驱动器,从而实现伺服电机运转;同时采集电机实际运行数据存入环形队列。
(6)启动系统监控任务。
参见附图7,系统监控任务包括:运动控制系统中关节位置超限监控、关节速度超限监控及系统错误报警监控等安全状态监控任务,其中通过从电机实际参数环形队列中读取数据,换算到关节空间,实现关节位置超限和关节速度超限监控,同时监控系统状态,发现错误状态字之后,进行相应的错误处理流程。
(7)建立指令解释器任务、规划器任务、插补器任务、伺服通讯任务之间的双向同步信号。
参见附图8,首先在指令解释器任务和规划器任务之间建立双向同步信号。具体地,当指令解释器任务获得新的指令时,其给规划器任务发送一个新指令到达信号,另一方面,当规划器任务完成所有指令规划时,其给指令解释器任务发送一个需要新的指令信号。
在规划器任务与插补器任务之间建立双向同步信号。具体地,当规划器任务完成一个新的指令规划后,其给插补器任务发送一个规划完成信号,另一方面,当插补器任务完成所有插补任务时,其给规划器任务发送一个需要新的规划信号。
在插补器任务和伺服通讯任务之间建立双向同步信号。具体地,当插补器任务完成一个速度插补后,其给伺服通讯任务发送一个插补完成信号,另一方面,当伺服通讯任务完成所有插补结果的处理后,其给插补器任务发送一个需要插补信号。
通过上述双向同步信号,使得机器人各任务之间逻辑运行关系更加明确,并且可以通过信号量加锁的方式来实现任务依次运行,同时采用任务同步技术使得多任务数据交互安全、稳定。
以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。

Claims (7)

1.一种运动控制器多任务分工及数据交互方法,其特征在于,包括以下步骤:
(1)初始化并启动上位机通讯任务;所述上位机通讯任务包括从上位机下发到控制器的数据接收功能和控制器上传到上位机的数据发送功能;
(2)启动指令解释器任务;所述指令解释器任务包括语法分析、词法分析和机器人指令队列存储;所述指令解释器任务接收到上位机通讯任务发送来的机器人指令后,对所述指令进行词法分析和语法分析,识别错误语法和词法,通过分析验证无误后,将机器人作业指令文件和指令参数文件转换为指令队列和参数词典进行存储,共同组成机器人语言程序的内存语义模型,供规划器任务逐条执行;
(3)启动规划器任务;规划器任务包括:读取指令解释器任务存储的指令队列和参数词典,进行指令与指令参数的匹配,根据指令类型分别调用相应的指令接口函数,实现运动指令规划和非运动指令规划;
(4)启动插补器任务;所述插补器任务包括速度插补和插补数据环形队列存储;
(5)启动伺服通讯任务;所述伺服通讯任务包括:根据上位机通讯任务接收到的机器人运转模式来配置伺服的运转模式,并从插补数据环形队列中读取插补结果,发送给伺服驱动器,从而实现伺服电机运转;同时采集电机实际运行数据存入环形队列;
(6)启动系统监控任务;所述系统监控任务包括:运动控制系统中关节位置超限监控、关节速度超限监控及系统错误报警监控;
(7)建立指令解释器任务、规划器任务、插补器任务、伺服通讯任务之间的双向同步信号;
所述步骤(7)具体包括:
在指令解释器任务和规划器任务之间建立双向同步信号;具体地,当指令解释器任务获得新的指令时,其给规划器任务发送一个新指令到达信号,另一方面,当规划器任务完成所有指令规划时,其给指令解释器任务发送一个需要新的指令信号;
在规划器任务与插补器任务之间建立双向同步信号;具体地,当规划器任务完成一个新的指令规划后,其给插补器任务发送一个规划完成信号,另一方面,当插补器任务完成所有插补任务时,其给规划器任务发送一个需要新的规划信号;
在插补器任务和伺服通讯任务之间建立双向同步信号;具体地,当插补器任务完成一个速度插补后,其给伺服通讯任务发送一个插补完成信号,另一方面,当伺服通讯任务完成所有插补结果的处理后,其给插补器任务发送一个需要插补信号。
2.根据权利要求1所述的方法,其特征在于,所述上位机下发到控制器的数据接收功能包括解析上位机发送的按键指令,以及接收上位机传来的作业指令。
3.根据权利要求1-2任意一项所述的方法,其特征在于,所述控制器上传到上位机的数据发送功能是从控制器读取机器人数据上传到上位机。
4.根据权利要求1-2任意一项所述的方法,其特征在于,所述指令接口函数分为运动指令接口和非运动指令接口。
5.根据权利要求4所述的方法,其特征在于,如果规划器任务调用的是运动指令接口,则交由插补器进行速度插补。
6.根据权利要求1-2任意一项所述的方法,其特征在于,所述伺服的运转模式包括位置模式、速度模式、力矩模式。
7.根据权利要求1-2任意一项所述的方法,其特征在于,通过从电机实际参数环形队列中读取数据,换算到关节空间,实现关节位置超限和关节速度超限监控,同时监控系统状态,发现错误状态字之后,进行相应的错误处理流程。
CN201811591504.XA 2018-12-25 2018-12-25 一种运动控制器多任务分工及数据交互方法 Active CN109454641B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811591504.XA CN109454641B (zh) 2018-12-25 2018-12-25 一种运动控制器多任务分工及数据交互方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811591504.XA CN109454641B (zh) 2018-12-25 2018-12-25 一种运动控制器多任务分工及数据交互方法

Publications (2)

Publication Number Publication Date
CN109454641A CN109454641A (zh) 2019-03-12
CN109454641B true CN109454641B (zh) 2022-01-04

Family

ID=65614517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811591504.XA Active CN109454641B (zh) 2018-12-25 2018-12-25 一种运动控制器多任务分工及数据交互方法

Country Status (1)

Country Link
CN (1) CN109454641B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112346405B (zh) * 2020-10-13 2022-03-01 深圳市汇川技术股份有限公司 数控系统控制方法、装置、数控系统及计算机存储介质
CN114310879A (zh) * 2021-12-23 2022-04-12 遨博(北京)智能科技有限公司 一种机器人控制方法、控制柜及系统
CN113954104B (zh) * 2021-12-23 2022-04-01 辰星(天津)自动化设备有限公司 并联机器人的多线程控制器

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060133A (en) * 1990-02-06 1991-10-22 Automation Intelligence, Inc. Transputer CNC processor
JP2001255912A (ja) * 2000-03-14 2001-09-21 Yaskawa Electric Corp モーションプログラムの実行方法
CN102581850A (zh) * 2012-02-10 2012-07-18 广州数控设备有限公司 基于GSK-Link总线的模块化机器人控制装置及控制方法
CN106239520A (zh) * 2016-08-23 2016-12-21 深圳市中科智敏机器人科技有限公司 具备认知能力的智能工业机器人运动控制系统
CN106647638A (zh) * 2016-11-09 2017-05-10 湖南戈人自动化科技有限公司 运动控制系统
CN107783501A (zh) * 2017-10-25 2018-03-09 卢俊 一种PCIe控制的数控插补系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114174A (zh) * 2007-08-30 2008-01-30 广东工业大学 嵌入式四轴运动控制器
CN102117571B (zh) * 2011-03-31 2012-07-04 上海柏楚电子科技有限公司 一种用于点胶机器的联机示教处理系统
WO2014088997A1 (en) * 2012-12-03 2014-06-12 Abb Technology Ag Teleoperation of machines having at least one actuated mechanism and one machine controller comprising a program code including instructions for transferring control of the machine from said controller to a remote control station
CN103941649A (zh) * 2014-03-07 2014-07-23 东莞市升力智能科技有限公司 多轴运动卡控制系统的控制方法
CN106453551B (zh) * 2016-10-09 2019-04-09 东南大学 一种办公室内物品递送机器人任务规划与执行装置及方法
CN107538492A (zh) * 2017-09-07 2018-01-05 福物(上海)机器人科技有限公司 移动机器人的智能操控系统、方法及智能学习方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5060133A (en) * 1990-02-06 1991-10-22 Automation Intelligence, Inc. Transputer CNC processor
JP2001255912A (ja) * 2000-03-14 2001-09-21 Yaskawa Electric Corp モーションプログラムの実行方法
CN102581850A (zh) * 2012-02-10 2012-07-18 广州数控设备有限公司 基于GSK-Link总线的模块化机器人控制装置及控制方法
CN106239520A (zh) * 2016-08-23 2016-12-21 深圳市中科智敏机器人科技有限公司 具备认知能力的智能工业机器人运动控制系统
CN106647638A (zh) * 2016-11-09 2017-05-10 湖南戈人自动化科技有限公司 运动控制系统
CN107783501A (zh) * 2017-10-25 2018-03-09 卢俊 一种PCIe控制的数控插补系统

Also Published As

Publication number Publication date
CN109454641A (zh) 2019-03-12

Similar Documents

Publication Publication Date Title
CN109454641B (zh) 一种运动控制器多任务分工及数据交互方法
CN108942932B (zh) 基于EtherCAT总线的工业机器人控制系统及方法
CN109807903B (zh) 一种机器人控制方法、装置、设备和介质
CN107901039B (zh) 基于Python的桌面级机器人离线编程仿真系统
CN109471435B (zh) 一种多异构移动机器人控制系统
US11654552B2 (en) Backup control based continuous training of robots
KR102586646B1 (ko) 공작기계 시스템
JP7087316B2 (ja) 情報処理装置、情報処理方法およびプログラム
WO2018192178A1 (zh) 机器人点到点运动控制方法和系统
JP2018153883A (ja) コントロールシステム、コントローラ及び制御方法
JP2024503168A (ja) パラレルロボットのマルチスレッドコントローラ
CN214751405U (zh) 多场景通用的边缘视觉运动控制系统
CN112894827B (zh) 一种机械臂运动控制方法、系统、装置及可读存储介质
US11899428B2 (en) Work resume system, manufacturing method, and program
CN112045664A (zh) 一种基于ros系统的通用机械臂控制器
WO2022000286A1 (zh) 一种生产系统的控制方法及其装置
CN106774178B (zh) 一种自动化控制系统及方法、机械设备
CN115734847A (zh) 数值控制系统
CN112114969A (zh) 数据处理方法、装置、电子设备和存储介质
CN115741676A (zh) 多机器人协同工作的控制系统
CN110142757A (zh) 一种控制机器人运动的方法、装置及下位机
CN115026820A (zh) 人机协作装配机器人控制系统及控制方法
CN114227719A (zh) 移动机器人远程操控系统、方法及介质
CN114598729A (zh) 机器人远程实时控制方法、系统、电子设备及存储介质
CN114603551A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221020

Address after: 230601304, Building 3, Zone C, Intelligent Equipment Science Park, No. 3963, Susong Road, Hefei Economic and Technological Development Zone, Anhui Province

Patentee after: Hefei Hagong Tunan intelligent control robot Co.,Ltd.

Address before: 230601 intelligent equipment science and Technology Park, 3963 Susong Road, Hefei Economic and Technological Development Zone, Anhui Province

Patentee before: HRG INTERNATIONAL INSTITUTE FOR RESEARCH & INNOVATION