CN109887396A - 一种机器人示教系统、方法及装置 - Google Patents
一种机器人示教系统、方法及装置 Download PDFInfo
- Publication number
- CN109887396A CN109887396A CN201711274373.8A CN201711274373A CN109887396A CN 109887396 A CN109887396 A CN 109887396A CN 201711274373 A CN201711274373 A CN 201711274373A CN 109887396 A CN109887396 A CN 109887396A
- Authority
- CN
- China
- Prior art keywords
- robot
- teaching
- instruction
- control instruction
- driver
- 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.)
- Pending
Links
Landscapes
- Numerical Control (AREA)
Abstract
本申请实施例提供了一种机器人示教系统、方法及装置,涉及人工智能技术领域,上述系统包括:驱动层、指令接口层、ROS通信层和程序生成层;驱动层包括机器人的驱动程序;每一机器人的驱动程序用于与该机器人进行通信;指令接口层包括预先封装的用于对机器人进行控制的指令函数;ROS通信层,用于通过待示教机器人的驱动程序,获得待示教机器人在示教过程中的状态信息;程序生成层,用于从ROS通信层获得待示教机器人在示教过程中的状态信息,并通过指令接口层包含的指令函数和所获得的状态信息,生成示教过程对应的控制指令,根据所生成的控制指令,生成待示教机器人的示教程序。应用本申请实施例提供的方案能够便捷的对机器人进行示教。
Description
技术领域
本申请涉及人工智能技术领域,特别是涉及一种机器人示教系统、方法及装置。
背景技术
随着人工智能技术的快速发展,机器人的种类越来越多,并且已深入到人们工作、生活的各个方面。
人们在工作、生活中使用机器人时,可能会发现机器人所执行的操作并非人们想要的操作,或者未达到人们的需求,为此,人们希望能够通过示教的方式调整机器人的操作,这样可以使得机器人按照调整后的操作工作,进而满足人们的需求,这一过程可以称之为机器人示教,也就是,人们通过一定的方式教机器人执行什么样的操作,来满足其需求。
然而,目前的机器人中并非所有机器人均具有示教这一功能,只有比较高级的工业级机械臂等机器人才具有示教这一功能。当前机器人的这一现状为人们在工作、生活中使用机器人带来了极大不便,为此,需要提供一种能够便捷的对机器人进行示教的方式。
发明内容
本申请实施例的目的在于提供一种机器人示教系统、方法及装置,以能够便捷的对机器人进行示教。具体技术方案如下:
一种机器人示教系统,所述系统包括:
驱动层、指令接口层、机器人操作系统ROS通信层和程序生成层;
所述驱动层包括机器人的驱动程序;每一机器人的驱动程序用于与该机器人进行通信;
所述指令接口层包括预先封装的用于对机器人进行控制的指令函数;
所述ROS通信层,用于通过待示教机器人的驱动程序,获得待示教机器人在示教过程中的状态信息;
所述程序生成层,用于从所述ROS通信层获得待示教机器人在示教过程中的状态信息,并通过所述指令接口层包含的指令函数和所获得的状态信息,生成所述示教过程对应的控制指令,根据所生成的控制指令,生成待示教机器人的示教程序。
本申请的一个实施例中,所述程序生成层,具体用于检测是否接收到状态采集指令,并在检测到状态采集指令后,从所述ROS通信层获得待示教机器人在示教过程中的状态信息。
本申请的一个实施例中,所述程序生成层,具体用于检测用户是否按下输入设备的预设按键,若为是,判定检测到状态采集指令,从所述ROS通信层获得待示教机器人在示教过程中的状态信息。
本申请的一个实施例中,所述程序生成层,还用于接收用户输入的控制指令标识,根据所述指令接口层包含的指令函数,确定所述控制指令标识对应的指令函数,并利用所确定的指令函数生成目标控制指令,将所述目标控制指令添加至待示教机器人的示教程序。
本申请的一个实施例中,所述程序生成层,还用于通过所述指令接口层,将所述目标控制指令发送至所述ROS通信层;
所述ROS通信层,通过待示教机器人的驱动程序将所述目标控制指令发送至待示教机器人,以使得所述待示教机器人执行所述目标控制指令。
本申请的一个实施例中,所述机器人示教系统还包括:示教结果复现层;
所述示教结果复现层,用于获得目标机器人的目标示教程序,并通过所述指令接口层包含的指令函数解析所述目标示教程序,获得所述目标示教程序包含的控制指令,作为第一类控制指令,通过所述指令接口层将所述第一类控制指令发送至所述ROS通信接口层;
所述ROS通信接口层,还用于接收所述示教结果复现层通过所述指令接口层发送的所述第一类控制指令,并通过所述目标机器人的驱动程序将所述第一类控制指令发送至所述目标机器人,以使得所述目标机器人通过执行所述第一类控制指令复现所述目标示教程序的示教结果。
一种机器人示教方法,应用于安装有机器人操作系统ROS的电子设备,所述电子设备还安装有机器人的驱动程序,所述方法包括:
通过待示教机器人的驱动程序,获得示教过程中所述待示教机器人的状态信息;
根据预先封装的用于对机器人进行控制的指令函数和所获得的状态信息,生成所述示教过程对应的控制指令;
根据所生成的控制指令,生成待示教机器人的示教程序。
本申请的一个实施例中,在所述根据预先封装的用于对机器人进行控制的指令函数和所获得的状态信息,生成所述示教过程对应的控制指令之前,还包括:
检测是否接收到状态采集指令;
若为是,执行所述根据预先封装的用于对机器人进行控制的指令函数和所获得的状态信息,生成所述示教过程对应的控制指令的步骤。
本申请的一个实施例中,所述检测是否接收到状态采集指令,包括:
检测用户是否按下输入设备的预设按键;
若为是,判定接收到状态采集指令。
本申请的一个实施例中,所述机器人示教方法还包括:
接收用户输入的控制指令标识;
根据所述预先封装的用于对机器人进行控制的指令函数,确定所述控制指令标识对应的指令函数,并利用所确定的指令函数生成目标控制指令;
将所述目标控制指令添加至待示教机器人的示教程序。
本申请的一个实施例中,所述机器人示教方法还包括:
通过待示教机器人的驱动程序将所述目标控制指令发送至待示教机器人,以使得所述待示教机器人执行所述目标控制指令。
本申请的一个实施例中,所述机器人示教方法还包括:
获得目标机器人的目标示教程序,并通过所述预先封装的用于对机器人进行控制的指令函数解析所述目标示教程序,获得所述目标示教程序包含的控制指令,作为第一类控制指令;
通过所述目标机器人的驱动程序将所述第一类控制指令发送至所述目标机器人,以使得所述目标机器人通过执行所述第一类控制指令复现所述目标示教程序的示教结果。
一种机器人示教装置,应用于安装有机器人操作系统ROS的电子设备,所述电子设备还安装有机器人的驱动程序,所述装置包括:
信息获得模块,用于通过待示教机器人的驱动程序,获得示教过程中所述待示教机器人的状态信息;
第一指令生成模块,用于根据预先封装的用于对机器人进行控制的指令函数和所获得的状态信息,生成所述示教过程对应的控制指令;
程序生成模块,用于根据所生成的控制指令,生成待示教机器人的示教程序。
本申请的一个实施例中,所述机器人示教装置还包括:
指令检测模块,用于检测是否接收到状态采集指令,若为是,触发所述第一指令生成模块。
本申请的一个实施例中,所述指令检测模块,具体用于检测用户是否按下输入设备的预设按键,若为是,判定接收到状态采集指令。
本申请的一个实施例中,所述机器人示教装置还包括:
标识接收模块,用于接收用户输入的控制指令标识;
第二指令生成模块,用于根据所述预先封装的用于对机器人进行控制的指令函数,确定所述控制指令标识对应的指令函数,并利用所确定的指令函数生成目标控制指令;
指令添加模块,用于将所述目标控制指令添加至待示教机器人的示教程序。
本申请的一个实施例中,所述机器人示教装置还包括:
第一指令发送模块,用于通过待示教机器人的驱动程序将所述目标控制指令发送至待示教机器人,以使得所述待示教机器人执行所述目标控制指令。
本申请的一个实施例中,所述机器人示教装置还包括:
指令获得模块,用于获得目标机器人的目标示教程序,并通过所述预先封装的用于对机器人进行控制的指令函数解析所述目标示教程序,获得所述目标示教程序包含的控制指令,作为第一类控制指令;
第二指令发送模块,用于通过所述目标机器人的驱动程序将所述第一类控制指令发送至所述目标机器人,以使得所述目标机器人通过执行所述第一类控制指令复现所述目标示教程序的示教结果。
一种电子设备,所述电子设备安装有机器人操作系统ROS的电子设备,所述电子设备还安装有机器人的驱动程序,所述电子设备包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现本申请实施例所述的机器人示教方法步骤。
一种计算机可读存储介质,所述计算机可读存储介质为电子设备中的存储介质,所述电子设备为安装有机器人操作系统ROS的电子设备,所述电子设备还安装有机器人的驱动程序,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例所述的机器人示教方法步骤。
由以上可见,本申请实施例提供的方案中,由于驱动层中包括了待示教机器人的驱动程序,因此,ROS通信层可以通过待示教机器人的驱动程序,获得待示教机器人在示教过程中的状态信息,从而程序生成层能够通过指令接口层包含的指令函数和ROS通信层获得的状态信息,生成上述示教过程对应的控制指令,并根据生成的控制指令生成待示教机器人的示教程序。可见,应用本申请实施例提供的方案对机器人进行示教时,只需驱动层包含这一机器人的驱动程序,指令接口层包含对这一机器人进行控制的指令函数,即可获得这一机器人在示教过程中的控制指令,进而实现对这一机器人的示教,而无需这一机器人必须具有示教功能。因此,应用本申请实施例提供的方案能够便捷的对机器人进行示教。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种机器人示教系统的结构示意图;
图2为本申请实施例提供的另一种机器人示教系统的结构示意图;
图3为本申请实施例提供的一种机器人示教方法的流程示意图;
图4为本申请实施例提供的一种机器人示教装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
由于现有机器人中存在不具有示教功能的机器人,这一情况为人们在工作、生活中使用机器人、对机器人进行示教带来了诸多不便,为解决这一技术问题,本申请实施例提供了一种机器人示教系统、方法及装置。
下面先对本申请实施例中涉及的概念进行介绍:
1、机器人
机器人,可以理解为:自动执行工作的机器装置。它既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动。
上述机器人可以是人形的机器装置,还可以是机械臂等非人形的机器装置,本申请并不对机器人的具体表现形态进行限定。
2、机器人的示教过程
机器人的示教过程可以理解为:用户按照自身需求人为调整或者规定机器人所要执行的各个操作的过程。
机器人的示教过程可以是用户带动机器人运动而完成的,例如,用户带动机器人移动50厘米等等,还可以是用户通过向机器人发送控制指令的方式完成的,例如,用户通过向机器人发送摄像头开启指令完成等等。当然,还可以上述两种方式相结合完成,本申请并不对此进行限定。
下面对本申请实施例提供的机器人示教系统进行介绍。
图1为本申请实施例提供的一种机器人示教系统的结构示意图,该系统包括:
驱动层101、指令接口层102、ROS(Robot Operating System,机器人操作系统)通信层103和程序生成层104;
驱动层101包括机器人的驱动程序;每一机器人的驱动程序用于与该机器人进行通信;
指令接口层102包括预先封装的用于对机器人进行控制的指令函数;
ROS通信层103,用于通过待示教机器人的驱动程序,获得待示教机器人在示教过程中的状态信息;
程序生成层104,用于从ROS通信层103获得待示教机器人在示教过程中的状态信息,并通过指令接口层102包含的指令函数和所获得的状态信息,生成示教过程对应的控制指令,根据所生成的控制指令,生成待示教机器人的示教程序。
由以上可见,本实施例提供的方案中,由于驱动层中包括了待示教机器人的驱动程序,因此,ROS通信层可以通过待示教机器人的驱动程序,获得待示教机器人在示教过程中的状态信息,从而程序生成层能够通过指令接口层包含的指令函数和ROS通信层获得的状态信息,生成上述示教过程对应的控制指令,并根据生成的控制指令生成待示教机器人的示教程序。可见,应用本实施例提供的方案对机器人进行示教时,只需驱动层包含这一机器人的驱动程序,指令接口层包含对这一机器人进行控制的指令函数,即可获得这一机器人在示教过程中的控制指令,进而实现对这一机器人的示教,而无需这一机器人必须具有示教功能。因此,应用本实施例提供的方案能够便捷的对机器人进行示教。
下面分别对上述图1所示实施例中提及的各个层涉及的内容分别进行说明。
一、驱动程序层101和驱动程序
从上述描述可以得知,驱动层101是由机器人的驱动程序构成的一个层,这一层可以包括各种型号的机器人的驱动程序,具体包含哪一型号机器人的驱动程序可以根据实际示教需求设定。
一个机器人的驱动程序定义了这一机器人能够支持的控制模式,因此,驱动层101中机器人的驱动程序可以与该驱动程序对应的机器人进行通信,ROS通信层103可以通过机器人的驱动程序获得机器人在示教过程中的状态信息。
上述机器人能够支持的控制模式可以是:机械臂末端机械爪的开合控制模式、机械臂的运动控制模型、摄像头的开启与关闭控制模式等等。
二、指令函数
本领域技术人员可以理解的是,由于机器人能够支持各种不同的控制模式,所以机器人在工作过程中是通过各种控制指令执行相应的操作从而完成工作的,而每一控制指令的执行均是由开发人员事先编写的代码实现的,其中,每一控制指令对应的代码中规定了机器人执行这一控制指令需要执行的操作,且每一控制指令对应的代码可以是以函数的形式存在于存储介质中的,基于此,可以认为对机器人进行的每一项控制,也就是,机器人执行的每一个控制指令,是依据这一控制指令对应的函数实现的。为与其他函数相区分,可以将一个控制指令对应的函数称之为指令函数。
例如,上述指令函数可以是控制机器人运动的函数、协调机械臂本体与机械臂末端机械爪运动的函数、对摄像头所采集数据进行处理的函数、控制摄像头开启或者关闭的函数等等。
三、示教过程
本申请的一种实现方式中,一个完整的示教过程可以仅仅是针对一个机器人的示教过程;还可以是针对多个机器人的示教过程,也就是,一个完整的示教过程可以是对多个机器人进行联合示教,使得这多个机器人联合完成工作的过程,例如,对机械臂主体、机械臂末端的机械爪、摄像头、人形机器人等等进行联合示教。
四、机器人在示教过程中的状态信息
机器人在示教过程中的状态信息可以理解为:示教过程中机器人在执行操作过程中所处状态的表征信息,例如,摄像机的开启状态、机械臂处于移动状态或者是静止状态、机械臂处于移动状态时所移动过的距离、机械臂末端机械爪的闭合位置等等。
五、控制指令
由于机器人在示教过程中的状态信息可以表征机器人执行操作过程中所处的状态,进而可以根据上述状态信息反向推到出机器人在示教过程中所执行的操作,又由于指令接口层102包括预先封装的用于对机器人进行控制的指令函数,每一指令函数与一个控制指令相对应,一个控制指令对应的指令函数又描述了机器人执行这一控制指令时需要执行的操作,所以,程序生成层104通过指令接口层102包含的指令函数和上述状态信息,可以确定上述状态信息对应的指令函数,从而得到上述状态信息对应的控制指令,也就是使得机器人处于上述状态信息对应的状态时,机器人需要执行的控制指令。
程序生成层104根据机器人在示教过程中的状态信息,生成控制指令后,也就是获得了机器人在实现示教过程时需要执行的控制指令,基于这些控制指令生成示教程序后,若机器人执行这一示教程序即可复现示教过程。
具体的,上述控制指令可以是指示机器人执行操作的指令,例如,指示机器人执行移动操作的指令等等;还可以是指示机器人达到某种状态的指令,例如,指示摄像机开启的指令等等。
六、程序生成层104获得状态信息的方式
本申请的一种实现方式中,程序生成层104从ROS通信层103获得待示教机器人在示教过程中的状态信息时,可以通过以下方式中的一种获得:
方式一、程序生成层104检测是否接收到状态采集指令,并在检测到状态采集指令后,从ROS通信层103获得待示教机器人在示教过程中的状态信息;
方式二、由ROS通信层103检测是否接收到状态采集指令,当ROS通信层检测到状态采集指令后,向程序生成层104发送待示教机器人在示教过程中的状态信息,从而使得程序生成层104获得上述状态信息;
方式三、ROS通信层103获得待示教机器人在示教过程中的状态信息后,直接将所获得的状态信息发送至程序生成层104,从而使得程序生成层104获得上述状态信息;
方式四、程序生成层104在待示教机器人的示教过程中,按照预设的时间间隔从ROS通信曾103获得待示教机器人在示教过程中的状态信息。
一种实现方式中,程序生成层104或者ROS通信层103检测是否接收到状体采集指令,可以通过检测用户是否按下输入设备的预设按键的方式实现,当检测到用户按下预设按键时判定检测到状态采集指令。
上述输入设备可以是键盘、鼠标等等,当上述输入设备为键盘时,上述预设按键可以是键盘上的任一键,例如,“m”键,上述输入设备为鼠标时,上述预设按键可以是鼠标的左键或者右键。
需要说明的是,本申请仅仅以上述为例进行说明,并不对程序生成层104获得待示教机器人在示教过程中的状态信息的方式、输入设备的具体形态等信息构成限定。
通过以上描述信息可以看出,本申请实施例提供的方案中,驱动层101可以包括各种型号机器人的驱动程序,进而ROS通信层可以获得各种型号机器人的状态信息,因此,应用本申请实施例提供的方案可以对任何型号的机器人进行示教。另外,进行示教过程中可以对多个机器人进行联合示教,而不仅限于对一个机器人示教,使得示教过程更加灵活,示教内容更加丰富。
在对待示教机器人进行示教时,一方面可以通过用户带动机器人运动完成示教,另一方面,需要机器人执行的一些精度较高的操作时、或者需要机器人根据工作场景实时调整的操作时,通过用户带动机器人运动难以完成示教,鉴于这种情况,本申请的一种实现方式中,程序生成层104,还用于接收用户输入的控制指令标识,根据指令接口层102包含的指令函数,确定上述控制指令标识对应的指令函数,并利用所确定的指令函数生成目标控制指令,将上述目标控制指令添加至待示教机器人的示教程序。
例如,上述目标控制指令可以是控制机械臂末端的机械爪闭合至1cm处、控制摄像头打开等等。
本申请的另一实现方式中,程序生成层104,还用于通过指令接口层102,将目标控制指令发送至ROS通信层103;
ROS通信层103,通过待示教机器人的驱动程序将目标控制指令发送至待示教机器人,以使得待示教机器人执行目标控制指令。
将上述目标控制指令发送至待示教机器人,由待示教机器人执行目标控制指令,可以使得用户较为直观的观察到待示教机器人执行目标控制指令后的状态,从而能够判断这一示教过程是否正确,从而有利于提高示教过程的精准度。
本申请的一个实施例中,参见图2,提供了另一种机器人示教系统的结构示意图,与前述图1所示实施例相比,本实施例中,上述机器人示教系统还包括:示教结果复现层105。
示教结果复现层105,用于获得目标机器人的目标示教程序,并通过指令接口层102包含的指令函数解析目标示教程序,获得目标示教程序包含的控制指令,作为第一类控制指令,通过指令接口层102将第一类控制指令发送至ROS通信接口层103;
ROS通信接口层103,还用于接收示教结果复现层105通过指令接口层102发送的第一类控制指令,并通过目标机器人的驱动程序将第一类控制指令发送至目标机器人,以使得目标机器人通过执行第一类控制指令复现目标示教程序的示教结果。
对机器人进行示教,生成示教程序后,用户可能需要查看示教过程是否达到其需求,或者需要机器人按照示教过程进行工作,这种情况下均需要机器人复现示教结果,通过本实施例提供的方案,可以方便有效的指示机器人复现示教结果。
与上述机器人示教系统相对应,本申请实施例还提供了一种机器人示教方法。
图3为本申请实施例提供的一种机器人示教方法的流程示意图,该方法应用于安装有ROS的电子设备,该电子设备还安装有机器人的驱动程序。
具体的,上述电子设备可以是台式计算机、笔记本电脑、平板电脑等等,本申请并不对此进行限定。
上述机器人示教方法包括:
S301:通过待示教机器人的驱动程序,获得示教过程中待示教机器人的状态信息。
本申请的一种实现方式中,待示教机器人可以按照预设的数据回传频率,向上述电子设备回传待示教机器人在示教过程中的状态信息,从而使得上述电子设备获得上述状态信息。
S302:根据预先封装的用于对机器人进行控制的指令函数和所获得的状态信息,生成所述示教过程对应的控制指令。
S303:根据所生成的控制指令,生成待示教机器人的示教程序。
本申请的一种实现方式中,在根据预先封装的用于对机器人进行控制的指令函数和所获得的状态信息,生成所述示教过程对应的控制指令(S302)之前,还可以包括:
检测是否接收到状态采集指令;
若为是,执行上述S302步骤。
本申请的一种实现方式中,检测是否接收到状态采集指令时,可以通过检测用户是否按下输入设备的预设按键的方式进行检测,当检测到用户按下输入设备的预设按键,则判定接收到状态采集指令。
本申请的一种实现方式中,上述机器人示教方法还包括:
接收用户输入的控制指令标识;
根据所述预先封装的用于对机器人进行控制的指令函数,确定所述控制指令标识对应的指令函数,并利用所确定的指令函数生成目标控制指令;
将所述目标控制指令添加至待示教机器人的示教程序。
本申请的一种实现方式中,上述机器人示教方法方法还包括:
通过待示教机器人的驱动程序将所述目标控制指令发送至待示教机器人,以使得所述待示教机器人执行所述目标控制指令。
本申请的一种实现方式中,上述机器人示教方法还包括:
获得目标机器人的目标示教程序,并通过所述预先封装的用于对机器人进行控制的指令函数解析所述目标示教程序,获得所述目标示教程序包含的控制指令,作为第一类控制指令;
通过所述目标机器人的驱动程序将所述第一类控制指令发送至所述目标机器人,以使得所述目标机器人通过执行所述第一类控制指令复现所述目标示教程序的示教结果。
由以上可见,上述各个实施例提供的方案中,由于电子设备中安装了待示教机器人的驱动程序,因此,电子设备可以通过待示教机器人的驱动程序,获得待示教机器人在示教过程中的状态信息,从而可以根据预先封装的用于对机器人进行控制的指令函数和上述状态信息,生成上述示教过程对应的控制指令,并根据生成的控制指令生成待示教机器人的示教程序。可见,应用上述各个实施例提供的方案对机器人进行示教时,只需电子设备安装这一机器人的驱动程序,并且预先封装对这一机器人进行控制需要的指令函数,即可获得这一机器人在示教过程中的控制指令,进而实现对这一机器人的示教,而无需这一机器人必须具有示教功能。因此,应用上述各个实施例提供的方案能够便捷的对机器人进行示教。
与上述机器人示教方法相对应,本申请实施例还提供了一种机器人示教装置。
图4为本申请实施例提供的一种机器人示教装置的结构示意图,该装置应用于安装有机器人操作系统ROS的电子设备,所述电子设备还安装有机器人的驱动程序,所述装置包括:
信息获得模块401,用于通过待示教机器人的驱动程序,获得示教过程中所述待示教机器人的状态信息;
第一指令生成模块402,用于根据预先封装的用于对机器人进行控制的指令函数和所获得的状态信息,生成所述示教过程对应的控制指令;
程序生成模块403,用于根据所生成的控制指令,生成待示教机器人的示教程序。
本申请的一种实现方式中,上述机器人示教装置还包括:
指令检测模块,用于检测是否接收到状态采集指令,若为是,触发所述第一指令生成模块402。
本申请的一种实现方式中,所述指令检测模块,具体用于检测用户是否按下输入设备的预设按键,若为是,判定接收到状态采集指令。
本申请的一种实现方式中,上述机器人示教装置还包括:
标识接收模块,用于接收用户输入的控制指令标识;
第二指令生成模块,用于根据所述预先封装的用于对机器人进行控制的指令函数,确定所述控制指令标识对应的指令函数,并利用所确定的指令函数生成目标控制指令;
指令添加模块,用于将所述目标控制指令添加至待示教机器人的示教程序。
本申请的一种实现方式中,上述机器人示教装置还包括:
第一指令发送模块,用于通过待示教机器人的驱动程序将所述目标控制指令发送至待示教机器人,以使得所述待示教机器人执行所述目标控制指令。
本申请的一种实现方式中,上述机器人示教装置还包括:
指令获得模块,用于获得目标机器人的目标示教程序,并通过所述预先封装的用于对机器人进行控制的指令函数解析所述目标示教程序,获得所述目标示教程序包含的控制指令,作为第一类控制指令;
第二指令发送模块,用于通过所述目标机器人的驱动程序将所述第一类控制指令发送至所述目标机器人,以使得所述目标机器人通过执行所述第一类控制指令复现所述目标示教程序的示教结果。
由以上可见,上述各个实施例提供的方案中,由于电子设备中安装了待示教机器人的驱动程序,因此,电子设备可以通过待示教机器人的驱动程序,获得待示教机器人在示教过程中的状态信息,从而可以根据预先封装的用于对机器人进行控制的指令函数和上述状态信息,生成上述示教过程对应的控制指令,并根据生成的控制指令生成待示教机器人的示教程序。可见,应用上述各个实施例提供的方案对机器人进行示教时,只需电子设备安装这一机器人的驱动程序,并且预先封装对这一机器人进行控制需要的指令函数,即可获得这一机器人在示教过程中的控制指令,进而实现对这一机器人的示教,而无需这一机器人必须具有示教功能。因此,应用上述各个实施例提供的方案能够便捷的对机器人进行示教。
本申请实施例还提供了一种电子设备,如图5所示,该电子设备安装有ROS的电子设备,该电子设备还安装有机器人的驱动程序,该电子设备包括:处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现本申请实施例提供的机器人示教方法。
本申请的一个实施例中,上述机器人示教方法,包括:
通过待示教机器人的驱动程序,获得示教过程中所述待示教机器人的状态信息;
根据预先封装的用于对机器人进行控制的指令函数和所获得的状态信息,生成所述示教过程对应的控制指令;
根据所生成的控制指令,生成待示教机器人的示教程序。
需要说明的是,处理器501执行存储器503上所存放的程序而实现的机器人示教方法的其他实施例,与前述方法部分提及的实施例相同,这里不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上可见,本实施例提供的方案中,由于电子设备中安装了待示教机器人的驱动程序,因此,电子设备可以通过待示教机器人的驱动程序,获得待示教机器人在示教过程中的状态信息,从而可以根据预先封装的用于对机器人进行控制的指令函数和上述状态信息,生成上述示教过程对应的控制指令,并根据生成的控制指令生成待示教机器人的示教程序。可见,应用本实施例提供的方案对机器人进行示教时,只需电子设备安装这一机器人的驱动程序,并且预先封装对这一机器人进行控制需要的指令函数,即可获得这一机器人在示教过程中的控制指令,进而实现对这一机器人的示教,而无需这一机器人必须具有示教功能。因此,应用本实施例提供的方案能够便捷的对机器人进行示教。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质为电子设备中的存储介质,上述电子设备为安装有ROS的电子设备,上述电子设备还安装有机器人的驱动程序,上述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的机器人示教方法。
本申请的一个实施例中,上述机器人示教方法,包括:
通过待示教机器人的驱动程序,获得示教过程中所述待示教机器人的状态信息;
根据预先封装的用于对机器人进行控制的指令函数和所获得的状态信息,生成所述示教过程对应的控制指令;
根据所生成的控制指令,生成待示教机器人的示教程序。
需要说明的是,处理器执行上述计算机可读存储介质中存储的计算机程序而实现的机器人示教方法的其他实施例,与前述方法部分提及的实施例相同,这里不再赘述。
由以上可见,本实施例提供的方案中,由于电子设备中安装了待示教机器人的驱动程序,因此,通过执行上述计算机可读存储介质中存储的计算机程序,电子设备可以通过待示教机器人的驱动程序,获得待示教机器人在示教过程中的状态信息,从而可以根据预先封装的用于对机器人进行控制的指令函数和上述状态信息,生成上述示教过程对应的控制指令,并根据生成的控制指令生成待示教机器人的示教程序。可见,应用本实施例提供的方案对机器人进行示教时,只需电子设备安装这一机器人的驱动程序,并且预先封装对这一机器人进行控制需要的指令函数,即可获得这一机器人在示教过程中的控制指令,进而实现对这一机器人的示教,而无需这一机器人必须具有示教功能。因此,应用本实施例提供的方案能够便捷的对机器人进行示教。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法、装置、电子设备、计算机可读存储介质实施例而言,由于其基本相似于系统实施例,所以描述的比较简单,相关之处参见系统实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (10)
1.一种机器人示教系统,其特征在于,所述系统包括:
驱动层、指令接口层、机器人操作系统ROS通信层和程序生成层;
所述驱动层包括机器人的驱动程序;每一机器人的驱动程序用于与该机器人进行通信;
所述指令接口层包括预先封装的用于对机器人进行控制的指令函数;
所述ROS通信层,用于通过待示教机器人的驱动程序,获得待示教机器人在示教过程中的状态信息;
所述程序生成层,用于从所述ROS通信层获得待示教机器人在示教过程中的状态信息,并通过所述指令接口层包含的指令函数和所获得的状态信息,生成所述示教过程对应的控制指令,根据所生成的控制指令,生成待示教机器人的示教程序。
2.根据权利要求1所述的系统,其特征在于,
所述程序生成层,具体用于检测是否接收到状态采集指令,并在检测到状态采集指令后,从所述ROS通信层获得待示教机器人在示教过程中的状态信息。
3.根据权利要求2所述的系统,其特征在于,
所述程序生成层,具体用于检测用户是否按下输入设备的预设按键,若为是,判定检测到状态采集指令,从所述ROS通信层获得待示教机器人在示教过程中的状态信息。
4.根据权利要求1所述的系统,其特征在于,
所述程序生成层,还用于接收用户输入的控制指令标识,根据所述指令接口层包含的指令函数,确定所述控制指令标识对应的指令函数,并利用所确定的指令函数生成目标控制指令,将所述目标控制指令添加至待示教机器人的示教程序。
5.根据权利要求4所述的系统,其特征在于,
所述程序生成层,还用于通过所述指令接口层,将所述目标控制指令发送至所述ROS通信层;
所述ROS通信层,通过待示教机器人的驱动程序将所述目标控制指令发送至待示教机器人,以使得所述待示教机器人执行所述目标控制指令。
6.根据权利要求1-5中任一项所述的系统,其特征在于,所述系统还包括:示教结果复现层;
所述示教结果复现层,用于获得目标机器人的目标示教程序,并通过所述指令接口层包含的指令函数解析所述目标示教程序,获得所述目标示教程序包含的控制指令,作为第一类控制指令,通过所述指令接口层将所述第一类控制指令发送至所述ROS通信接口层;
所述ROS通信接口层,还用于接收所述示教结果复现层通过所述指令接口层发送的所述第一类控制指令,并通过所述目标机器人的驱动程序将所述第一类控制指令发送至所述目标机器人,以使得所述目标机器人通过执行所述第一类控制指令复现所述目标示教程序的示教结果。
7.一种机器人示教方法,其特征在于,应用于安装有机器人操作系统ROS的电子设备,所述电子设备还安装有机器人的驱动程序,所述方法包括:
通过待示教机器人的驱动程序,获得示教过程中所述待示教机器人的状态信息;
根据预先封装的用于对机器人进行控制的指令函数和所获得的状态信息,生成所述示教过程对应的控制指令;
根据所生成的控制指令,生成待示教机器人的示教程序。
8.一种机器人示教装置,其特征在于,应用于安装有机器人操作系统ROS的电子设备,所述电子设备还安装有机器人的驱动程序,所述装置包括:
信息获得模块,用于通过待示教机器人的驱动程序,获得示教过程中所述待示教机器人的状态信息;
第一指令生成模块,用于根据预先封装的用于对机器人进行控制的指令函数和所获得的状态信息,生成所述示教过程对应的控制指令;
程序生成模块,用于根据所生成的控制指令,生成待示教机器人的示教程序。
9.一种电子设备,其特征在于,所述电子设备安装有机器人操作系统ROS的电子设备,所述电子设备还安装有机器人的驱动程序,所述电子设备包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求7所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质为电子设备中的存储介质,所述电子设备为安装有机器人操作系统ROS的电子设备,所述电子设备还安装有机器人的驱动程序,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求7所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711274373.8A CN109887396A (zh) | 2017-12-06 | 2017-12-06 | 一种机器人示教系统、方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711274373.8A CN109887396A (zh) | 2017-12-06 | 2017-12-06 | 一种机器人示教系统、方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109887396A true CN109887396A (zh) | 2019-06-14 |
Family
ID=66923578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711274373.8A Pending CN109887396A (zh) | 2017-12-06 | 2017-12-06 | 一种机器人示教系统、方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109887396A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112562443A (zh) * | 2020-12-22 | 2021-03-26 | 北京航空航天大学 | 智能探测教学实践平台和智能探测车 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1876332A (zh) * | 2005-06-10 | 2006-12-13 | 发那科株式会社 | 机器人控制装置 |
CN101833892A (zh) * | 2010-04-30 | 2010-09-15 | 东南大学 | 用于焊接机器人的嵌入式示教编程装置及方法 |
CN103846915A (zh) * | 2012-11-29 | 2014-06-11 | 株式会社大亨 | 机器人系统 |
CN104216516A (zh) * | 2014-08-21 | 2014-12-17 | 深圳市金立通信设备有限公司 | 一种终端 |
CN105073349A (zh) * | 2013-03-19 | 2015-11-18 | 松下知识产权经营株式会社 | 机器人系统的控制方法以及机器人系统 |
CN204856122U (zh) * | 2015-07-28 | 2015-12-09 | 符迎利 | 冲压机器人控制系统 |
CN105511427A (zh) * | 2015-11-30 | 2016-04-20 | 上海新时达电气股份有限公司 | 多机器人的操控方法及操控系统 |
CN106926243A (zh) * | 2017-04-19 | 2017-07-07 | 广州视源电子科技股份有限公司 | 机器人示教运动控制方法和系统 |
US20170326731A1 (en) * | 2014-06-11 | 2017-11-16 | Canon Kabushiki Kaisha | Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component |
CN107367993A (zh) * | 2017-08-07 | 2017-11-21 | 浙江工业大学 | 用于六自由度机械臂示教的数据采集器系统 |
-
2017
- 2017-12-06 CN CN201711274373.8A patent/CN109887396A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1876332A (zh) * | 2005-06-10 | 2006-12-13 | 发那科株式会社 | 机器人控制装置 |
CN101833892A (zh) * | 2010-04-30 | 2010-09-15 | 东南大学 | 用于焊接机器人的嵌入式示教编程装置及方法 |
CN103846915A (zh) * | 2012-11-29 | 2014-06-11 | 株式会社大亨 | 机器人系统 |
CN105073349A (zh) * | 2013-03-19 | 2015-11-18 | 松下知识产权经营株式会社 | 机器人系统的控制方法以及机器人系统 |
US20170326731A1 (en) * | 2014-06-11 | 2017-11-16 | Canon Kabushiki Kaisha | Robot controlling method, robot apparatus, program, recording medium, and method for manufacturing assembly component |
CN104216516A (zh) * | 2014-08-21 | 2014-12-17 | 深圳市金立通信设备有限公司 | 一种终端 |
CN204856122U (zh) * | 2015-07-28 | 2015-12-09 | 符迎利 | 冲压机器人控制系统 |
CN105511427A (zh) * | 2015-11-30 | 2016-04-20 | 上海新时达电气股份有限公司 | 多机器人的操控方法及操控系统 |
CN106926243A (zh) * | 2017-04-19 | 2017-07-07 | 广州视源电子科技股份有限公司 | 机器人示教运动控制方法和系统 |
CN107367993A (zh) * | 2017-08-07 | 2017-11-21 | 浙江工业大学 | 用于六自由度机械臂示教的数据采集器系统 |
Non-Patent Citations (1)
Title |
---|
王乐: "基于嵌入式计算机的机器人示教器研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112562443A (zh) * | 2020-12-22 | 2021-03-26 | 北京航空航天大学 | 智能探测教学实践平台和智能探测车 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5686775B2 (ja) | ロボット制御インターフェイスの動的最適化のための方法 | |
KR102564933B1 (ko) | 유연한 인간-기계 협업을 위한 시스템 및 방법 | |
JP6361213B2 (ja) | ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム | |
US10635082B2 (en) | Robot motion program generating method and robot motion program generating apparatus | |
CN103513992A (zh) | 一种通用的教育娱乐机器人应用软件研制平台 | |
JP7427113B2 (ja) | ロボットデモンストレーション学習用スキルテンプレート | |
CN108351855A (zh) | 单线pmic主机低级控制接口 | |
JP2015186834A (ja) | ロボット制御装置、把持部制御装置、ロボット、把持部、ロボット制御方法、及びプログラム | |
CN109887396A (zh) | 一种机器人示教系统、方法及装置 | |
CN104123062A (zh) | 一种信息处理方法及电子设备 | |
CN103777618B (zh) | 半导体工艺的指令执行的控制方法及控制装置 | |
CN106774178A (zh) | 一种自动化控制系统及方法、机械设备 | |
CN103552072B (zh) | 一种基于嵌入式控制器的机器人控制方法和装置 | |
CN108804098A (zh) | 一种点击拖动式编程控制方法及其软件系统 | |
US20220347846A1 (en) | Real-time robotics control framework | |
US20210197374A1 (en) | Composability framework for robotic control system | |
Bommi et al. | Speech and gesture recognition interactive robot | |
US20230405811A1 (en) | Extensible hardware abstraction layer for real-time robotics control framework | |
WO2022254538A1 (ja) | ロボットシミュレーション装置 | |
US20240157550A1 (en) | Real-time robotics control framework with custom reactions | |
US11992948B2 (en) | Real-time robotics control framework | |
EP4254098A1 (en) | Controlling an automation system comprising a plurality of machines | |
US20240139961A1 (en) | Real-time robotic end effector control | |
JP2014522541A (ja) | ムーブイット:再構成可能な物理的コンピューティングのための監視、操作、視覚化、編集統合ツールキット | |
Di Prima | Human-Robot Collaboration through a new touch emulation system for assembly tasks |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190614 |