CN107932504A - 基于PyQt的机械臂运行控制系统 - Google Patents

基于PyQt的机械臂运行控制系统 Download PDF

Info

Publication number
CN107932504A
CN107932504A CN201711114104.5A CN201711114104A CN107932504A CN 107932504 A CN107932504 A CN 107932504A CN 201711114104 A CN201711114104 A CN 201711114104A CN 107932504 A CN107932504 A CN 107932504A
Authority
CN
China
Prior art keywords
module
mechanical arm
control module
parameter
emulation
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.)
Granted
Application number
CN201711114104.5A
Other languages
English (en)
Other versions
CN107932504B (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.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201711114104.5A priority Critical patent/CN107932504B/zh
Publication of CN107932504A publication Critical patent/CN107932504A/zh
Application granted granted Critical
Publication of CN107932504B publication Critical patent/CN107932504B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • 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

Abstract

一种基于PyQt的机械臂运行控制系统,主要包括人机交互界面模块、上位机主控模块、仿真与控制模块、轨迹优化模块、USB转串口模块。该控制系统是基于PyQt友好的GUI编程框架搭建的机械臂控制系统,可完成机械臂的基本操作,仿真与在线示教,多参数实时显示等功能,用户在Windows操作系统上下载并安装该控制系统的上位机软件,通过USB转串口模块实时获取机械臂运动的相关参数,对其量化处理后发送给轨迹优化模块,该模块根据正逆运动学公式和笛卡尔轨迹规划算法优化运行轨迹,仿真与控制模块根据优化的运行轨迹完成仿真功能,人机交互界面模块给用户提供各类控制按钮和机械臂参数显示。本发明大幅度扩展了机械臂控制器的功能,同时提高了控制器的人机交互性能。

Description

基于PyQt的机械臂运行控制系统
技术领域
[0001] 本发明涉及一种机械臂运行控制系统,尤其是一种基于PyQt的机械臂运行,仿真, 在线示教的控制系统。
背景技术
[0002] 工业机械臂是基于电工电子、机械结构、软件控制等多方面技术设计的多自由度 运动装置。上世纪六十年代,首台工业机械臂在美国问世,此后工业机械臂得到了迅速发 展,在工业领域中占据了无可替代的位置。在搬运、喷漆、焊接、装配等作业中使用自动化工 业机械臂取代人工操作,不仅能降低成本还能提高工作效率。随着传感技术、人工智能以及 计算机技术的不断发展,工业机械臂正在向其他领域迈进。
[0003] 依托工业机械臂技术的不断发展,用于工业机械臂的控制系统应运而生,传统的 工业机械臂控制系统根据各工业机械臂生产厂家的不同而不同,存在很大的局限性,各厂 家控制器之间的兼容性较差,尤其是对示教器的兼容。
[0004] 示教器作为机械臂的人机交互终端,可以对机械臂进行动作控制。机械臂的示教 过程是:首先,手动控制机械臂运动到某个固定位置,机械臂将当前的位置信息反馈给示教 器,示教器将机械臂的这一运动编写成程序指令;然后,重复上述过程,完成机械臂的整套 动作和程序指令编写;最后自动运行编写好的程序指令,机械臂就会重复再现之前的运动。 示教过程包括机械臂的运动控制和示教程序编写两部分。另外,示教器还可以查看并修改 机械臂的各类参数、数字输入输出信号以及报警信号等。
[0005] 传统的工业机器人控制与示教系统多采用控制器控制和APP上位机控制。控制器 对于机器人进行示教,需要操作者具备专业的机器人操作技能,不同厂家执照的控制器规 格不同,操作培训周期也就不同,控制器一旦损坏后很难维修。APP上位机控制器功能不强, 其上位机开发语言的扩展性与兼容性不强,对不同机械臂控制的适应性不佳。同时,这类控 制器很难加入仿真模块,也很少考虑机械臂实际运行时的轨迹优化等问题。
[0006] 目前,针对工业机械臂控制系统的设计主要集中在控制器和示教盒功能优化等方 面;针对PC端的工业控制系统设计和示教轨迹优化,运动轨迹仿真等方面的研究较少。杨晶 等提出的一种基于Android的机器人示教软件设计与实现(杨晶.基于Android的机器人示 教软件设计与实现[D].华中科技大学,2015.),开发了一款新的机器人示教软件,但未考虑 机器人仿真和轨迹规划以及后期功能扩展和多品类机械臂兼容性等问题;陈恳,任书楠,王 国磊,谢颖,刘志,杨向东,程建辉,于乾坤,吴丹,宋立滨,付成龙,徐静,刘莉,杨东超等提出 的工业机器人示教系统(陈恳,任书楠,王国磊,谢颖,刘志,杨向东,程建辉,于乾坤,吴丹, 宋立滨,付成龙,徐静,刘莉,杨东超.工业机器人示教系统[P].北京:CN104700705A,2015-06-10.),提出了一种操作较优的机械臂示教系统,但依旧使用的是示教盒,对其他机械臂 控制器兼容性较差,同时对机械臂的控制操作不灵活。
发明内容
[0007] 本发明要克服现有技术的上述缺陷,提供了一种基于PyQt的机械臂运行控制系 统。
[0008] 首先该系统具有较优的人性化操作界面,让不同的用户都能够方便地进行运行和 示教等过程的操作,并显示各种控制参数和运行数据供用户直观监视整个控制过程;其次 该系统引入了笛卡尔轨迹规划方法,提高了轨迹的平滑性;同时根据机械臂示教运动时的 关节角参数实现机械臂运动的实时仿真;最后该系统可以完成对机械臂的基本运动控制, 在线示教操作,同步仿真等功能。
[0009] 本发明为解决现有技术问题所采用的技术方案是:
[0010]所述的基于PyQt的机械臂运动控制系统分别包括人机交互模块,上位机主控模 块,仿真与控制模块,轨迹规划模块,USB转串口模块;人机交互模块发送控制指令给上位机 主控模块,传输技术人员的操作指令,上位机主控模块根据控制命令,发送仿真参数给仿真 与控制模块,同时发送关节角度参数给轨迹优化模块;实际机械臂工作台通过USB转串口模 块,接受来自上位机主控模块的操作指令,最终完成机械臂的运行控制。
[0011] 1)人机交互模块,是一个具有良好人机交互性的用户操作和监测模块;人机交互 模块接受来自操作人员点击的系统启动信号后,分别激活上位机主控模块,仿真与控制模 块,轨迹规划模块,USB转串口模块;操作人员在人机交互模块上点击各模块的任务命令,发 送不同类型的控制命令给上位机主控模块;同时人机交互模块接受来自上位机主控模块的 机械臂运行相关参数,并进行实时显示,完成人机交互功能。
[0012] 2)上位机主控模块,是该系统的通信中枢和控制中枢,对各种数据、参数和指令进 行解析、处理、调度和收发;上位机主控模块接受来自USB转串口模块的机械臂关节角度参 数,末端执行器速度,加速度参数,通过网络通信的方式接受来自仿真与控制模块加工处理 过的实际机械臂控制指令字符串,接受来自轨迹优化模块优化完成的各关节角度参数,接 受来自人机交互模块传输的操作人员控制指令;上位机主控模块根据系统运行顺序,把人 机交互模块发送的控制指令解析后发送给轨迹优化模块,接受轨迹优化模块优化后的机械 臂各关节角参数,通过网络通信的方式,把优化的机械臂各关节角参数发送给仿真与控制 模块,根据上位机主控模块的逻辑控制器,接受来自仿真与控制模块的控制指令;最后上位 机主控模块把从仿真与控制模块接受的控制命令,使用仿真与控制模块的后置处理器程 序,转化为机械臂实际可执行代码,发送可执行代码给USB转串口模块。
[0013] 3)仿真与控制模块,是该控制系统的扩展功能之一,其接受来自上位机主控模块 的仿真参数,并把仿真参数转化为PyQt语言,依托PyQt强大的Python内核,直接调用RoboDK 动态函数库,可以把仿真运行参数转化为控制机械臂3D模型仿真运行的执行代码;同时仿 真与控制模块接受上位机主控模块的机械臂示教参数,并把该参数实时对应到仿真与控制 模块的机械臂3D模型中各运动关节上,实现仿真示教并记录仿真运行轨迹的离散点坐标, 把坐标参数以字符串的形式存储起来,并把该字符串输入到机械臂对应的D-H参数模型中, 得到对应的实际机械臂运行轨迹参数列表,通过仿真与控制模块中的后置处理器软件,自 动生成实际机械臂运行控制指令;最后,通过网络通信方式把机械臂运行控制指令发送给 上位机主控模块。
[0014] 所述的仿真与控制模块在完成仿真与在线示教功能的基础上,对仿真轨迹进行优 化,同时根据实际机器人结构参数的不同进行校准;在仿真运行时,包含碰撞与工作空间检 测,保证机械臂仿真的合理性和真实性;同时,能把仿真结果输出为HTML格式的仿真动画输 出给用户。
[0015] 4)轨迹优化模块,是提高示教效果的关键模块;该模块接受上位机主控模块传输 过来的机械臂各关节的角度参数数组,结合当前所使用的机械臂型号的结构参数,使用D-H 参数建模方法建立机械臂各关节的基坐标系,利用正运动学公式求解末端执行器在世界坐 标系下的位姿参数,进而求出整条示教轨迹;再对示教轨迹使用笛卡尔轨迹规划算法进行 轨迹优化;考虑到实际机械臂运动的离散性,该模块基于优化完的轨迹进行逆运动学计算, 得出执行较优示教轨迹所对应的关节角参数数组;最终通过上位机主控模块把该关节角参 数数组发送给仿真与控制模块进行处理。
[0016] 所述的轨迹优化模块从上位机主控模块接受机械臂的关节参数数组,结合正逆运 动学求解和笛卡尔轨迹规划算法来优化运行和示教轨迹,再将优化后的角度参数数组发送 给仿真与控制模块进行仿真与示教操作,所述的正运动学求解运动轨迹的具体方式如下:
[0017] 4.1)首先对工作机械臂构建其D-H参数模型,把各连杆运动分解为相对参考坐标 系的转动和平移运动,对每个杆件沿关节轴建立一个关节坐标系,用以下四个参数来描述 杆件:
[0018] (1)连杆长度ai:关节轴i和关节轴i+1之间公垂线的长度。
[0019] (2)连杆转角^:作一个与两关节轴之间的公垂线垂直的平面,将关节轴i和关节 轴i+1投影到该平面,在平面内轴i按右手法则绕B1转向轴i+1,其转角即为连杆转角。
[0020] (3)连杆偏距di:公垂线ai—与关节轴i的交点到公垂线ai与关节轴i + 1的交点的有 向距离长度。
[0021] ⑷关节角Qm1的延长线与ai之间绕关节轴i旋转所形成的夹角,即采集得到的 示教机械臂关节角度。
[0022]得到示教机械臂多关节的D-H连杆参数如表1所示:
[0023] 表1示教机械臂D-H连杆参数表
Figure CN107932504AD00061
[0025] 4.2)以基座坐标系作为To坐标系,设表示i关节坐标系相对i-Ι关节坐标系的位 置和姿态,则:
Figure CN107932504AD00062
[0027] 其中,s9i = sin9i,c9i = cos9i,SCii = sinai,ecu = cosai。
[0028] 4.3)对于多轴机械臂,获得机械臂末端执行器位姿相对固定参考坐标系的变换矩 阵(即机械臂末端位置点坐标的变换矩阵):
Figure CN107932504AD00071
[0030] 其中,表示机械臂末端执行器相对于基坐标系的变换矩阵。
[0031] 4.4)求得每组角度参数获取时刻的机械臂的末端执行器位姿相对于固定参考坐 标系的变换矩阵后,即可得到每组角度参数获取时刻机械臂末端执行器位姿相对于固定参 考坐标系的坐标点组成的离散运动轨迹。
[0032] 5) USB转串口模块,用于连接实际机械臂工作台和上位机主控模块,完成两者的信 息交互,同时保证数据的实时传输;该模块将电脑PC端USB接口转化为通用串口,实现上位 机主控模块和机械臂控制器之间的信息双向通信;USB转串口模块接受机械臂控制台上关 节角度传感器的角度参数,计算后的末端执行器位置,速度,加速度等信息,同时接受上位 机主控模块发送的机械臂运行控制指令;模块中含有校验计算功能单元,对发送端数据进 行二补数校验,对接收端数据进行逐字节相对校验;通过USB转串口模块,发送包含校验码 的机械臂运行状态参数字符串给上位机主控模块。
[0033]本发明的优点和积极效果是:
[0034] 1、本发明较其它类别的机械臂控制系统,成本低廉,界面功能丰富,安装方便,兼 容性好,能满足不同类型用户的需求。本发明整合了机械臂基础控制,在线示教,在线仿真, 轨迹优化等功能,极大的拓展了机械臂控制器的功能性,同时变革了控制器繁琐的按钮控 制方式,还能通过人机交互界面让用户实时了解机械臂工作状况,给用户带来完全不一样 的体验和操作便捷度。
[0035] 2、本发明是基于PyQt开发而成,继承了 Python语言强大的扩展性和兼容性,能大 大扩展该机械臂控制器的功能,为后期引入大数据和机器学习功能块提供稳定的功能接 口。同时PyQt良好的GUI编程环境,给开发人员带来极致体验,给用户带来人性化的交互界 面。
[0036] 3、本发明还引入了网络通信功能,不但能在本地控制机械臂操作,还能通过分布 式网络,对分布在远端的各种机械臂进行及时操控,同时其较好的上位机兼容性能在任何 Windows操作系统的用户PC上使用,排除了过去控制器笨重不实用等情况的发生,节省了用 户终端控制器带来的器械制作成本;无需担心用户终端控制器出现的机械故障;也不必为 用户终端控制器花费过多的能源开销;上位机可以进行在线升级,方便开发者对其进行问 题的修复和产品功能的升级;控制器面向PC端使用是当前电器自动化和智能化的趋势,更 能贴近用户的需求。
附图说明
[0037]图1为本发明的控制原理框图。
[0038]图2a为本发明的上位机中机械臂连接控制界面。
[0039]图2b为本发明的上位机中机械臂基本控制和相关信息显示界面。
[0040] 图2c为本发明的上位机中机械臂在线示教和仿真控制界面。
[0041] 图3为本发明的仿真机械臂运行示意图。
具体实施方式
[0042] 以下结合附图对本发明做进一步详述。
[0043] 一种基于PyQt的机械臂运行控制系统,其控制原理框图如图1所示,该系统由人机 交互界面模块、上位机主控模块、仿真与控制模块、轨迹规划模块、USB转串口模块,共五大 模块组成。其中人机交互模块的具体效果如图2所示,其界面有三大部分组成。包括机械臂 连接控制界面、机械臂基本控制和相关信息显示界面、机械臂在线示教和仿真控制界面。各 界面用于控制机械臂完成各种特定操作并显示相应的运行参数。图3显示了该机械臂运行 控制系统调用机械臂仿真模块的展示效果,该模块能完成机械臂的各种运行仿真。
[0044]结合图1,图2和图3,本发明专利的具体实施方式如下:PC端软件安装在Window操 作系统上,机械臂控制台与PC端通过USB转串口连接器连接;机械臂关节角度传感器与机械 臂控制台通过I/O口传输信号;用户在Windows操作系统的电脑上下载并安装该机械臂运行 控制系统,即可对实际机械臂进行控制操作。该机械臂运行控制系统各模块间的实际运行 内容由以下几部分组成。
[0045] 1)人机交互界面模块,当该系统的上位机完整安装到PC上时,启动该软件将会自 动运行该模块,用户根据界面提示,用USB转串口模块连接机械臂与计算机。此处连接的机 械臂是一款最新的桌面级机械臂Dobot,当Dobot连接到PC上时,用户显示界面将提示连接 信息,如图2a所示点击连接图标,人机交互界面将发送控制命令给上位机主控模块,上位机 主控模块对控制命令解析处理和转化后通过USB转串口模块发送给实际机械臂工作台,机 械臂接受人机交互界面模块途经上位机主控模块解析处理后的命令,并把通信连接成功的 信号发送给上位机主控模块,主控模块解析该命令后通过显示界面向用户反馈连接成功的 信息。同时人机交互界面模块还能通过上位机主控模块获取实际机械臂的设备信息,连接 状态信息,关节角度信息,末端执行器位置、速度、加速度信息。如图2b所示,在人机交互界 面模块的基本控制区,用户可以通过点击关节控制区的操作按钮发送控制命令给上位机主 控模块,主控模块通过对控制命令进行解析和匹配,并把处理后的操作命令用USB转串口模 块传输给机械臂工作台完成对应操作。人机交互界面除了能通过上位机主控模块直接控制 机械臂工作台外,还能借助上位机主控模块完成对获取的关节角度等参数的轨迹优化和仿 真操作。如图2c所示,当用户点击该界面时,人机交互模块将调用仿真与示教指令给上位机 主控模块,该模块通过命令匹配,激活仿真与控制模块。从Dobot机械臂传输过来角度,位 置,速度,加速度等参数时,上位机主控模块将根据用户在人机交互界面的操作要求,激活 轨迹规划模块。由此,用户可以通过人机交互界面模块对该机械臂运行控制系统进行所需 的各类操作,该模块发送控制命令给上位机主控模块,通过主控模块完成实际控制;并从上 位机主控模块获取各类参数,与用户实现及时交互。
[0046] 2)上位机主控模块,是本系统的信息中枢和控制中枢,能对各种数据、参数和指令 进行处理、调度和收发。在具体操作中,用户根据个人意愿发送操作命令给人机交互界面模 块,该模块把用户操作指令转换为计算机指令后传输给上位机主控模块。上位机模块通过 PyQt语言和Windows系统框架实现软件模块间的通信。基于网络通信机制,对仿真与控制模 块和轨迹优化模块建立连接。再通过USB转串口模块完成PC与机械臂之间的通讯连接,然后 在PC上通过Windows系统框架与PyQt的通信机制完成上位机模块与机械臂工作台的通信连 接。同时上位机主控模块也是仿真与控制模块和轨迹优化模块的调度中枢,Dobot机械臂通 过USB转串口模块不断发送关节角等参数信息给上位机主控模块,上位机主控模块在得到 机械臂实时仿真命令后,首先把关节角度等参数发送给轨迹优化模块进行轨迹优化。当主 控模块获得优化后的关节角度参数后通过网络通信把参数发送给仿真与控制模块。如果用 户需要使用系统的仿真与示教功能时,人机交互界面模块将相应信息发送给上位机主控模 块,主控模块解析上述命令,启动仿真与控制模块,并把解析后的控制命令发送给机械臂工 作台。通过上位机主控模块的中间调度,使得整个系统的机制能有条不紊的运行下去。
[0047] 3)仿真与控制模块,是本系统的扩展功能之一,当用户在人机交互界面选择机械 臂仿真运行命令时,上位机主控模块将命令解析后激活仿真与控制模块,该模块被激活后 不断向上位机主控模块获取Dobot机械臂的关节角度信息,同时调用RoboDK动态函数库来 完成Dobot机械臂的3D运行仿真,该系统是基于PyQt开发,能直接使用RoboDK的动态函数库 来控制Dobot的3D模型,完成与实际Dobot相同的操作。仿真与控制模块在执行仿真操作时, 能在线生成运行轨迹,方便用户了解机械臂的运行轨迹,同时能适当调整机械臂的运行操 作。当用户在人机交互界面选择机械臂在线示教功能时,上位机主控模块会相应激活仿真 与控制模块的示教功能,一方面可以通过RoboDK仿真接口实现对仿真机械臂运行轨迹的实 时描述;另一方面该模块将实时记录Dobot机械臂的运行状态信息,实现机械臂的示教功 能。
[0048] 4)轨迹优化模块,是提高示教与仿真等效果的关键模块;该模块接受上位机主控 模块传输过来的机械臂各关节的角度参数数组,结合Dobot机械臂的结构参数,对Dobot机 械臂构建其D - H参数模型,把各连杆运动分解为相对参考坐标系的转动和平移运动,对 Dobot的四个连杆沿关节轴建立四个关节基坐标系,然后用以下四个参数来描述杆件:
[0049] (1)连杆长度ai:关节轴i和关节轴i+1之间公垂线的长度。
[0050] (2)连杆转角〇1:作一个与两关节轴之间的公垂线垂直的平面,将关节轴i和关节 轴i+1投影到该平面,在平面内轴i按右手法则绕B1转向轴i+1,其转角即为连杆转角。
[0051] (3)连杆偏距di:公垂线ai—与关节轴i的交点到公垂线ai与关节轴i + 1的交点的有 向距离长度。
[0052] ⑷关节角Qm1的延长线与ai之间绕关节轴i旋转所形成的夹角,即采集得到的 示教机械臂关节角度。
[0053] 得到dobot机械臂多关节的D-H连杆参数如表1所示:
[0054] 表1示教机械臂D-H连杆参数表
Figure CN107932504AD00091
[0056] 然后以基座坐标系作为T。坐标系,设表示关节坐标系相对i-Ι关节坐标系的位 置和姿态,则巧!1的结果可有公式(1)求得。
[0057] 其中,s9i = sin9i,c9i = cos9i,SCii = sinai,ecu = cosai。
[0058]为获得Dobot机械臂末端执行器位姿相对固定参考坐标系的变换矩阵(Dobot机械 臂末端位置点坐标的变换矩阵),使用的是公式(2)。
[0059] 最后在求得每组角度参数获取时刻Dobot机械臂末端执行器位姿相对于固定参考 坐标系的变换矩阵后,即可得到每组角度参数获取时刻Dobot机械臂末端执行器位姿相对 于固定参考坐标系的坐标点组成的离散运动轨迹。
[0060] 以上过程都在轨迹优化模块中完成,并通过仿真与控制模块实现机械臂轨迹仿真 和实际机械臂示教控制。
[0061] 5) USB转串口模块,采用的是CH340转串口芯片和外围电路构成USB转串口模块, USB转串口模块连接电脑PC和机械臂通信接口,将电脑PC端USB接口转化为通用串口,实现 电脑PC端和机械臂控制器的信息双向互通。该模块的串行接口可以直接连接本实施方案的 Dobot机械臂外接串口,实现PC端与机械臂的相互连接。USB转串口模块接受来自Dobot机械 臂各关节角度传感器的信息,并在参数信息发送端载入校验码,通过USB转串口模块发送到 上位机主控模块后,在该模块上完成参数校验,对正确的角度信息进行分类后传输给其他 功能模块。同时,上位机主控模块,通过USB转串口模块把控制Dobot机械臂的控制字符串按 照Dobot机械臂指令格式发送出去。实现了机械臂与控制器间使用有线连接,控制器与用户 界面交互之间使用网络连接的控制机制。
[0062]以上是整个系统的控制情况以及该系统中各模块之间的相互作用关系,基于PyQt 的机械臂运动控制系统让用户的操作变得简单方便,轨迹规划模块让机械臂仿真和示教轨 迹变得更加光滑,运动速度变化更加均匀,机械臂仿真与控制模块大幅度扩展了机械臂控 制器的功能,同时PyQt编程界面的高扩展性和兼容性为未来加入机器学习和大数据分析模 块提供实用接口。
[0063]需要强调的是,本发明所述的实施案例是说明性的,而不是限定性的,因此本发明 包括并不限于具体实施方案中所述的实施例,凡是由本领域技术人员根据本发明的技术方 案得出类似的其它实施方式,同样属于本发明的保护范围。

