基于PyQt的机械臂运行控制系统技术方案

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

Operation control system of manipulator based on PyQt

A PyQt based manipulator operation control system, which mainly includes man-machine interface module, host computer master control module, simulation and control module, trajectory optimization module and USB to serial port module. The control system is a mechanical arm control system based on the PyQt friendly GUI programming framework. It can complete the basic operation of the manipulator, simulation and online instruction, multi parameter real-time display and so on. The user downloads and installs the upper computer software of the control system on the Windows operating system, and gets the real-time acquisition machine through the USB to the serial port module. The relative parameters of the arm movement are transmitted to the trajectory optimization module. The module optimizes the running trajectory according to the inverse kinematics formula and the Descartes trajectory planning algorithm. The simulation and control module completes the simulation function according to the optimized running track. The human-computer interface module provides various control buttons to the users. The parameters of the manipulator are displayed. The invention greatly expands the function of the manipulator controller, and improves the man-machine interaction performance of the controller.

【技术实现步骤摘要】
基于PyQt的机械臂运行控制系统
本专利技术涉及一种机械臂运行控制系统,尤其是一种基于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-本文档来自技高网
...
基于PyQt的机械臂运行控制系统

【技术保护点】
一种基于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转串口模块,发送包含校验码的机械臂运行状态参数字符串给上位机主控模块。...

【技术特征摘要】
1.一种基于PyQt的机械臂运行控制系统,其特征在于:包括人机交互模块,上位机主控模块,仿真与控制模块,轨迹规划模块,USB转串口模块;人机交互模块发送控制指令给上位机主控模块,传输技术人员的操作指令,上位机主控模块根据控制命令,发送仿真参数给仿真与控制模块,同时发送关节角度参数给轨迹优化模块;实际机械臂工作台通过USB转串口模块,接受来自上位机主控模块的操作指令,最终完成机械臂的运行控制;1)人机交互模块,接受来自操作人员点击的系统启动信号后,分别激活上位机主控模块,仿真与控制模块,轨迹规划模块,USB转串口模块;操作人员在人机交互模块上点击各模块的任务命令,发送不同类型的控制命令给上位机主控模块;同时人机交互模块接受来自上位机主控模块的机械臂运行相关参数,并进行实时显示,完成人机交互功能;2)上位机主控模块,对各种数据、参数和指令进行解析、处理、调度和收发;上位机主控模块接受来自USB转串口模块的机械臂关节角度参数,末端执行器速度,加速度参数,通过网络通信的方式接受来自仿真与控制模块加工处理过的实际机械臂控制指令字符串,接受来自轨迹优化模块优化完成的各关节角度参数,接受来自人机交互模块传输的操作人员控制指令;上位机主控模块根据系统运行顺序,把人机交互模块发送的控制指令解析后发送给轨迹优化模块,接受轨迹优化模块优化后的机械臂各关节角参数,通过网络通信的方式,把优化的机械臂各关节角参数发送给仿真与控制模块,根据上位机主控模块的逻辑控制器,接受来自仿真与控制模块的控制指令;最后上位机主控模块把从仿真与控制模块接受的控制命令,使用仿真与控制模块的后置处理器程序,转化为机械臂实际可执行代码,发送可执行代码给USB转串口模块;3)仿真与控制模块,接受来自上位机主控模块的仿真参数,并把仿真参数转化为PyQt语言,依托PyQt强大的Python内核,直接调用RoboDK动态函数库,把仿真运行参数转化为控制机械臂3D模型仿真运行的执行代码;同时仿真与控制模块接受上位机主控模块的机械臂示教参数,并把该参数实时对应到仿真与控制模块的机械臂3D模型中各运动关节上,实现仿真示教并记录仿真运行轨迹的离散点坐标,把坐标参数以字符串的形式存储起来,并把该字符串输入到机械臂对应的D-H参数模型中,得到对应的实际机械臂运行轨迹参数列表,通过仿真与控制模块中的后置处理器软件,自动生成实际机械臂运行控制指令;最后,通过网络通信方式把机械臂运行控制指令发送给上位机主控模块;4)轨迹优化模块,接受来自上位机主控模块的机械臂各关节角参数数组,结合当前所使用的机械臂型号的机构参数,使用D-H参数建模方法建立机械臂各关节的基坐标系,利用正运动学公式求解末端执行器在世界坐标系下的位姿参数,进而求出整条示教轨迹;再对示教轨迹使用笛卡尔轨迹规划算法进行轨迹优化;考虑到实际机械臂运行的...

【专利技术属性】
技术研发人员:欧林林朱峰禹鑫燚朱熠琛卢靓柏继华
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1