CN107932504B - 基于PyQt的机械臂运行控制系统 - Google Patents
基于PyQt的机械臂运行控制系统 Download PDFInfo
- Publication number
- CN107932504B CN107932504B CN201711114104.5A CN201711114104A CN107932504B CN 107932504 B CN107932504 B CN 107932504B CN 201711114104 A CN201711114104 A CN 201711114104A CN 107932504 B CN107932504 B CN 107932504B
- Authority
- CN
- China
- Prior art keywords
- mechanical arm
- module
- simulation
- control module
- upper computer
- 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
- 238000004088 simulation Methods 0.000 claims abstract description 96
- 230000003993 interaction Effects 0.000 claims abstract description 43
- 238000005457 optimization Methods 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 claims abstract description 26
- 230000033001 locomotion Effects 0.000 claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 7
- 239000012636 effector Substances 0.000 claims description 18
- 230000006854 communication Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 11
- 238000000034 method Methods 0.000 claims description 11
- 230000009466 transformation Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 8
- 230000001133 acceleration Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 3
- 238000003491 array Methods 0.000 claims description 2
- 230000007175 bidirectional communication Effects 0.000 claims description 2
- 238000001514 detection method Methods 0.000 claims description 2
- 230000003213 activating effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- 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/1612—Programme controls characterised by the hand, wrist, grip control
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Orthopedic Medicine & Surgery (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
一种基于PyQt的机械臂运行控制系统,主要包括人机交互界面模块、上位机主控模块、仿真与控制模块、轨迹优化模块、USB转串口模块。该控制系统是基于PyQt友好的GUI编程框架搭建的机械臂控制系统,可完成机械臂的基本操作,仿真与在线示教,多参数实时显示等功能,用户在Windows操作系统上下载并安装该控制系统的上位机软件,通过USB转串口模块实时获取机械臂运动的相关参数,对其量化处理后发送给轨迹优化模块,该模块根据正逆运动学公式和笛卡尔轨迹规划算法优化运行轨迹,仿真与控制模块根据优化的运行轨迹完成仿真功能,人机交互界面模块给用户提供各类控制按钮和机械臂参数显示。本发明大幅度扩展了机械臂控制器的功能,同时提高了控制器的人机交互性能。
Description
技术领域
本发明涉及一种机械臂运行控制系统,尤其是一种基于PyQt的机械臂运行,仿真,在线示教的控制系统。
背景技术
工业机械臂是基于电工电子、机械结构、软件控制等多方面技术设计的多自由度运动装置。上世纪六十年代,首台工业机械臂在美国问世,此后工业机械臂得到了迅速发展,在工业领域中占据了无可替代的位置。在搬运、喷漆、焊接、装配等作业中使用自动化工业机械臂取代人工操作,不仅能降低成本还能提高工作效率。随着传感技术、人工智能以及计算机技术的不断发展,工业机械臂正在向其他领域迈进。
依托工业机械臂技术的不断发展,用于工业机械臂的控制系统应运而生,传统的工业机械臂控制系统根据各工业机械臂生产厂家的不同而不同,存在很大的局限性,各厂家控制器之间的兼容性较差,尤其是对示教器的兼容。
示教器作为机械臂的人机交互终端,可以对机械臂进行动作控制。机械臂的示教过程是:首先,手动控制机械臂运动到某个固定位置,机械臂将当前的位置信息反馈给示教器,示教器将机械臂的这一运动编写成程序指令;然后,重复上述过程,完成机械臂的整套动作和程序指令编写;最后自动运行编写好的程序指令,机械臂就会重复再现之前的运动。示教过程包括机械臂的运动控制和示教程序编写两部分。另外,示教器还可以查看并修改机械臂的各类参数、数字输入输出信号以及报警信号等。
传统的工业机器人控制与示教系统多采用控制器控制和APP上位机控制。控制器对于机器人进行示教,需要操作者具备专业的机器人操作技能,不同厂家执照的控制器规格不同,操作培训周期也就不同,控制器一旦损坏后很难维修。APP上位机控制器功能不强,其上位机开发语言的扩展性与兼容性不强,对不同机械臂控制的适应性不佳。同时,这类控制器很难加入仿真模块,也很少考虑机械臂实际运行时的轨迹优化等问题。
目前,针对工业机械臂控制系统的设计主要集中在控制器和示教盒功能优化等方面;针对PC端的工业控制系统设计和示教轨迹优化,运动轨迹仿真等方面的研究较少。杨晶等提出的一种基于Android的机器人示教软件设计与实现(杨晶.基于Android的机器人示教软件设计与实现[D].华中科技大学,2015.),开发了一款新的机器人示教软件,但未考虑机器人仿真和轨迹规划以及后期功能扩展和多品类机械臂兼容性等问题;陈恳,任书楠,王国磊,谢颖,刘志,杨向东,程建辉,于乾坤,吴丹,宋立滨,付成龙,徐静,刘莉,杨东超等提出的工业机器人示教系统(陈恳,任书楠,王国磊,谢颖,刘志,杨向东,程建辉,于乾坤,吴丹,宋立滨,付成龙,徐静,刘莉,杨东超.工业机器人示教系统[P].北京:CN104700705A,2015-06-10.),提出了一种操作较优的机械臂示教系统,但依旧使用的是示教盒,对其他机械臂控制器兼容性较差,同时对机械臂的控制操作不灵活。
发明内容
本发明要克服现有技术的上述缺陷,提供了一种基于PyQt的机械臂运行控制系统。
首先该系统具有较优的人性化操作界面,让不同的用户都能够方便地进行运行和示教等过程的操作,并显示各种控制参数和运行数据供用户直观监视整个控制过程;其次该系统引入了笛卡尔轨迹规划方法,提高了轨迹的平滑性;同时根据机械臂示教运动时的关节角参数实现机械臂运动的实时仿真;最后该系统可以完成对机械臂的基本运动控制,在线示教操作,同步仿真等功能。
本发明为解决现有技术问题所采用的技术方案是:
所述的基于PyQt的机械臂运动控制系统分别包括人机交互模块,上位机主控模块,仿真与控制模块,轨迹优化模块,USB转串口模块;人机交互模块发送控制指令给上位机主控模块,传输技术人员的操作指令,上位机主控模块根据控制命令,发送仿真参数给仿真与控制模块,同时发送关节角度参数给轨迹优化模块;实际机械臂工作台通过USB转串口模块,接受来自上位机主控模块的操作指令,最终完成机械臂的运行控制。
1)人机交互模块,是一个具有良好人机交互性的用户操作和监测模块;人机交互模块接受来自操作人员点击的系统启动信号后,分别激活上位机主控模块,仿真与控制模块,轨迹优化模块,USB转串口模块;操作人员在人机交互模块上点击各模块的任务命令,发送不同类型的控制命令给上位机主控模块;同时人机交互模块接受来自上位机主控模块的机械臂运行相关参数,并进行实时显示,完成人机交互功能。
2)上位机主控模块,是该系统的通信中枢和控制中枢,对各种数据、参数和指令进行解析、处理、调度和收发;上位机主控模块接受来自USB转串口模块的机械臂关节角度参数,末端执行器速度,加速度参数,通过网络通信的方式接受来自仿真与控制模块加工处理过的实际机械臂控制指令字符串,接受来自轨迹优化模块优化完成的各关节角度参数,接受来自人机交互模块传输的操作人员控制指令;上位机主控模块根据系统运行顺序,把人机交互模块发送的控制指令解析后发送给轨迹优化模块,接受轨迹优化模块优化后的机械臂各关节角参数,通过网络通信的方式,把优化的机械臂各关节角参数发送给仿真与控制模块,根据上位机主控模块的逻辑控制器,接受来自仿真与控制模块的控制指令;最后上位机主控模块把从仿真与控制模块接受的控制命令,使用仿真与控制模块的后置处理器程序,转化为机械臂实际可执行代码,发送可执行代码给USB转串口模块。
3)仿真与控制模块,是该控制系统的扩展功能之一,其接受来自上位机主控模块的仿真参数,并把仿真参数转化为PyQt语言,依托PyQt强大的Python内核,直接调用RoboDK动态函数库,可以把仿真运行参数转化为控制机械臂3D模型仿真运行的执行代码;同时仿真与控制模块接受上位机主控模块的机械臂示教参数,并把该参数实时对应到仿真与控制模块的机械臂3D模型中各运动关节上,实现仿真示教并记录仿真运行轨迹的离散点坐标,把坐标参数以字符串的形式存储起来,并把该字符串输入到机械臂对应的D-H参数模型中,得到对应的实际机械臂运行轨迹参数列表,通过仿真与控制模块中的后置处理器软件,自动生成实际机械臂运行控制指令;最后,通过网络通信方式把机械臂运行控制指令发送给上位机主控模块。
所述的仿真与控制模块在完成仿真与在线示教功能的基础上,对仿真轨迹进行优化,同时根据实际机器人结构参数的不同进行校准;在仿真运行时,包含碰撞与工作空间检测,保证机械臂仿真的合理性和真实性;同时,能把仿真结果输出为HTML格式的仿真动画输出给用户。
4)轨迹优化模块,是提高示教效果的关键模块;该模块接受上位机主控模块传输过来的机械臂各关节的角度参数数组,结合当前所使用的机械臂型号的结构参数,使用D-H参数建模方法建立机械臂各关节的基坐标系,利用正运动学公式求解末端执行器在世界坐标系下的位姿参数,进而求出整条示教轨迹;再对示教轨迹使用笛卡尔轨迹规划算法进行轨迹优化;考虑到实际机械臂运动的离散性,该模块基于优化完的轨迹进行逆运动学计算,得出执行较优示教轨迹所对应的关节角参数数组;最终通过上位机主控模块把该关节角参数数组发送给仿真与控制模块进行处理。
所述的轨迹优化模块从上位机主控模块接受机械臂的关节参数数组,结合正逆运动学求解和笛卡尔轨迹规划算法来优化运行和示教轨迹,再将优化后的角度参数数组发送给仿真与控制模块进行仿真与示教操作,所述的正运动学求解运动轨迹的具体方式如下:
4.1)首先对工作机械臂构建其D-H参数模型,把各连杆运动分解为相对参考坐标系的转动和平移运动,对每个杆件沿关节轴建立一个关节坐标系,用以下四个参数来描述杆件:
(1)连杆长度ai:关节轴i和关节轴i+1之间公垂线的长度。
(2)连杆转角αi:作一个与两关节轴之间的公垂线垂直的平面,将关节轴i和关节轴i+1投影到该平面,在平面内轴i按右手法则绕ai转向轴i+1,其转角即为连杆转角。
(3)连杆偏距di:公垂线ai-1与关节轴i的交点到公垂线ai与关节轴i+1的交点的有向距离长度。
(4)关节角θi:ai-1的延长线与ai之间绕关节轴i旋转所形成的夹角,即采集得到的示教机械臂关节角度。
得到示教机械臂多关节的D-H连杆参数如表1所示:
表1示教机械臂D-H连杆参数表
关节i | 连杆长度a<sub>i</sub> | 连杆转角α<sub>i</sub> | 连杆偏距d<sub>i</sub> | 关节角θ<sub>i</sub> |
1 | a<sub>1</sub> | α<sub>1</sub> | d<sub>1</sub> | θ<sub>1</sub> |
2 | a<sub>2</sub> | α<sub>2</sub> | d<sub>2</sub> | θ<sub>2</sub> |
3 | a<sub>3</sub> | α<sub>3</sub> | d<sub>3</sub> | θ<sub>3</sub> |
4 | a<sub>4</sub> | α<sub>4</sub> | d<sub>4</sub> | θ<sub>4</sub> |
… | … | … | … | … |
n | a<sub>n</sub> | α<sub>n</sub> | d<sub>n</sub> | θ<sub>n</sub> |
其中,sθi=sinθi,cθi=cosθi,sαi=sinαi,cαi=cosαi。
4.3)对于多轴机械臂,获得机械臂末端执行器位姿相对固定参考坐标系的变换矩阵(即机械臂末端位置点坐标的变换矩阵):
4.4)求得每组角度参数获取时刻的机械臂的末端执行器位姿相对于固定参考坐标系的变换矩阵后,即可得到每组角度参数获取时刻机械臂末端执行器位姿相对于固定参考坐标系的坐标点组成的离散运动轨迹。
5)USB转串口模块,用于连接实际机械臂工作台和上位机主控模块,完成两者的信息交互,同时保证数据的实时传输;该模块将电脑PC端USB接口转化为通用串口,实现上位机主控模块和机械臂控制器之间的信息双向通信;USB转串口模块接受机械臂控制台上关节角度传感器的角度参数,计算后的末端执行器位置,速度,加速度等信息,同时接受上位机主控模块发送的机械臂运行控制指令;模块中含有校验计算功能单元,对发送端数据进行二补数校验,对接收端数据进行逐字节相对校验;通过USB转串口模块,发送包含校验码的机械臂运行状态参数字符串给上位机主控模块。
本发明的优点和积极效果是:
1、本发明较其它类别的机械臂控制系统,成本低廉,界面功能丰富,安装方便,兼容性好,能满足不同类型用户的需求。本发明整合了机械臂基础控制,在线示教,在线仿真,轨迹优化等功能,极大的拓展了机械臂控制器的功能性,同时变革了控制器繁琐的按钮控制方式,还能通过人机交互界面让用户实时了解机械臂工作状况,给用户带来完全不一样的体验和操作便捷度。
2、本发明是基于PyQt开发而成,继承了Python语言强大的扩展性和兼容性,能大大扩展该机械臂控制器的功能,为后期引入大数据和机器学习功能块提供稳定的功能接口。同时PyQt良好的GUI编程环境,给开发人员带来极致体验,给用户带来人性化的交互界面。
3、本发明还引入了网络通信功能,不但能在本地控制机械臂操作,还能通过分布式网络,对分布在远端的各种机械臂进行及时操控,同时其较好的上位机兼容性能在任何Windows操作系统的用户PC上使用,排除了过去控制器笨重不实用等情况的发生,节省了用户终端控制器带来的器械制作成本;无需担心用户终端控制器出现的机械故障;也不必为用户终端控制器花费过多的能源开销;上位机可以进行在线升级,方便开发者对其进行问题的修复和产品功能的升级;控制器面向PC端使用是当前电器自动化和智能化的趋势,更能贴近用户的需求。
附图说明
图1为本发明的控制原理框图。
图2a为本发明的上位机中机械臂连接控制界面。
图2b为本发明的上位机中机械臂基本控制和相关信息显示界面。
图2c为本发明的上位机中机械臂在线示教和仿真控制界面。
图3为本发明的仿真机械臂运行示意图。
具体实施方式
以下结合附图对本发明做进一步详述。
一种基于PyQt的机械臂运行控制系统,其控制原理框图如图1所示,该系统由人机交互界面模块、上位机主控模块、仿真与控制模块、轨迹优化模块、USB转串口模块,共五大模块组成。其中人机交互模块的具体效果如图2所示,其界面有三大部分组成。包括机械臂连接控制界面、机械臂基本控制和相关信息显示界面、机械臂在线示教和仿真控制界面。各界面用于控制机械臂完成各种特定操作并显示相应的运行参数。图3显示了该机械臂运行控制系统调用机械臂仿真模块的展示效果,该模块能完成机械臂的各种运行仿真。
结合图1,图2和图3,本发明专利的具体实施方式如下:PC端软件安装在Window操作系统上,机械臂控制台与PC端通过USB转串口连接器连接;机械臂关节角度传感器与机械臂控制台通过I/O口传输信号;用户在Windows操作系统的电脑上下载并安装该机械臂运行控制系统,即可对实际机械臂进行控制操作。该机械臂运行控制系统各模块间的实际运行内容由以下几部分组成。
1)人机交互界面模块,当该系统的上位机完整安装到PC上时,启动该软件将会自动运行该模块,用户根据界面提示,用USB转串口模块连接机械臂与计算机。此处连接的机械臂是一款最新的桌面级机械臂Dobot,当Dobot连接到PC上时,用户显示界面将提示连接信息,如图2a所示点击连接图标,人机交互界面将发送控制命令给上位机主控模块,上位机主控模块对控制命令解析处理和转化后通过USB转串口模块发送给实际机械臂工作台,机械臂接受人机交互界面模块途经上位机主控模块解析处理后的命令,并把通信连接成功的信号发送给上位机主控模块,主控模块解析该命令后通过显示界面向用户反馈连接成功的信息。同时人机交互界面模块还能通过上位机主控模块获取实际机械臂的设备信息,连接状态信息,关节角度信息,末端执行器位置、速度、加速度信息。如图2b所示,在人机交互界面模块的基本控制区,用户可以通过点击关节控制区的操作按钮发送控制命令给上位机主控模块,主控模块通过对控制命令进行解析和匹配,并把处理后的操作命令用USB转串口模块传输给机械臂工作台完成对应操作。人机交互界面除了能通过上位机主控模块直接控制机械臂工作台外,还能借助上位机主控模块完成对获取的关节角度等参数的轨迹优化和仿真操作。如图2c所示,当用户点击该界面时,人机交互模块将调用仿真与示教指令给上位机主控模块,该模块通过命令匹配,激活仿真与控制模块。从Dobot机械臂传输过来角度,位置,速度,加速度等参数时,上位机主控模块将根据用户在人机交互界面的操作要求,激活轨迹优化模块。由此,用户可以通过人机交互界面模块对该机械臂运行控制系统进行所需的各类操作,该模块发送控制命令给上位机主控模块,通过主控模块完成实际控制;并从上位机主控模块获取各类参数,与用户实现及时交互。
2)上位机主控模块,是本系统的信息中枢和控制中枢,能对各种数据、参数和指令进行处理、调度和收发。在具体操作中,用户根据个人意愿发送操作命令给人机交互界面模块,该模块把用户操作指令转换为计算机指令后传输给上位机主控模块。上位机模块通过PyQt语言和Windows系统框架实现软件模块间的通信。基于网络通信机制,对仿真与控制模块和轨迹优化模块建立连接。再通过USB转串口模块完成PC与机械臂之间的通讯连接,然后在PC上通过Windows系统框架与PyQt的通信机制完成上位机模块与机械臂工作台的通信连接。同时上位机主控模块也是仿真与控制模块和轨迹优化模块的调度中枢,Dobot机械臂通过USB转串口模块不断发送关节角等参数信息给上位机主控模块,上位机主控模块在得到机械臂实时仿真命令后,首先把关节角度等参数发送给轨迹优化模块进行轨迹优化。当主控模块获得优化后的关节角度参数后通过网络通信把参数发送给仿真与控制模块。如果用户需要使用系统的仿真与示教功能时,人机交互界面模块将相应信息发送给上位机主控模块,主控模块解析上述命令,启动仿真与控制模块,并把解析后的控制命令发送给机械臂工作台。通过上位机主控模块的中间调度,使得整个系统的机制能有条不紊的运行下去。
3)仿真与控制模块,是本系统的扩展功能之一,当用户在人机交互界面选择机械臂仿真运行命令时,上位机主控模块将命令解析后激活仿真与控制模块,该模块被激活后不断向上位机主控模块获取Dobot机械臂的关节角度信息,同时调用RoboDK动态函数库来完成Dobot机械臂的3D运行仿真,该系统是基于PyQt开发,能直接使用RoboDK的动态函数库来控制Dobot的3D模型,完成与实际Dobot相同的操作。仿真与控制模块在执行仿真操作时,能在线生成运行轨迹,方便用户了解机械臂的运行轨迹,同时能适当调整机械臂的运行操作。当用户在人机交互界面选择机械臂在线示教功能时,上位机主控模块会相应激活仿真与控制模块的示教功能,一方面可以通过RoboDK仿真接口实现对仿真机械臂运行轨迹的实时描述;另一方面该模块将实时记录Dobot机械臂的运行状态信息,实现机械臂的示教功能。
4)轨迹优化模块,是提高示教与仿真等效果的关键模块;该模块接受上位机主控模块传输过来的机械臂各关节的角度参数数组,结合Dobot机械臂的结构参数,对Dobot机械臂构建其D-H参数模型,把各连杆运动分解为相对参考坐标系的转动和平移运动,对Dobot的四个连杆沿关节轴建立四个关节基坐标系,然后用以下四个参数来描述杆件:
(1)连杆长度ai:关节轴i和关节轴i+1之间公垂线的长度。
(2)连杆转角αi:作一个与两关节轴之间的公垂线垂直的平面,将关节轴i和关节轴i+1投影到该平面,在平面内轴i按右手法则绕ai转向轴i+1,其转角即为连杆转角。
(3)连杆偏距di:公垂线ai-1与关节轴i的交点到公垂线ai与关节轴i+1的交点的有向距离长度。
(4)关节角θi:ai-1的延长线与ai之间绕关节轴i旋转所形成的夹角,即采集得到的示教机械臂关节角度。
得到dobot机械臂多关节的D-H连杆参数如表1所示:
表1示教机械臂D-H连杆参数表
关节i | 连杆长度a<sub>i</sub> | 连杆转角α<sub>i</sub> | 连杆偏距d<sub>i</sub> | 关节角θ<sub>i</sub> |
1 | 0 | 0 | 0 | 180° |
2 | 20mm | 0 | 0 | 85° |
3 | 135mm | 0 | 0 | 105° |
4 | 147mm | 0 | 0 | 180° |
其中,sθi=sinθi,cθi=cosθi,sαi=sinαi,cαi=cosαi。
为获得Dobot机械臂末端执行器位姿相对固定参考坐标系的变换矩阵(Dobot机械臂末端位置点坐标的变换矩阵),使用的是公式(2)。
最后在求得每组角度参数获取时刻Dobot机械臂末端执行器位姿相对于固定参考坐标系的变换矩阵后,即可得到每组角度参数获取时刻Dobot机械臂末端执行器位姿相对于固定参考坐标系的坐标点组成的离散运动轨迹。
以上过程都在轨迹优化模块中完成,并通过仿真与控制模块实现机械臂轨迹仿真和实际机械臂示教控制。
5)USB转串口模块,采用的是CH340转串口芯片和外围电路构成USB转串口模块,USB转串口模块连接电脑PC和机械臂通信接口,将电脑PC端USB接口转化为通用串口,实现电脑PC端和机械臂控制器的信息双向互通。该模块的串行接口可以直接连接本实施方案的Dobot机械臂外接串口,实现PC端与机械臂的相互连接。USB转串口模块接受来自Dobot机械臂各关节角度传感器的信息,并在参数信息发送端载入校验码,通过USB转串口模块发送到上位机主控模块后,在该模块上完成参数校验,对正确的角度信息进行分类后传输给其他功能模块。同时,上位机主控模块,通过USB转串口模块把控制Dobot机械臂的控制字符串按照Dobot机械臂指令格式发送出去。实现了机械臂与控制器间使用有线连接,控制器与用户界面交互之间使用网络连接的控制机制。
以上是整个系统的控制情况以及该系统中各模块之间的相互作用关系,基于PyQt的机械臂运动控制系统让用户的操作变得简单方便,轨迹优化模块让机械臂仿真和示教轨迹变得更加光滑,运动速度变化更加均匀,机械臂仿真与控制模块大幅度扩展了机械臂控制器的功能,同时PyQt编程界面的高扩展性和兼容性为未来加入机器学习和大数据分析模块提供实用接口。
需要强调的是,本发明所述的实施案例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方案中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出类似的其它实施方式,同样属于本发明的保护范围。
Claims (3)
1.一种基于PyQt的机械臂运行控制系统,其特征在于:
包括人机交互模块,上位机主控模块,仿真与控制模块,轨迹优化模块,USB转串口模块;人机交互模块发送控制指令给上位机主控模块,传输操作人员的控制指令,上位机主控模块根据控制指令,发送仿真参数给仿真与控制模块,同时发送关节角度参数给轨迹优化模块;实际机械臂工作台通过USB转串口模块,接受来自上位机主控模块的控制指令,最终完成机械臂的运行控制;
1)人机交互模块,接受来自操作人员点击的系统启动信号后,分别激活上位机主控模块,仿真与控制模块,轨迹优化模块,USB转串口模块;操作人员在人机交互模块上点击各模块的任务命令,发送不同类型的控制指令给上位机主控模块;同时人机交互模块接受来自上位机主控模块的机械臂运行相关参数,并进行实时显示,完成人机交互功能;
2)上位机主控模块,对各种数据、参数和指令进行解析、处理、调度和收发;上位机主控模块接受来自USB转串口模块的机械臂关节角度参数,末端执行器速度,加速度参数,通过网络通信的方式接受来自仿真与控制模块加工处理过的实际机械臂控制指令字符串,接受来自轨迹优化模块优化完成的各关节角度参数,接受来自人机交互模块传输的操作人员控制指令;上位机主控模块根据系统运行顺序,把人机交互模块发送的控制指令解析后发送给轨迹优化模块,接受轨迹优化模块优化后的机械臂各关节角参数,通过网络通信的方式,把优化的机械臂各关节角参数发送给仿真与控制模块,根据上位机主控模块的逻辑控制器,接受来自仿真与控制模块的控制指令;最后上位机主控模块把从仿真与控制模块接受的控制指令,使用仿真与控制模块的后置处理器程序,转化为机械臂实际可执行代码,发送可执行代码给USB转串口模块;
3)仿真与控制模块,接受来自上位机主控模块的仿真参数,并把仿真参数转化为PyQt语言,依托PyQt强大的Python内核,直接调用RoboDK动态函数库,把仿真参数转化为控制机械臂3D模型仿真运行的执行代码;同时仿真与控制模块接受上位机主控模块的机械臂示教参数,并把该机械臂示教参数实时对应到仿真与控制模块的机械臂3D模型中各运动关节上,实现仿真示教并记录仿真运行轨迹的离散点坐标,把坐标参数以字符串的形式存储起来,并把该字符串输入到机械臂对应的D-H参数模型中,得到对应的实际机械臂运行轨迹参数列表,通过仿真与控制模块中的后置处理器软件,自动生成实际机械臂运行控制指令;最后,通过网络通信方式把机械臂运行控制指令发送给上位机主控模块;
4)轨迹优化模块,接受来自上位机主控模块的机械臂各关节角参数数组,结合当前所使用的机械臂型号的机构参数,使用D-H参数建模方法建立机械臂各关节的基坐标系,利用正运动学公式求解末端执行器在世界坐标系下的位姿参数,进而求出整条示教轨迹;再对示教轨迹使用笛卡尔轨迹规划算法进行轨迹优化;考虑到实际机械臂运行的离散特性,该轨迹优化模块对优化完的轨迹进行逆运动学计算,得出执行优化后的示教轨迹所对应的关节角参数数组;最终发送关节角参数数组给上位机主控模块;
5)USB转串口模块,用于连接实际机械臂工作台和上位机主控模块,完成两者的信息交互,同时保证数据的实时传输;USB转串口模块将电脑PC端USB接口转化为通用串口,实现上位机主控模块和机械臂控制器之间的信息双向通信;USB转串口模块接受机械臂控制台上关节角度传感器的角度参数,计算后的末端执行器位置,速度,加速度信息,同时接受上位机主控模块发送的机械臂运行控制指令;含有校验计算功能单元,对发送端数据进行二补数校验,对接收端数据进行逐字节相对校验;通过USB转串口模块,发送包含校验码的机械臂运行状态参数字符串给上位机主控模块。
2.根据权利要求1所述的基于PyQt的机械臂运行控制系统,其特征在于:所述的仿真与控制模块在完成仿真与在线示教功能的基础上,对仿真轨迹进行优化,同时根据实际机器人结构参数的不同进行校准;在仿真运行时,包含碰撞与工作空间检测,保证机械臂仿真的合理性和真实性;同时,能把仿真结果输出为HTML格式的仿真动画输出给用户。
3.根据权利要求1所述的基于PyQt的机械臂运行控制系统,其特征在于:所述的轨迹优化模块从上位机主控模块接受机械臂的关节角参数数组,结合正逆运动学求解和笛卡尔轨迹规划算法来优化运行和示教轨迹,再将优化后的关节角参数数组发送给仿真与控制模块进行仿真与复现操作,正运动学求解运动轨迹的具体方式如下:
3.1)首先对工作机械臂构建其D-H参数模型,把各连杆运动分解为相对参考坐标系的转动和平移运动,对每个杆件沿关节轴建立一个关节坐标系,用以下四个参数来描述杆件:
(1)连杆长度ai:关节轴i和关节轴i+1之间公垂线的长度;
(2)连杆转角αi:作一个与两关节轴之间的公垂线垂直的平面,将关节轴i和关节轴i+1投影到该平面,在平面内轴i按右手法则绕ai转向轴i+1,其转角即为连杆转角;
(3)连杆偏距di:公垂线ai-1与关节轴i的交点到公垂线ai与关节轴i+1的交点的有向距离长度;
(4)关节角θi:ai-1的延长线与ai之间绕关节轴i旋转所形成的夹角,即采集得到的示教机械臂关节角度;
其中,sθi=sinθi,cθi=cosθi,sαi=sinαi,cαi=cosαi;
3.3)对于多轴机械臂,获得机械臂末端执行器位姿相对固定参考坐标系的变换矩阵,即机械臂末端位置点坐标的变换矩阵:
3.4)求得每组角度参数获取时刻的机械臂末端执行器位姿相对于固定参考坐标系的变换矩阵后,即可得到每组角度参数获取时刻机械臂末端执行器位姿相对于固定参考坐标系的坐标点组成的离散运动轨迹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711114104.5A CN107932504B (zh) | 2017-11-13 | 2017-11-13 | 基于PyQt的机械臂运行控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711114104.5A CN107932504B (zh) | 2017-11-13 | 2017-11-13 | 基于PyQt的机械臂运行控制系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107932504A CN107932504A (zh) | 2018-04-20 |
CN107932504B true CN107932504B (zh) | 2020-11-13 |
Family
ID=61933922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711114104.5A Active CN107932504B (zh) | 2017-11-13 | 2017-11-13 | 基于PyQt的机械臂运行控制系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107932504B (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108646562B (zh) * | 2018-05-15 | 2021-05-18 | 浙江工业大学 | 一种基于交叉耦合的多机械臂系统有限时间参数辨识与位置同步控制方法 |
CN108646561B (zh) * | 2018-05-15 | 2021-05-18 | 浙江工业大学 | 一种基于交叉耦合的多机械臂系统固定时间参数辨识与位置同步控制方法 |
CN109048894A (zh) * | 2018-08-07 | 2018-12-21 | 中铁工程机械研究设计院有限公司 | 一种可远程操作的开挖机器人的3d仿真系统 |
CN108942943B (zh) * | 2018-08-16 | 2020-03-17 | 居鹤华 | 基于轴不变量的多轴机器人正运动学计算方法 |
CN109623810B (zh) * | 2018-11-26 | 2022-04-22 | 南京航空航天大学 | 一种机器人平滑的时间最优轨迹规划的方法 |
CN109434808A (zh) * | 2018-12-13 | 2019-03-08 | 上海菡为智能科技有限公司 | 一种云端远程服务智能机器人控制系统实现方法 |
CN109807896B (zh) * | 2019-02-28 | 2021-05-04 | 深圳镁伽科技有限公司 | 运动控制方法和系统、控制设备及存储介质 |
CN109807897B (zh) * | 2019-02-28 | 2021-08-10 | 深圳镁伽科技有限公司 | 运动控制方法和系统、控制设备及存储介质 |
CN109910004B (zh) * | 2019-02-28 | 2021-05-04 | 深圳镁伽科技有限公司 | 用户交互方法、控制设备及存储介质 |
CN109807898B (zh) * | 2019-02-28 | 2021-05-04 | 深圳镁伽科技有限公司 | 运动控制方法、控制设备及存储介质 |
CN110000775B (zh) * | 2019-02-28 | 2021-09-21 | 深圳镁伽科技有限公司 | 设备管理方法、控制设备及存储介质 |
CN110632895B (zh) * | 2019-03-25 | 2021-05-04 | 深圳镁伽科技有限公司 | 运动控制部件的管理方法、控制设备、运动控制系统 |
CN109927029A (zh) * | 2019-03-27 | 2019-06-25 | 飞马智科信息技术股份有限公司 | 一种机械手的动作控制方法 |
CN110161878B (zh) * | 2019-05-15 | 2020-07-28 | 崧智智能科技(深圳)有限公司 | 自动化设备的调试方法及系统 |
CN112045671A (zh) * | 2019-06-06 | 2020-12-08 | 南京理工大学 | 一种通用机械臂运动状态检测系统 |
CN112045664A (zh) * | 2019-06-06 | 2020-12-08 | 南京理工大学 | 一种基于ros系统的通用机械臂控制器 |
CN110549334A (zh) * | 2019-08-15 | 2019-12-10 | 大连大华中天科技有限公司 | 一种四自由度机械手臂的控制方法 |
CN110488763B (zh) * | 2019-08-27 | 2021-06-29 | 泉州市大鲨鱼机械科技有限公司 | 一种基于绳锯机数控控制器的交互界面系统 |
CN112959317B (zh) * | 2019-12-13 | 2022-07-19 | 上海智殷自动化科技有限公司 | 一种工业机器人人机交互系统 |
CN110977983B (zh) * | 2019-12-20 | 2022-11-01 | 艾力机器人科技(苏州)有限公司 | 用于机械臂控制的人机界面系统 |
CN111037557B (zh) * | 2019-12-20 | 2022-07-22 | 扬州哈工科创机器人研究院有限公司 | 用于机械臂led显示演绎的系统和控制系统 |
CN111195909B (zh) * | 2019-12-27 | 2021-12-17 | 深圳市优必选科技股份有限公司 | 机器人的舵机控制方法、装置、终端及计算机存储介质 |
CN113874175A (zh) * | 2020-03-09 | 2021-12-31 | 深圳市大疆创新科技有限公司 | 控制系统、方法、电子设备、可移动设备及计算机可读存储介质 |
CN111706608B (zh) * | 2020-04-30 | 2022-03-04 | 北京恩优科技有限公司 | 一种磁悬浮轴承人机交互方法 |
CN112071144A (zh) * | 2020-09-01 | 2020-12-11 | 芜湖固高自动化技术有限公司 | 一种教学仿真平台 |
CN112757273A (zh) * | 2020-12-28 | 2021-05-07 | 广州一康医疗设备实业有限公司 | 一种机械臂轨迹编辑可视化方法、系统、装置及存储介质 |
CN112764357A (zh) * | 2021-01-22 | 2021-05-07 | 郑州捷安高科股份有限公司 | 工程机械仿真方法、装置、设备及存储介质 |
CN116787444A (zh) * | 2021-02-04 | 2023-09-22 | 武汉联影智融医疗科技有限公司 | 机械臂模拟系统和机器人仿真系统 |
CN114952817A (zh) * | 2021-02-20 | 2022-08-30 | 武汉联影智融医疗科技有限公司 | 腹腔镜手术机器人仿真系统及其控制方法 |
CN112894827B (zh) * | 2021-02-25 | 2022-09-02 | 中国科学院长春光学精密机械与物理研究所 | 一种机械臂运动控制方法、系统、装置及可读存储介质 |
US11766775B2 (en) * | 2021-05-20 | 2023-09-26 | Ubkang (Qingdao) Technology Co., Ltd. | Method, device and computer-readable storage medium for designing serial manipulator |
CN113492414B (zh) * | 2021-06-29 | 2023-05-26 | 江苏集萃华科智能装备科技有限公司 | 一种基于Web的机器人跨平台人机交互系统及实现方法 |
CN114083548A (zh) * | 2021-11-16 | 2022-02-25 | 国网天津市电力公司 | 系列化配网带电作业机器人通用化平台及设计方法 |
CN114473324B (zh) * | 2022-02-21 | 2023-11-03 | 哈尔滨工业大学(深圳) | 基于示教学习的多机械臂协同拼接焊接控制方法及系统 |
CN114791763B (zh) * | 2022-05-31 | 2024-07-30 | 上海宇航系统工程研究所 | 一种水下电动机械臂人机交互控制集成系统 |
CN115026832A (zh) * | 2022-06-30 | 2022-09-09 | 天津大学 | 测控一体机器人系统与操控方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106346480A (zh) * | 2016-11-17 | 2017-01-25 | 贵州大学 | 一种基于ug和matlab的多自由度注塑机械臂建模方法 |
JP2017087300A (ja) * | 2015-11-02 | 2017-05-25 | ファナック株式会社 | オフラインのロボットプログラミング装置 |
CN106777736A (zh) * | 2016-12-27 | 2017-05-31 | 浙江大学 | 用于绳驱动冗余机械臂运动学模型的仿真平台及仿真方法 |
CN107220099A (zh) * | 2017-06-20 | 2017-09-29 | 华中科技大学 | 一种基于三维模型的机器人可视化虚拟示教系统及方法 |
CN107283425A (zh) * | 2017-06-20 | 2017-10-24 | 巨轮(广州)机器人与智能制造有限公司 | 一种双六轴机器人协同运动控制模型及算法 |
-
2017
- 2017-11-13 CN CN201711114104.5A patent/CN107932504B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017087300A (ja) * | 2015-11-02 | 2017-05-25 | ファナック株式会社 | オフラインのロボットプログラミング装置 |
CN106346480A (zh) * | 2016-11-17 | 2017-01-25 | 贵州大学 | 一种基于ug和matlab的多自由度注塑机械臂建模方法 |
CN106777736A (zh) * | 2016-12-27 | 2017-05-31 | 浙江大学 | 用于绳驱动冗余机械臂运动学模型的仿真平台及仿真方法 |
CN107220099A (zh) * | 2017-06-20 | 2017-09-29 | 华中科技大学 | 一种基于三维模型的机器人可视化虚拟示教系统及方法 |
CN107283425A (zh) * | 2017-06-20 | 2017-10-24 | 巨轮(广州)机器人与智能制造有限公司 | 一种双六轴机器人协同运动控制模型及算法 |
Non-Patent Citations (2)
Title |
---|
Dobot型机器人运动学分析与仿真;蔡汉明等;《机电工程》;20161020;第33卷(第10期);第1217-1220页 * |
工业机器人运动学图形仿真系统;沈俊杰等;《机械与电子》;20050225(第02期);第36-38页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107932504A (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107932504B (zh) | 基于PyQt的机械臂运行控制系统 | |
CN107901039B (zh) | 基于Python的桌面级机器人离线编程仿真系统 | |
CN106502095B (zh) | 一种多工业机器人的协同控制方法 | |
Ostanin et al. | Interactive robot programing using mixed reality | |
CN107363812B (zh) | 无线控制的六自由度机械臂示教系统 | |
US6445964B1 (en) | Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine | |
CN107544299B (zh) | 用于六自由度机械臂示教控制的pc端app系统 | |
CN113836702B (zh) | 机器人示教编程方法及机器人示教编程装置 | |
CN111381815A (zh) | 离线编程后置代码转换方法和基于该方法的双机器人协同智造系统、方法 | |
CN112684717A (zh) | 一种虚实结合数字孪生仿真实验平台构建方法 | |
CN106777736A (zh) | 用于绳驱动冗余机械臂运动学模型的仿真平台及仿真方法 | |
CN114102590B (zh) | 一种工业机器人仿真方法、系统及应用 | |
JP7052250B2 (ja) | 情報処理装置、情報処理方法、および情報処理プログラム | |
CN111103850A (zh) | 机床系统 | |
CN108527320A (zh) | 一种基于三维鼠标的协作机器人引导示教方法 | |
KR100956839B1 (ko) | 다관절 로봇 시뮬레이션 제어프로그램 개발 장치 | |
CN112659124A (zh) | 一种基于Android系统的虚拟仿真与控制系统 | |
Zhang et al. | Interactive assembly by a two-arm robot agent | |
Safeea et al. | Model-based hardware in the loop control of collaborative robots: Simulink and Python based interfaces | |
CN112847300A (zh) | 一种基于移动工业机器人示教器的示教系统及其示教方法 | |
Chand | Developing a Matlab Controller for Niryo Ned Robot | |
US20210229286A1 (en) | Cyber-physical system-based remote control framework for robots | |
CN109664273B (zh) | 一种工业机器人光标拖动示教方法及系统 | |
CN112233208B (zh) | 机器人状态处理方法、装置、计算设备和存储介质 | |
Wei et al. | Raspberry Pi 4B-based cloud-based robot design and demonstration platform construction |
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 |