Claims (7)

  1. I. 一种基于PyQt的机械臂运行控制系统,其特征在于: 包括人机交互模块,上位机主控模块,仿真与控制模块,轨迹规划模块,USB转串口模 块;人机交互模块发送控制指令给上位机主控模块,传输技术人员的操作指令,上位机主控 模块根据控制命令,发送仿真参数给仿真与控制模块,同时发送关节角度参数给轨迹优化 模块;实际机械臂工作台通过USB转串口模块,接受来自上位机主控模块的操作指令,最终 完成机械臂的运行控制; 1) 人机交互模块,接受来自操作人员点击的系统启动信号后,分别激活上位机主控模 块,仿真与控制模块,轨迹规划模块,USB转串口模块;操作人员在人机交互模块上点击各模 块的任务命令,发送不同类型的控制命令给上位机主控模块;同时人机交互模块接受来自 上位机主控模块的机械臂运行相关参数,并进行实时显示,完成人机交互功能; 2) 上位机主控模块,对各种数据、参数和指令进行解析、处理、调度和收发;上位机主控 模块接受来自USB转串口模块的机械臂关节角度参数,末端执行器速度,加速度参数,通过 网络通信的方式接受来自仿真与控制模块加工处理过的实际机械臂控制指令字符串,接受 来自轨迹优化模块优化完成的各关节角度参数,接受来自人机交互模块传输的操作人员控 制指令;上位机主控模块根据系统运行顺序,把人机交互模块发送的控制指令解析后发送 给轨迹优化模块,接受轨迹优化模块优化后的机械臂各关节角参数,通过网络通信的方式, 把优化的机械臂各关节角参数发送给仿真与控制模块,根据上位机主控模块的逻辑控制 器,接受来自仿真与控制模块的控制指令;最后上位机主控模块把从仿真与控制模块接受 的控制命令,使用仿真与控制模块的后置处理器程序,转化为机械臂实际可执行代码,发送 可执行代码给USB转串口模块; 3) 仿真与控制模块,接受来自上位机主控模块的仿真参数,并把仿真参数转化为PyQt 语言,依托PyQt强大的Python内核,直接调用RoboDK动态函数库,把仿真运行参数转化为控 制机械臂3D模型仿真运行的执行代码;同时仿真与控制模块接受上位机主控模块的机械臂 示教参数,并把该参数实时对应到仿真与控制模块的机械臂3D模型中各运动关节上,实现 仿真示教并记录仿真运行轨迹的离散点坐标,把坐标参数以字符串的形式存储起来,并把 该字符串输入到机械臂对应的D-H参数模型中,得到对应的实际机械臂运行轨迹参数列表, 通过仿真与控制模块中的后置处理器软件,自动生成实际机械臂运行控制指令;最后,通过 网络通信方式把机械臂运行控制指令发送给上位机主控模块; 4) 轨迹优化模块,接受来自上位机主控模块的机械臂各关节角参数数组,结合当前所 使用的机械臂型号的机构参数,使用D-H参数建模方法建立机械臂各关节的基坐标系,利用 正运动学公式求解末端执行器在世界坐标系下的位姿参数,进而求出整条示教轨迹;再对 示教轨迹使用笛卡尔轨迹规划算法进行轨迹优化;考虑到实际机械臂运行的离散特性,该 模块对优化完的轨迹进行逆运动学计算,得出执行优化后的示教轨迹所对应的关节角参数 数组;最终发送关节角控制参数数组给上位机主控模块; 5) USB转串口模块,用于连接实际机械臂工作台和上位机主控模块,完成两者的信息交 互,同时保证数据的实时传输;该模块将电脑PC端USB接口转化为通用串口,实现上位机主 控模块和机械臂控制器之间的信息双向通信;USB转串口模块接受机械臂控制台上关节角 度传感器的角度参数,计算后的末端执行器位置,速度,加速度信息,同时接受上位机主控 模块发送的机械臂运行控制指令;含有校验计算功能单元,对发送端数据进行二补数校验, 对接收端数据进行逐字节相对校验;通过USB转串口模块,发送包含校验码的机械臂运行状 态参数字符串给上位机主控模块。
  2. 2. 根据权利要求1所述的基于PyQt的机械臂运行控制系统,其特征在于:所述的仿真与 控制模块在完成仿真与在线示教功能的基础上,对仿真轨迹进行优化,同时根据实际机器 人结构参数的不同进行校准;在仿真运行时,包含碰撞与工作空间检测,保证机械臂仿真的 合理性和真实性;同时,能把仿真结果输出为HTML格式的仿真动画输出给用户。
  3. 3. 根据权利要求1所述的基于PyQt的机械臂运行控制系统,其特征在于:所述的轨迹优 化模块从上位机主控模块接受机械臂的关节参数数组,结合正逆运动学求解和笛卡尔轨迹 规划算法来优化运行和示教轨迹,再将优化后的角度参数数组发送给仿真与控制模块进行 仿真与复现操作,所述的正运动学求解运动轨迹的具体方式如下:
  4. 3.1) 首先对工作机械臂构建其D-H参数模型,把各连杆运动分解为相对参考坐标系的 转动和平移运动,对每个杆件沿关节轴建立一个关节坐标系,用以下四个参数来描述杆件: ⑴连杆长度a1:关节轴i和关节轴i+1之间公垂线的长度; (2)连杆转角^:作一个与两关节轴之间的公垂线垂直的平面,将关节轴i和关节轴i+1 投影到该平面,在平面内轴i按右手法则绕ai转向轴i+1,其转角即为连杆转角; ⑶连杆偏距di:公垂线ai-古关节轴i的交点到公垂线ai与关节轴i + 1的交点的有向距 呙长度; ⑷关节角Law的延长线与ai之间绕关节轴i旋转所形成的夹角,即采集得到的示教 机械臂关节角度;
  5. 3.2) 以基座坐标系作为To坐标系,设表示i关节坐标系相对i-Ι关节坐标系的位置和 姿态,则:
    Figure CN107932504AC00031
    其中,s9i = sin9i,c9i = cos9i,Sdi = Sinai,CCii = Cosai;
  6. 3.3) 对于多轴机械臂,获得机械臂末端执行器位姿相对固定参考坐标系的变换矩阵, 即机械臂末端位置点坐标的变换矩阵:
    Figure CN107932504AC00032
    其中,0J表示机械臂末端执行器相对于基坐标系的变换矩阵;
  7. 3.4) 求得每组角度参数获取时刻的机械臂末端执行器位姿相对于固定参考坐标系的 变换矩阵后,即可得到每组角度参数获取时刻机械臂末端执行器位姿相对于固定参考坐标 系的坐标点组成的离散运动轨迹。
