CN110281235B - 基于参数可控的下位机数控程序的机械手上位机控制方法 - Google Patents
基于参数可控的下位机数控程序的机械手上位机控制方法 Download PDFInfo
- Publication number
- CN110281235B CN110281235B CN201910487099.5A CN201910487099A CN110281235B CN 110281235 B CN110281235 B CN 110281235B CN 201910487099 A CN201910487099 A CN 201910487099A CN 110281235 B CN110281235 B CN 110281235B
- Authority
- CN
- China
- Prior art keywords
- manipulator
- variable
- lower computer
- track
- motion
- 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
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
Abstract
本发明公开了一种基于参数可控的下位机数控程序的机械手上位机控制方法,设计两层循环的下位机数控程序,上位机设置机械手进入手动控制模式后,先进入外层循环待命,当上位机发来的行程与方向控制参数变量值后,进入内层循环进行轨迹运动控制。对于内层循环:循环次数采用运动行程对应的轨迹点点数变量M控制;循环变量即机械手当前位置索引变量P,每次循环中通过循环变量的增一或减一实现机械手位置变化控制;循环变量增减变化方向由代表运动方向的参数变量D控制。本发明取代逐点顺序式下位机数控程序,提供上位机与下位机的交互方法,能够实现上位机机械手手动控制。
Description
技术领域
本发明属于测控技术领域,尤其涉及一种基于参数可控的多重循环下位机数控程序的机械手轨迹运动上位机控制方法。
背景技术
机械手应用于很多场合,例如超声检测系统。基于机械手的超声检测系统具有自动化程度高、检测精度和检测效率高的特点,目前利用机械手进行无损检测的技术已经广泛应用于工业领域,可以实现对复杂构件的精确检测。利用机械手进行检测前,需要事先规划好机械手运动轨迹,生成下位机数控程序并加载至下位机,从而控制机械手运动。目前商业化的机械手控制系统开放性不高,不能满足特殊应用,生成的下位机程序是逐点顺序式的,机械手只能按规划轨迹从起始点到终止点顺序运动,检测过程中上位机无法对机械手运动进行控制。
针对这一问题,如需在检测过程中控制机械手运动,只能在上位机中重新规划机械手运动轨迹并生成新的下位机数控程序,或利用手操盒控制机械手运动,或装配为机械手专门设计的嵌入式运动控制系统。然而,在利用机械手的超声检测系统中,需要通过上位机协调控制机械手与检测装置,且操作应当简便,成本不宜太高,以上方法不再适用。
发明内容
有鉴于此,本发明提供了一种基于参数可控的下位机数控程序的机械手上位机控制方法,取代逐点顺序式下位机数控程序,并提供上位机与下位机的交互方法,能够实现上位机机械手手动控制。
为了解决上述技术问题,本发明是这样实现的:
一种基于参数可控的下位机数控程序的机械手上位机控制方法,包括:
步骤1、机械手轨迹路径规划并生成机械手轨迹点包,下载到下位机;
步骤2、编写下位机数控程序,下载至下位机;
所述下位机数控程序采用两层循环结构;外层循环为手动控制模式待命循环,内层循环为轨迹运动控制循环;对于内层循环:循环次数采用运动行程对应的轨迹点点数变量M控制;循环变量即机械手当前位置索引变量P,每次循环中通过循环变量的增一或减一实现机械手位置变化控制;循环变量增减变化方向由代表运动方向的参数变量D控制;M、P和D构成运动行程与方向控制参数变量;
步骤3、上位机设置机械手进入手动控制模式后,在下位机中加载下位机数控程序,下位机开辟对应的运动行程与方向控制参数变量的存储空间;控制机械手完成进刀运动进入规划轨迹后,进入到外层循环,使机械手处于运动待命状态,等待上位机发来的行程与方向控制参数变量值;
步骤4、上位机中设置运动行程与方向后,调用下位机接口函数修改变量的值,并启动下位机数控程序的内层循环,从而实现上位机对机械手的行程、方向可控的手动控制。
优选地,在内层循环中,对循环变量增减进行增减操作后,进一步对所述机械手当前位置索引变量P进行越界判断,在越界时将机械手当前位置索引变量P的值赋值为机械手轨迹点包中的边界位置索引值。
优选地,所述轨迹点点数变量M的值的获取方式为:机械手需要运动的行程L除以机械手轨迹点包中的轨迹点间距平均值Lav,并取整;其中,
其中,i表示机械手轨迹点包中点的位置索引,Pi和Pi-1分别表示位置索引为i和i-1的轨迹点在工件坐标系下的坐标,||·||表示求两坐标的距离,n表示退刀点索引减1得到的数值。
有益效果:
本发明通过将机械手运动轨迹下位机数控程序中轨迹点索引常量用变量替换,并增设辅助变量控制机械手运动行程和方向,通过循环结构控制运动控制指令执行,在上位机中可以调用下位机接口函数修改下位机程序中的运动控制变量从而控制机械手运动,克服了现有技术中机械手只能按规划轨迹从起始点到终止点逐点顺序运动且在下位机程序执行过程中无法通过上位机控制机械手运动的缺陷,实现了上位机机械手手动控制。
附图说明
图1为本发明机械手上位机控制方案的示意图;
图2为本发明提供的一种机械手运动实现过程图;
图3为本发明提供的数据点包文件实例图;
图4为本发明提供的运动参数可控的多重循环下位机数控程序图;
图5为本发明提供的下位机循环控制流程图。
具体实施方式
在利用机械手进行超声检测的过程中,需要通过上位机实时控制机械手运动,而现有技术顺序执行运动控制指令,控制机械手沿轨迹点包逐点运动。数控程序下载到下位机之后,机械手仅受数控程序控制,脱离上位机的控制,且由于点包中点的位置和程序执行顺序都是固定的,运动过程固死,机械手只能沿轨迹按既定的步长和方向运动。如需控制机械手沿既有轨迹反向运动或步进运动,只能利用手操盒操作或重新规划轨迹及生成新的下位机数控程序。
为实现上位机的机械手手动控制,本实施例提供了一种基于参数可控的下位机数控程序的机械手上位机控制方法,其基本思想是:参见图1,将机械手运动轨迹下位机数控程序中轨迹点索引常量用变量替换,并增设辅助变量控制机械手运动行程和方向,通过循环结构控制运动控制指令执行,在上位机中可以调用下位机接口函数修改下位机程序中的运动控制变量从而控制机械手运动,克服了现有技术中机械手只能按规划轨迹从起始点到终止点逐点顺序运动且在下位机程序执行过程中无法通过上位机控制机械手运动的缺陷,实现了上位机机械手手动控制。
下面结合附图并举实施例,对本发明进行详细描述。
步骤1、机械手轨迹路径规划并生成机械手轨迹点包,下载到下位机。
图2为生成的机械手轨迹点包文件内容,其记录了轨迹点坐标位置(x、y、z)、机械手关节信息和运动速度等信息。其中,key为轨迹点索引。
步骤2、编写下位机数控程序,下载至下位机的硬盘中。
本发明的下位机数控程序采用两层循环结构。外层循环为手动控制模式待命循环,内层循环为轨迹运动控制循环。当上位机选择手动控制模式后进入外层循环,使机械手处于运动待命状态;当上位机发来行程与方向控制参数变量值后,进入内层循环进行机械手的控制操作。进入外层循环和进入内层循环均可以通过对标志位赋值实现。
对于内层循环,其利用三个变量实现机械手的移动控制:
◎轨迹点点数变量M:该变量M用于控制机械手运动行程对应的轨迹点数。采用该变量M作为内层循环的循环次数,内层循环执行一次,机械手移动一个轨迹点。
对于每一次运动控制,要根据运动行程和点包数据计算出对应的轨迹点点数M。由于轨迹点包中相邻轨迹点之间的距离近似相等,因此可以采用需要运动的行程L除以轨迹点间距平均值Lav,然后取整得到需要设置到下位机中的M值。其中,轨迹点间距平均值Lav按下式计算:
其中,i表示机械手轨迹点包中点的位置索引,Pi和Pi-1分别表示位置索引为i和i-1的轨迹点在工件坐标系下的坐标,||·||表示求两坐标的距离,n表示退刀点索引减1得到的数值,由于点包中第一个点和第二个点为进刀点,故从i=3处开始叠加。
◎机械手当前位置索引变量P:变量P的值为机械手轨迹点包中的轨迹点的索引,将其作为内层循环的循环变量P,每次循环中通过循环变量P的增一或减一实现机械手位置变化控制。该变量P的初始值是机械手运动的开始位置,如果从第一个轨迹点开始运动,则进入内层循环之前,将变量P初始化为除去进刀位置点后点包中第一个轨迹点的索引,如图2则P=2。
◎代表运动方向的参数变量D:参数D控制机械手的运动方向,也就是循环变量P的增减变化方向。
以上M、P和D构成运动行程与方向控制参数变量。
步骤3、上位机设置机械手进入手动控制模式后,在下位机的内存中加载下位机数控程序,下位机开辟对应的运动行程与方向控制参数变量的存储空间。控制机械手完成进刀运动进入规划轨迹后,进入到外层循环,使机械手处于运动待命状态,等待上位机发来的行程与方向控制参数变量值。
步骤4、上位机中设置运动行程与方向后,调用下位机接口函数修改变量的值,并启动下位机数控程序的内层循环,从而实现上位机对机械手的行程、方向可控的手动控制。
需要说明的是,进入上位机手动控制模式中,无论前进或后退运动,都可能出现超出轨迹的情况。为了防止位置索引越界,本发明在内层循环中,对循环变量进行增减操作后,进一步对机械手当前位置索引变量进行越界判断,在位置索引越界时将其置为点包的边界位置索引。
至此,根据本实施例提出的机械手轨迹运动上位机控制方法,可以在上位机实现机械手手动控制。该方案可以用于超声检测系统,也可以用于其他机械手应用场景。
图3给出了一个机械手商用软件生成的数控程序。从图中可以看出,其为顺序执行程序,movel()语句中调用的轨迹点为固定好的索引常量,因此,该程序只能控制机械手沿轨迹点包逐点运动。
图4给出了一种实现相同运动过程的本发明下位机数控程序。如图所示,bJogMode为进入外层循环的标志位,当bJogMode为true时,进入外层循环待命。nMoveSet为进入内层循环的标志位,当nMoveSet为true时,进入内层循环开始运动控制。bJogMode可以在上位机选择手动控制模式后赋值为true,nMoveSet可以在下位机接到上位机发来的行程与方向控制参数变量值后赋值为true。
该实例中nPointToBeMoved就是变量M;nPositiveDirect就是变量D,nPositiveDirect等于1表示正向运动,nPositiveDirect为非1表示反向运动。nCurrentPoint就是变量P,nCurrentPoint的初始值在循环之前被初始化。
参见图5,该下位机数控程序的运行流程为:当上位机选择手动控制模式后,bJogMode为true,进入外层循环待命;当接到上位机发来的行程与方向控制参数变量值,将运动设置参数nMoveSet置为true,则确认处于运动设置状态,先将循环变量nCurrentPoint初始化为完成进刀运动后第一个点的索引,然后程序进入内层循环。
在内层循环中,以n_i作为变量,令其从1到nPointToBeMoved逐渐递增,从而控制循环次数。在每次内层循环中,先根据nPositiveDirect的值确定是正向运动还是反向运动。正向运动,则将nCurrentPoint的值加1,反之则减1,从而获得当前所需运动到的轨迹点索引。然后判断所需运动到的轨迹点是否越界,如果越界,则将nCurrentPoint赋值为边界位置索引,具体来说是,如图5所示,如果nCurrentPoint小于1,则将nCurrentPoint赋值为1,如果大于点动运动的边界点nNumOfPoint-2-1(nNumOfPoint为点包中轨迹点总数),则将nCurrentPoint赋值nNumOfPoint-2-1。是否越界处理完毕之后,利用movel()语句控制机械手运动到当前点nCurrentPoint,完成一次内层循环。
当nPointToBeMoved次内层循环完成后,将nPointToBeMoved和nMoveSet的值清零,从而退出内层循环。判断bJogMode是否仍为true,如果是,则在外层循环待命;如果不是,则结束点动模式,退出外层循环,完成本次的手动控制。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种基于参数可控的下位机数控程序的机械手上位机控制方法,其特征在于,包括:
步骤1、机械手轨迹路径规划并生成机械手轨迹点包,下载到下位机;
步骤2、编写下位机数控程序,下载至下位机;
所述下位机数控程序采用两层循环结构;外层循环为手动控制模式待命循环,内层循环为轨迹运动控制循环;对于内层循环:循环次数采用运动行程对应的轨迹点点数变量M控制;循环变量即机械手当前位置索引变量P,每次循环中通过循环变量的增一或减一实现机械手位置变化控制;循环变量增减变化方向由代表运动方向的参数变量D控制;M、P和D构成运动行程与方向控制参数变量;
步骤3、上位机设置机械手进入手动控制模式后,在下位机中加载下位机数控程序,下位机开辟对应的运动行程与方向控制参数变量的存储空间;控制机械手完成进刀运动进入规划轨迹后,进入到外层循环,使机械手处于运动待命状态,等待上位机发来的行程与方向控制参数变量值;
步骤4、上位机中设置运动行程与方向后,调用下位机接口函数修改变量的值,并启动下位机数控程序的内层循环,从而实现上位机对机械手的行程、方向可控的手动控制。
2.如权利要求1所述的方法,其特征在于,在内层循环中,对循环变量增减进行增减操作后,进一步对所述机械手当前位置索引变量P进行越界判断,在越界时将机械手当前位置索引变量P的值赋值为机械手轨迹点包中的边界位置索引值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910487099.5A CN110281235B (zh) | 2019-06-05 | 2019-06-05 | 基于参数可控的下位机数控程序的机械手上位机控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910487099.5A CN110281235B (zh) | 2019-06-05 | 2019-06-05 | 基于参数可控的下位机数控程序的机械手上位机控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110281235A CN110281235A (zh) | 2019-09-27 |
CN110281235B true CN110281235B (zh) | 2020-10-02 |
Family
ID=68003400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910487099.5A Active CN110281235B (zh) | 2019-06-05 | 2019-06-05 | 基于参数可控的下位机数控程序的机械手上位机控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110281235B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1165636A (ja) * | 1997-08-08 | 1999-03-09 | Yaskawa Electric Corp | 操作型ロボットの制御装置 |
CN103358309A (zh) * | 2013-07-12 | 2013-10-23 | 杭州金人自动控制设备有限公司 | 一种基于以太网的机械手运动控制系统 |
EP2749878A2 (en) * | 2012-12-31 | 2014-07-02 | Areva NP Inc. | Stereo vision encoded ultrasonic inspection |
CN204354134U (zh) * | 2012-12-14 | 2015-05-27 | 上海宇航系统工程研究所 | 小型机械臂控制器 |
CN104699122A (zh) * | 2015-02-12 | 2015-06-10 | 哈尔滨工业大学 | 一种机器人运动控制系统 |
CN207171186U (zh) * | 2017-04-14 | 2018-04-03 | 安徽工业大学 | 一种悬挂式等离子机器人去除热轧坯熔渣的装置 |
CN108445840A (zh) * | 2018-03-28 | 2018-08-24 | 深圳市策维科技有限公司 | 一种机器人及基于机器人通用平台的简易配置方法 |
CN109407621A (zh) * | 2018-01-30 | 2019-03-01 | 武汉呵尔医疗科技发展有限公司 | 一种取样机械臂插补中s型加减速运动控制方法 |
-
2019
- 2019-06-05 CN CN201910487099.5A patent/CN110281235B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1165636A (ja) * | 1997-08-08 | 1999-03-09 | Yaskawa Electric Corp | 操作型ロボットの制御装置 |
CN204354134U (zh) * | 2012-12-14 | 2015-05-27 | 上海宇航系统工程研究所 | 小型机械臂控制器 |
EP2749878A2 (en) * | 2012-12-31 | 2014-07-02 | Areva NP Inc. | Stereo vision encoded ultrasonic inspection |
CN103358309A (zh) * | 2013-07-12 | 2013-10-23 | 杭州金人自动控制设备有限公司 | 一种基于以太网的机械手运动控制系统 |
CN104699122A (zh) * | 2015-02-12 | 2015-06-10 | 哈尔滨工业大学 | 一种机器人运动控制系统 |
CN207171186U (zh) * | 2017-04-14 | 2018-04-03 | 安徽工业大学 | 一种悬挂式等离子机器人去除热轧坯熔渣的装置 |
CN109407621A (zh) * | 2018-01-30 | 2019-03-01 | 武汉呵尔医疗科技发展有限公司 | 一种取样机械臂插补中s型加减速运动控制方法 |
CN108445840A (zh) * | 2018-03-28 | 2018-08-24 | 深圳市策维科技有限公司 | 一种机器人及基于机器人通用平台的简易配置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110281235A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alatartsev et al. | Robotic task sequencing problem: A survey | |
CN104010774B (zh) | 用于自动生成机器人程序的系统和方法 | |
CN108262747B (zh) | 运动轨迹规划方法、装置、机器人及存储介质 | |
Behzadipour et al. | Time-optimal trajectory planning in cable-based manipulators | |
CN109551485B (zh) | 运动控制方法、装置和系统及存储介质 | |
EP3624997B1 (en) | Method and control system for controlling movement sequences of a robot | |
CN112222703B (zh) | 一种焊接机器人能耗最优轨迹规划方法 | |
CN110900597B (zh) | 一种竖直高度和弯角高度可设置的跳跃运动轨迹规划方法 | |
CN110598285A (zh) | 机械手轨迹逆运动学求解方法、装置及存储介质 | |
KR101207248B1 (ko) | 산업용 로봇, 및 산업용 로봇의 운동을 제어하기 위한 방법 | |
CN108189034A (zh) | 一种机器人连续轨迹实现方法 | |
US20240009841A1 (en) | Dynamic target tracking method, robot and computer-readable storage medium | |
CN110281235B (zh) | 基于参数可控的下位机数控程序的机械手上位机控制方法 | |
CN106826814B (zh) | 一种机器人的运动控制方法和运动控制系统 | |
CN113650011A (zh) | 一种机械臂拼接路径规划方法及装置 | |
CN105034000A (zh) | 一种基于cad导入的工业机器人图形化控制系统 | |
Chien et al. | Accurate prediction of machining cycle times and feedrates with deep neural networks using BiLSTM | |
KR102276050B1 (ko) | 수직 다관절 로봇의 학습 데이터 작성 시스템 | |
Wang et al. | Jerk-optimal trajectory planning for stewart platform in joint space | |
CN114879701A (zh) | 一种机器人轨道避障方法及系统 | |
CN112677155B (zh) | 机器人单步运动的控制方法及控制设备、存储介质 | |
CN112180823A (zh) | 一种基于读取dxf文件运动轨迹规划的plc控制方法 | |
US20210260761A1 (en) | Method And Control System For Controlling An Industrial Actuator | |
Sultanova et al. | Planning the Trajectory of a Warehouse Mobile Robot | |
JP2004348448A (ja) | 工作機械の数値制御装置と工作機械の数値制御方法 |
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 |