基于ROS的机械臂抓取装配管理方法、系统及相关设备技术方案

技术编号:29433024 阅读:20 留言:0更新日期:2021-07-27 16:37
本申请提供了一种基于ROS的机械臂抓取装配管理方法、系统及相关设备,该方法包括:通过图形操作界面接收用户创建的抓取装配任务;响应于用户在图形操作界面上的操作向后端服务子系统发送预设命令,以使后端服务子系统控制机械臂执行抓取装配任务;接收后端服务子系统返回的抓取装配任务的执行进度,通过图形操作界面显示执行进度。本申请实施例有利于提高抓取装配任务的可管理性,从而提升抓取装配的效率。

【技术实现步骤摘要】
基于ROS的机械臂抓取装配管理方法、系统及相关设备
本申请涉及机械臂开发
,尤其涉及一种基于ROS的机械臂抓取装配管理方法、系统及相关设备。
技术介绍
传统制造业装配流水线主要依赖人工进行装配,效率问题严重地限制了生产产能的提升。随着人工智能技术的蓬勃发展,传统制造业逐渐向智能制造业转变,机器人作业已被广泛应用于各个行业中,比如物流行业拆垛码垛、机械臂快速分拣等等。目前,安卓、Linux以及ROS(RobotOperatingSystem,机器人操作系统)是常见的机器人开发和操作系统,且基于ROS进行机械臂建模和运动规划是领域研究热点,但是市场上基于ROS的机械臂存在抓取装配管理不便、难度大等问题,在一定程度上影响了抓取装配的效率。
技术实现思路
针对上述问题,本申请提供了一种基于ROS的机械臂抓取装配管理方法、系统及相关设备,有利于提高机械臂抓取装配任务的可管理性,从而提升抓取装配的效率。为实现上述目的,本申请实施例提供了一种基于ROS的机械臂抓取装配管理方法,应用于基于ROS的机械臂抓取装配管理系统的前端管理子系统,该系统包括该前端管理子系统和后端服务子系统,前端管理子系统包括通信框架和图形操作界面,前端管理子系统和后端服务子系统基于该通信框架通信,图形操作界面基于Qt5进行模块化开发得到,前端管理子系统基于Qt5的渲染接口实现机械臂抓取装配过程在图形操作界面的三维实时渲染;该方法包括:通过图形操作界面接收用户创建的抓取装配任务;响应于用户在图形操作界面上的操作向后端服务子系统发送预设命令,以使后端服务子系统控制机械臂执行抓取装配任务;接收后端服务子系统返回的抓取装配任务的执行进度,通过图形操作界面显示执行进度。在一种可能的实施方式中,响应于用户在图形操作界面上的操作向后端服务子系统发送预设命令,包括:在检测到图形操作界面上的第一启动信号的情况下,向后端服务子系统发送第一预设命令,第一预设命令用于指示后端服务子系统控制机械臂开始抓取装配任务;在检测到图形操作界面上的暂停信号的情况下,向后端服务子系统发送第二预设命令,第二预设命令用于指示后端服务子系统控制机械臂暂停抓取装配任务;在检测到图形操作界面上的第二启动信号的情况下,向后端服务子系统发送第三预设命令,第三预设命令用于指示后端服务子系统控制机械臂重启抓取装配任务;在检测到图形操作界面上的停止信号的情况下,向后端服务子系统发送第四预设命令,第四预设命令用于指示后端服务子系统控制机械臂停止抓取装配任务。在一种可能的实施方式中,接收后端服务子系统返回的抓取装配任务的执行进度,包括:在向后端服务子系统发送第一预设命令的情况下,接收后端服务子系统响应于第一预设命令返回的第一执行进度;在向后端服务子系统发送第二预设命令的情况下,接收后端服务子系统响应于第二预设命令返回的暂停信息;在向后端服务子系统发送第三预设命令的情况下,接收后端服务子系统响应于第三预设命令返回的重启信息和第二执行进度;在向后端服务子系统发送第四预设命令的情况下,接收后端服务子系统响应于第四预设命令返回的停止信息。在一种可能的实施方式中,在通过图形操作界面接收用户创建的抓取装配任务之后,该方法还包括:响应于用户在图形操作界面输入的指令创建有限状态机,并将有限状态机的状态设置为初始化状态;有限状态机的状态用于表示抓取装配任务的状态;响应于用户在图形操作界面输入的指令创建数据库,并在数据库中创建任务数据表;任务数据表用于记录抓取装配任务的属性。在一种可能的实施方式中,抓取装配任务的属性包括抓取装配任务的状态和总执行次数;向后端服务子系统发送第一预设命令,包括:从任务数据表中获取抓取装配任务的状态和总执行次数;在抓取装配任务的状态为初始化状态的情况下,向后端服务子系统发送第一预设命令和第五预设命令;第五预设命令用于向后端服务子系统指定总执行次数。在一种可能的实施方式中,在接收后端服务子系统响应于第一预设命令返回的第一执行进度之后,该方法还包括:将有限状态机的状态设置为运行状态;将任务数据表中抓取装配任务的状态由初始化状态更新为运行状态。在一种可能的实施方式中,抓取装配任务的属性还包括已完成次数;向后端服务子系统发送第二预设命令,包括:获取有限状态机的状态,以得到抓取装配任务的状态;在抓取装配任务的状态为运行状态的情况下,向后端服务子系统发送第二预设命令。在一种可能的实施方式中,在接收后端服务子系统响应于第二预设命令返回的暂停信息之后,该方法还包括:将有限状态机的状态设置为暂停状态;将任务数据表中抓取装配任务的状态由运行状态更新为暂停状态,并记录抓取装配任务在暂停时的已完成次数。在一种可能的实施方式中,向后端服务子系统发送第三预设命令,包括:获取有限状态机的状态,以得到抓取装配任务的状态;在抓取装配任务的状态为暂停状态的情况下,向后端服务子系统发送第三预设命令和第六预设命令;第六预设命令用于指示后端服务子系统从抓取装配任务被暂停时记录的已完成次数开始抓取装配任务。在一种可能的实施方式中,在接收后端服务子系统响应于第三预设命令返回的重启信息和第二执行进度之后,该方法还包括:将有限状态机的状态设置为运行状态;将任务数据表中抓取装配任务的状态由暂停状态更新为运行状态。在一种可能的实施方式中,向后端服务子系统发送第四预设命令,包括:获取有限状态机的状态,以得到抓取装配任务的状态;在抓取装配任务的状态为运行状态的情况下,向后端服务子系统发送第四预设命令。在一种可能的实施方式中,在接收后端服务子系统响应于第四预设命令返回的停止信息之后,该方法还包括:将有限状态机的状态设置为停止状态;将任务数据表中抓取装配任务的状态由运行状态更新为停止状态。在一种可能的实施方式中,在接收后端服务子系统返回的抓取装配任务的执行进度之后,该方法还包括:在接收到后端服务子系统返回的抓取装配任务执行完毕的信息的情况下,将有限状态机的状态设置为完成状态;将任务数据表中抓取装配任务的状态更新为完成状态。在一种可能的实施方式中,前端管理子系统的代码库编写有预设文件;预设文件中插入有预设指令,预设指令用于触发Qt的元对象编译器生成元对象代码,使得前端管理子系统支持Qt5。在一种可能的实施方式中,图形操作界面是基于Qt5将菜单栏、工具栏、任务树、任务细节、任务编辑、任务向导和显示窗口作为单独的子界面插入前端管理子系统的主界面得到的。在一种可能的实施方式中,前端管理子系统还包括Rviz插件,Rviz插件是基于Moveit开发得到的,Rviz插件中包括机械臂的三维模型、机械臂的工作空间、网格和运动规划,工作空间用于限定机械臂工作时的空间范围;机械臂抓取装配过程在图形操作界面的三维实时渲染通过Librv本文档来自技高网...