CN201711114104.5A 2017-11-13 2017-11-13 基于PyQt的机械臂运行控制系统 Active CN107932504B (zh)

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 true CN107932504A (zh) 2018-04-20
CN107932504B 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)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108646562A (zh) * 2018-05-15 2018-10-12 浙江工业大学 一种基于交叉耦合的多机械臂系统有限时间参数辨识与位置同步控制方法
CN108646561A (zh) * 2018-05-15 2018-10-12 浙江工业大学 一种基于交叉耦合的多机械臂系统固定时间参数辨识与位置同步控制方法
CN108942943A (zh) * 2018-08-16 2018-12-07 居鹤华 基于轴不变量的多轴机器人正运动学计算方法
CN109048894A (zh) * 2018-08-07 2018-12-21 中铁工程机械研究设计院有限公司 一种可远程操作的开挖机器人的3d仿真系统
CN109623810A (zh) * 2018-11-26 2019-04-16 南京航空航天大学 一种机器人平滑的时间最优轨迹规划的方法
CN109807897A (zh) * 2019-02-28 2019-05-28 北京镁伽机器人科技有限公司 运动控制方法和系统、控制设备及存储介质
CN109807898A (zh) * 2019-02-28 2019-05-28 北京镁伽机器人科技有限公司 运动控制方法、控制设备及存储介质
CN109807896A (zh) * 2019-02-28 2019-05-28 北京镁伽机器人科技有限公司 运动控制方法和系统、控制设备及存储介质
CN109910004A (zh) * 2019-02-28 2019-06-21 北京镁伽机器人科技有限公司 用户交互方法、控制设备及存储介质
CN110000775A (zh) * 2019-02-28 2019-07-12 北京镁伽机器人科技有限公司 设备管理方法、控制设备及存储介质
CN110161878A (zh) * 2019-05-15 2019-08-23 崧智智能科技(深圳)有限公司 自动化设备的调试方法及系统
CN110488763A (zh) * 2019-08-27 2019-11-22 泉州市大鲨鱼机械科技有限公司 一种基于绳锯机数控控制器的交互界面设计方法
CN110632895A (zh) * 2019-03-25 2019-12-31 镁伽科技(深圳)有限公司 运动控制部件的管理方法、控制设备、运动控制系统

