一种基于PyQt的机械臂运行控制系统,主要包括人机交互界面模块、上位机主控模块、仿真与控制模块、轨迹优化模块、USB转串口模块。该控制系统是基于PyQt友好的GUI编程框架搭建的机械臂控制系统,可完成机械臂的基本操作,仿真与在线示教,多参数实时显示等功能,用户在Windows操作系统上下载并安装该控制系统的上位机软件,通过USB转串口模块实时获取机械臂运动的相关参数,对其量化处理后发送给轨迹优化模块,该模块根据正逆运动学公式和笛卡尔轨迹规划算法优化运行轨迹,仿真与
控制模块根据优化的运行轨迹完成仿真功能,人机交互界面模块给用户提供各类控制按钮和机械臂参数显示。本技术大幅度扩展了机械臂控制器的功能,同时提高了控制器的人机交互性能。
技术要求
1.一种基于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.根据权利要求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的交点的有向距离长度;
制作android软件流程(4)关节角θi:ai-1的延长线与ai之间绕关节轴i旋转所形成的夹角,即采集得到的示教机械臂关节角度;
3.2)以基座坐标系作为T0坐标系,设表示i关节坐标系相对i-1关节坐标系的位置和姿态,则:
其中,sθi=sinθi,cθi=cosθi,sαi=sinαi,cαi=cosαi;
3.3)对于多轴机械臂,获得机械臂末端执行器位姿相对固定参考坐标系的变换矩阵,即机械臂末端位置点坐标的变换矩阵:
其中,表示机械臂末端执行器相对于基坐标系的变换矩阵;
3.4)求得每组角度参数获取时刻的机械臂末端执行器位姿相对于固定参考坐标系的变换矩阵后,即可得到每组角度参数获取时刻机械臂末端执行器位姿相对于固定参考坐标系的坐标点组成的离散运动轨迹。
技术说明书
基于PyQt的机械臂运行控制系统
技术领域
本技术涉及一种机械臂运行控制系统,尤其是一种基于PyQt的机械臂运行,仿真,在线示教的控制系统。
背景技术
工业机械臂是基于电工电子、机械结构、软件控制等多方面技术设计的多自由度运动装置。上世纪六十年代,首台工业机械臂在美国问世,此后工业机械臂得到了迅速发展,在工业领域中占据了无可替代的位置。在搬运、喷漆、焊接、装配等作业中使用自动化工业机械臂取代人工操作,不仅能降低成本还能提高工作效率。随着传感技术、人工智能以及计算机技术的不断发展,工业机械臂正在向其他领域迈进。
依托工业机械臂技术的不断发展,用于工业机械臂的控制系统应运而生,传统的工业机械臂控制系统根据各工业机械臂生产厂家的不同而不同,存在很大的局限性,各厂家控制器之间的兼容性较差,尤其是对示教器的兼容。
示教器作为机械臂的人机交互终端,可以对机械臂进行动作控制。机械臂的示教过程是:首先,手动控制机械臂运动到某个固定位置,机械臂将当前的位置信息反馈给示教器,示教器将机械臂的这一运动编写成程序指令;然后,重复上述过程,完成机械臂的整套动作和程序指令编写;最后自动运行编写好的程序指令,机械臂就会重复再现之前的运动。示教过程包括机械臂的运动控制和示教程序编写两部分。另外,示教器还可以查看并修改机械臂的各类参数、数字输入输出信号以及报警信号等。
传统的工业机器人控制与示教系统多采用控制器控制和APP上位机控制。控制器对于机器人进行示教,需要操作者具备专业的机器人操作技能,不同厂家执照的控制器规格不同,操作培训周期也就不
同,控制器一旦损坏后很难维修。APP上位机控制器功能不强,其上位机开发语言的扩展性与兼容性不强,对不同机械臂控制的适应性不佳。同时,这类控制器很难加入仿真模块,也很少考虑机械臂实际运行时的轨迹优化等问题。
目前,针对工业机械臂控制系统的设计主要集中在控制器和示教盒功能优化等方面;针对PC端的工业控制系统设计和示教轨迹优化,运动轨迹仿真等方面的研究较少。杨晶等提出的一种基于Android的机器人示教软件设计与实现(杨晶.基于Android的机器人示教软件设计与实现[D].华中科技大学,2015.),开发了一款新的机器人示教软件,但未考虑机器人仿真和轨迹规划以及后期功能扩展和多品类机械臂兼容性等问题;陈恳,任书楠,王国磊,谢颖,刘志,杨向东,程建辉,于乾坤,吴丹,宋立滨,付成龙,徐静,刘莉,杨东超等提出的工业机器人示教系统(陈恳,任书楠,王国磊,谢颖,刘志,杨向东,程建辉,于乾坤,吴丹,宋立滨,付成龙,徐静,刘莉,杨东超.工业机器人示教系统[P].北京:CN104700705A,2015-06-10.),提出了一种操作较优的机械臂示教系统,但依旧使用的是示教盒,对其他机械臂控制器兼容性较差,同时对机械臂的控制操作不灵活。
技术内容
本技术要克服现有技术的上述缺陷,提供了一种基于PyQt的机械臂运行控制系统。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论