【技术保护点】
1.一种基于ROS的机械臂抓取装配管理方法,其特征在于,应用于基于ROS的机械臂抓取装配管理系统的前端管理子系统,所述系统包括所述前端管理子系统和后端服务子系统,所述前端管理子系统包括通信框架和图形操作界面,所述前端管理子系统和所述后端服务子系统基于所述通信框架通信,所述图形操作界面基于Qt5进行模块化开发得到,所述前端管理子系统基于Qt5的渲染接口实现机械臂抓取装配过程在所述图形操作界面的三维实时渲染;所述方法包括:/n通过所述图形操作界面接收用户创建的抓取装配任务;/n响应于用户在所述图形操作界面上的操作向所述后端服务子系统发送预设命令,以使所述后端服务子系统控制所述机械臂执行所述抓取装配任务;/n接收所述后端服务子系统返回的所述抓取装配任务的执行进度,通过所述图形操作界面显示所述执行进度。/n

【技术特征摘要】
1.一种基于ROS的机械臂抓取装配管理方法,其特征在于,应用于基于ROS的机械臂抓取装配管理系统的前端管理子系统,所述系统包括所述前端管理子系统和后端服务子系统,所述前端管理子系统包括通信框架和图形操作界面,所述前端管理子系统和所述后端服务子系统基于所述通信框架通信,所述图形操作界面基于Qt5进行模块化开发得到,所述前端管理子系统基于Qt5的渲染接口实现机械臂抓取装配过程在所述图形操作界面的三维实时渲染;所述方法包括:
通过所述图形操作界面接收用户创建的抓取装配任务;
响应于用户在所述图形操作界面上的操作向所述后端服务子系统发送预设命令,以使所述后端服务子系统控制所述机械臂执行所述抓取装配任务;
接收所述后端服务子系统返回的所述抓取装配任务的执行进度,通过所述图形操作界面显示所述执行进度。