Citations (5)

* Cited by examiner, † Cited by third party
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 巨轮(广州)机器人与智能制造有限公司 一种双六轴机器人协同运动控制模型及算法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
沈俊杰等: "工业机器人运动学图形仿真系统", 《机械与电子》 *
蔡汉明等: "Dobot型机器人运动学分析与仿真", 《机电工程》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108646561A (zh) * 2018-05-15 2018-10-12 浙江工业大学 一种基于交叉耦合的多机械臂系统固定时间参数辨识与位置同步控制方法
CN108646562A (zh) * 2018-05-15 2018-10-12 浙江工业大学 一种基于交叉耦合的多机械臂系统有限时间参数辨识与位置同步控制方法
CN109048894A (zh) * 2018-08-07 2018-12-21 中铁工程机械研究设计院有限公司 一种可远程操作的开挖机器人的3d仿真系统
CN108942943A (zh) * 2018-08-16 2018-12-07 居鹤华 基于轴不变量的多轴机器人正运动学计算方法
CN109623810A (zh) * 2018-11-26 2019-04-16 南京航空航天大学 一种机器人平滑的时间最优轨迹规划的方法
CN109910004B (zh) * 2019-02-28 2021-05-04 深圳镁伽科技有限公司 用户交互方法、控制设备及存储介质
CN109807897A (zh) * 2019-02-28 2019-05-28 北京镁伽机器人科技有限公司 运动控制方法和系统、控制设备及存储介质
CN109807898A (zh) * 2019-02-28 2019-05-28 北京镁伽机器人科技有限公司 运动控制方法、控制设备及存储介质
CN109807896A (zh) * 2019-02-28 2019-05-28 北京镁伽机器人科技有限公司 运动控制方法和系统、控制设备及存储介质
CN110000775A (zh) * 2019-02-28 2019-07-12 北京镁伽机器人科技有限公司 设备管理方法、控制设备及存储介质
CN109910004A (zh) * 2019-02-28 2019-06-21 北京镁伽机器人科技有限公司 用户交互方法、控制设备及存储介质
CN109807898B (zh) * 2019-02-28 2021-05-04 深圳镁伽科技有限公司 运动控制方法、控制设备及存储介质
CN110632895A (zh) * 2019-03-25 2019-12-31 镁伽科技(深圳)有限公司 运动控制部件的管理方法、控制设备、运动控制系统
CN110161878B (zh) * 2019-05-15 2020-07-28 崧智智能科技(深圳)有限公司 自动化设备的调试方法及系统
CN110161878A (zh) * 2019-05-15 2019-08-23 崧智智能科技(深圳)有限公司 自动化设备的调试方法及系统
CN110488763A (zh) * 2019-08-27 2019-11-22 泉州市大鲨鱼机械科技有限公司 一种基于绳锯机数控控制器的交互界面设计方法

Also Published As

Publication number Publication date
CN107932504B (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
Marín et al. A multimodal interface to control a robot arm via the web: a case study on remote programming
Fu et al. Robotics: Control Sensing. Vis.
Iwata et al. A modelling and simulation architecture for virtual manufacturing systems
US6445964B1 (en) Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine
CN103302668B (zh) 基于Kinect的空间遥操作机器人的控制系统及其方法
Žlajpah Simulation in robotics
US9149931B2 (en) Robot system, robot control device and method for controlling robot
CN100484726C (zh) 基于虚拟现实机器人灵巧手遥操作平台
CN104858876B (zh) 机器人任务的可视调试
CN104440864A (zh) 一种主从式遥操作工业机器人系统及其控制方法
WO2014013605A1 (ja) ロボットシミュレータ、ロボット教示装置およびロボット教示方法
Kucuk et al. An off‐line robot simulation toolbox
Neto et al. CAD-based off-line robot programming
CN104699122B (zh) 一种机器人运动控制系统
CN105291138B (zh) 一种增强虚拟现实浸入感的视觉反馈平台
CN109382828A (zh) 一种基于示教学习的机器人轴孔装配系统及方法
Mateo et al. Hammer: An Android based application for end-user industrial robot programming
CN101947786A (zh) 用于类人机器人自动控制的方法和装置
Christensen et al. A unified simulator for self-reconfigurable robots
CN103753534B (zh) 一种移动机器人控制器及其控制方法
Marturi et al. Towards advanced robotic manipulation for nuclear decommissioning: A pilot study on tele-operation and autonomy
CN108286949B (zh) 一种可移动式三维检测机器人系统
CN106625670B (zh) 一种多功能人机交互仿人教育机器人的控制系统和方法
CN104552300A (zh) 一种基于示教机器人的离线编程示教装置及方法
Ferretti et al. Assigning virtual tool dynamics to an industrial robot through an admittance controller

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