2.根据权利要求1所述的方法,其特征在于,所述响应于用户在所述图形操作界面上的操作向所述后端服务子系统发送预设命令,包括:
在检测到所述图形操作界面上的第一启动信号的情况下,向所述后端服务子系统发送第一预设命令,所述第一预设命令用于指示所述后端服务子系统控制所述机械臂开始所述抓取装配任务;
在检测到所述图形操作界面上的暂停信号的情况下,向所述后端服务子系统发送第二预设命令,所述第二预设命令用于指示所述后端服务子系统控制所述机械臂暂停所述抓取装配任务;
在检测到所述图形操作界面上的第二启动信号的情况下,向所述后端服务子系统发送第三预设命令,所述第三预设命令用于指示所述后端服务子系统控制所述机械臂重启所述抓取装配任务;
在检测到所述图形操作界面上的停止信号的情况下,向所述后端服务子系统发送第四预设命令,所述第四预设命令用于指示所述后端服务子系统控制所述机械臂停止所述抓取装配任务。


3.根据权利要求2所述的方法,其特征在于,所述接收所述后端服务子系统返回的所述抓取装配任务的执行进度,包括:
在向所述后端服务子系统发送所述第一预设命令的情况下,接收所述后端服务子系统响应于所述第一预设命令返回的第一执行进度;
在向所述后端服务子系统发送所述第二预设命令的情况下,接收所述后端服务子系统响应于所述第二预设命令返回的暂停信息;
在向所述后端服务子系统发送所述第三预设命令的情况下,接收所述后端服务子系统响应于所述第三预设命令返回的重启信息和第二执行进度;
在向所述后端服务子系统发送所述第四预设命令的情况下,接收所述后端服务子系统响应于所述第四预设命令返回的停止信息。


4.根据权利要求1-3任一项所述的方法,其特征在于,所述在通过所述图形操作界面接收用户创建的抓取装配任务之后,所述方法还包括:
响应于用户在所述图形操作界面输入的指令创建有限状态机,并将所述有限状态机的状态设置为初始化状态;所述有限状态机的状态用于表示所述抓取装配任务的状态;
响应于用户在所述图形操作界面输入的指令创建数据库,并在所述数据库中创建任务数据表;所述任务数据表用于记录所述抓取装配任务的属性。


5.根据权利要求4所述的方法,其特征在于,所述抓取装配任务的属性包括所述抓取装配任务的状态和总执行次数;所述向所述后端服务子系统发送第一预设命令,包括:
从所述任务数据表中获取所述抓取装配任务的状态和所述总执行次数;
在所述抓取装配任务的状态为初始化状态的情况下,向所述后端服务子系统发送所述第一预设命令和第五预设命令;所述第五预设命令用于向所述后端服务子系统指定所述总执行次数。


6.根据权利要求4所述的方法,其特征在于,在接收所述后端服务子系统响应于所述第一预设命令返回的第一执行进度之后,所述方法还包括:
将所述有限状态机的状态设置为运行状态;
将所述任务数据表中所述抓取装配任务的状态由初始化状态更新为运行状态。


7.根据权利要求4所述的方法,其特征在于,所述抓取装配任务的属性还包括已完成次数;所述向所述后端服务子系统发送第二预设命令,包括:
获取所述有限状态机的状态,以得到所述抓取装配任务的状态;
在所述抓取装配任务的状态为运行状态的情况下,向所述后端服务子系统发送所述第二预设命令。


8.根据权利要求7所述的方法,其特征在于,在接收所述后端服务子系统响应于所述第二预设命令返回的暂停信息之后,所述方法还包括:
将所述有限状态机的状态设置为暂停状态;
将所述任务数据表中所述抓取装配任务的状态由运行状态更新为暂停状态,并记录所述抓取装配任务在暂停时的所述已完成次数。


9.根据权利要求7所述的方法,其特征在于,所述向所述后端服务子系统发送第三预设命令,包括:
获取所述有限状态机的状态,以得到所述抓取装配任务的状态;
在所述抓取装配任务的状态为暂停状态的情况下,向所述后端服务子系统发送所述第三预设命令和第六预设命令;所述第六预设命令用于...

【专利技术属性】
技术研发人员:朱欣周韬于行尧李笑千成慧
申请(专利权)人:深圳市商汤科技有限公司
类型:发明
国别省市:广东;44

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

1