CN111267088A - 一种动作分子的执行方法及装置、设备和存储介质 - Google Patents
一种动作分子的执行方法及装置、设备和存储介质 Download PDFInfo
- Publication number
- CN111267088A CN111267088A CN201811475605.0A CN201811475605A CN111267088A CN 111267088 A CN111267088 A CN 111267088A CN 201811475605 A CN201811475605 A CN 201811475605A CN 111267088 A CN111267088 A CN 111267088A
- Authority
- CN
- China
- Prior art keywords
- action
- molecule
- executed
- atom
- execution
- 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
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
本申请提供的一种动作分子的执行方法及装置、设备和存储介质,其中,所述方法包括根据待执行动作分子,确定待执行的第十一动作单元序列;获取预先确定的所述待执行动作分子对应的执行偏移量;依次执行所述待执行的第十一动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数;根据所述执行偏移量,对所述至少一组待调整的机器人动作控制参数进行调整,得到所述至少一组机器人动作控制参数;可以根据预先确定的执行偏移量得到机器人动作控制参数,对机器人进行控制,实现机器人在不同的硬件环境或应用场景下的自适应调整和迁移应用。
Description
技术领域
本申请涉及机器人控制技术领域,特别涉及一种动作分子的执行方法及装置、设备和存储介质。
背景技术
在过去的半个多世纪,世界上很多研究者致力研究机器人应用的相关技术,获得了很多成果。例如工业机器人、或者执行特定任务或危险任务的机器人等。这些机器人一般会在结构环境下,按照特定的模式进行工作。机械臂是一个很典型的工业机器人的应用例子。随着技术的发展以及人类的日常生活的需求,机器人面临非结构化、复杂化等一系列问题的挑战。为了使机械臂能够更好协助人类劳动,在日常生活中为人们服务,它应该具备更为灵活和智能的交互能力。
现有技术中对于机械臂的控制,一种方式是通过复杂编程对机械臂进行控制,对普通用户而言使用门槛高;一种方式是在示教板上设置各项参数、配合人工拖动对机械臂进行控制,这种方式不够灵活且不能完成较为复杂的任务动作、操作难度也很高;另外,对机械臂的控制相对固化,且一般都是绝对值运行,机械臂动作不能迁移,更不能根据硬件环境或者应用场景的不同进行自适应的调整和迁移,对机械臂的应用领域造成了极大的限制。
发明内容
有鉴于此,本申请实施例提供了一种动作分子的执行方法及装置、设备和存储介质,以解决现有技术中存在的技术缺陷。
本申请实施例公开了一种动作分子的执行方法,包括:
根据待执行动作分子,确定待执行的第十一动作单元序列;
获取预先确定的所述待执行动作分子对应的执行偏移量;
依次执行所述待执行的第十一动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数,其中,所述动作单元的类型包括动作原子和动作分子中的至少一种;
根据所述执行偏移量,对所述至少一组待调整的机器人动作控制参数进行调整,得到所述至少一组机器人动作控制参数。
在本申请的一个示意性的实施方案中,根据待执行动作分子,确定待执行的第十一动作单元序列,包括:
解析待执行动作分子,获取所述待执行动作分子的名称标识以及所述待执行动作分子的参数值,所述待执行动作分子的名称标识对应第十一动作单元序列;
根据所述待执行动作分子的参数值,从所述第十一动作单元序列中确定待执行的第十一动作单元序列。
在本申请的一个示意性的实施方案中,在获取所述待执行动作分子的名称标识以及所述待执行动作分子的参数值之前,还包括:
获取所述待执行动作分子的类型值;
根据所述待执行动作分子的类型值,确认所述待执行动作分子的类型为动作分子。
在本申请的一个示意性的实施方案中,所述待执行动作分子的参数值包括起始点和终止点;
根据所述待执行动作分子的参数值,从所述第十一动作单元序列中确定待执行的第十一动作单元序列,包括:
根据所述待执行动作分子的参数值中的起始点和终止点,从所述第十一动作单元序列中确定待执行的第十一动作单元序列。
在本申请的一个示意性的实施方案中,依次执行所述待执行的第十一动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数,包括:
针对所述待执行的第十一动作单元序列中的每个动作原子,解析所述动作原子,获取所述动作原子的类型值以及所述动作原子的参数值,其中,所述动作原子的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;
根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数;
根据所述待执行的执行函数,生成至少一组待调整的机器人动作控制参数。
在本申请的一个示意性的实施方案中,在根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数之前,还包括:
获取传感器数据;
根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数,包括:
根据所述动作原子的参数值、所述至少一个执行函数的执行逻辑以及所述传感器数据,从所述至少一个执行函数中确定待执行的执行函数。
在本申请的一个示意性的实施方案中,依次执行所述待执行的第十一动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数,包括:
针对所述待执行的第十一动作单元序列中的每个动作分子,解析所述动作分子,获取所述动作分子的名称标识以及所述动作分子的参数值;所述动作分子的名称标识对应第十二动作单元序列;
根据所述动作分子的参数值,从所述第十二动作单元序列中确定待执行的第十二动作单元序列;
依次执行所述待执行的第十二动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数。
在本申请的一个示意性的实施方案中,所述执行偏移量通过传感器检测预先确定。
在本申请的一个示意性的实施方案中,所述机器人动作控制参数包括机械臂位姿控制参数。
另一方面,本申请公开了一种动作分子的执行装置,包括:
自适应动作单元序列确定模块,用于根据待执行动作分子,确定待执行的第十一动作单元序列;
自适应偏移量获取模块,用于获取预先确定的所述待执行动作分子对应的执行偏移量;
自适应控制参数生成模块,用于依次执行所述待执行的第十一动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数,其中,所述动作单元的类型包括动作原子和动作分子中的至少一种;
自适应控制参数得到模块,用于根据所述执行偏移量,对所述至少一组待调整的机器人动作控制参数进行调整,得到所述至少一组机器人动作控制参数。
在本申请的一个示意性的实施方案中,所述自适应动作单元序列确定模块具体用于:
解析待执行动作分子,获取所述待执行动作分子的名称标识以及所述待执行动作分子的参数值,所述待执行动作分子的名称标识对应第十一动作单元序列;
根据所述待执行动作分子的参数值,从所述第十一动作单元序列中确定待执行的第十一动作单元序列。
在本申请的一个示意性的实施方案中,所述自适应动作单元序列确定模块还用于:
获取所述待执行动作分子的类型值;
根据所述待执行动作分子的类型值,确认所述待执行动作分子的类型为动作分子。
在本申请的一个示意性的实施方案中,所述待执行动作分子的参数值包括起始点和终止点;
所述自适应动作单元序列确定模块具体用于:
根据所述待执行动作分子的参数值中的起始点和终止点,从所述第十一动作单元序列中确定待执行的第十一动作单元序列。
在本申请的一个示意性的实施方案中,所述自适应控制参数生成模块具体用于:
针对所述待执行的第十一动作单元序列中的每个动作原子,解析所述动作原子,获取所述动作原子的类型值以及所述动作原子的参数值,其中,所述动作原子的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;
根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数;
根据所述待执行的执行函数,生成至少一组待调整的机器人动作控制参数。
在本申请的一个示意性的实施方案中,所述装置还包括:
自适应传感器数据获取模块,用于获取传感器数据;
所述自适应控制参数生成模块具体用于:
根据所述动作原子的参数值、所述至少一个执行函数的执行逻辑以及所述传感器数据,从所述至少一个执行函数中确定待执行的执行函数。
在本申请的一个示意性的实施方案中,所述自适应控制参数生成模块具体用于:
针对所述待执行的第十一动作单元序列中的每个动作分子,解析所述动作分子,获取所述动作分子的名称标识以及所述动作分子的参数值;所述动作分子的名称标识对应第十二动作单元序列;
根据所述动作分子的参数值,从所述第十二动作单元序列中确定待执行的第十二动作单元序列;
依次执行所述待执行的第十二动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数。
在本申请的一个示意性的实施方案中,所述执行偏移量通过传感器检测预先确定。
在本申请的一个示意性的实施方案中,所述机器人动作控制参数包括机械臂位姿控制参数。
另一方面,本申请公开了一种主控器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述动作分子的执行方法。
另一方面,本申请公开了一种机器人,包括如上所述的主控器。
另一方面,本申请公开了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机指令,该计算机指令被处理器执行实现如上所述动作分子的执行方法。
本申请提供的种动作分子的执行方法及装置、设备和存储介质,可以根据预先确定的执行偏移量生成机器人动作控制参数,对机器人进行控制,实现机器人在不同的硬件环境或应用场景下的自适应调整和迁移应用。
附图说明
图1是本申请实施例的一种动作原子的生成方法的流程示意图;
图2是本申请实施例的另一动作原子的生成方法的流程示意图;
图3是本申请实施例的另一动作原子的生成方法的流程示意图;
图2-1至图2-4是本申请实施例的动作原子生成方法中基于用户操作获取动作原子模板的GUI界面示意图;
图3-1至图3-3是本申请实施例的动作原子生成方法中基于用户操作获取待生成动作原子的参数值的GUI界面示意图;
图4-1和图4-2是本申请实施例的动作原子生成方法中修改动作原子名称标识的GUI界面示意图;
图5是本申请实施例的一种动作原子的执行方法的流程示意图;
图6是本申请实施例的另一种动作原子的执行方法的流程示意图;
图7是本申请实施例的一种动作原子的生成装置的示意图;
图8是本申请实施例的一种动作原子的执行装置的示意图;
图9是本申请实施例的一种动作分子模板的创建方法的流程示意图;
图10是本申请实施例的另一种动作分子模板的创建方法的流程示意图;
图11是本申请实施例的另一种动作分子模板的创建方法的流程示意图;
图12是本申请实施例的另一种动作分子模板的创建方法的流程示意图;
图13是本申请实施例的另一种动作分子模板的创建方法的流程示意图;
图14是本申请实施例的另一种动作分子模板的创建方法的流程示意图;
图15是本申请实施例的一种动作分子模板的创建装置的示意图;
图16是本申请实施例的一种动作分子的生成方法的流程示意图;
图17是本申请实施例的一种动作分子的执行方法的流程示意图;
图18是本申请实施例的另一种动作分子的执行方法的流程示意图;
图19是本申请实施例的另一种动作分子的执行方法的流程示意图;
图20是本申请实施例的另一种动作分子的执行方法的流程示意图;
图21是本申请实施例的一种动作分子的生成装置的示意图;
图22是本申请实施例的一种动作分子的执行装置的示意图;
图23是本申请实施例的一种动作任务的创建方法的流程示意图;
图24是本申请实施例的另一种动作任务的创建方法的流程示意图;
图25是本申请实施例的一种动作任务的执行方法的流程示意图;
图26是本申请实施例的另一种动作任务的执行方法的流程示意图;
图27是本申请实施例的另一种动作任务的执行方法的流程示意图;
图28是本申请实施例的另一种动作任务的执行方法的流程示意图;
图29是本申请实施例的一种动作任务的创建装置的示意图;
图30是本申请实施例的一种动作任务的执行装置的示意图;
图31是本申请实施例的一种自适应模式下动作分子的执行方法的流程示意图;
图32是本申请实施例的一种自适应模式下动作分子的执行装置的结构意图;
图33是本申请实施例的一种电子设备的结构示意图;
图34是本申请实施例的一种主控器的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
为解决现有技术中存在的问题,本申请实施例提供了一种动作分子的执行方法及装置、设备和存储介质,用于对机器人进行动作控制。
首先对本申请实施例中的机器人进行说明,本申请中所述的机器人是指能够动作的电子设备,具体的,可以是具有能够获取环境信息、连续轨迹运动或者点到点轨迹运动可伺服控制等功能的智能机器人,包括但不限于机械臂机器人。
机器人作为一个完整系统,可以包括各种组件:
机器人主体,由各种结构部件组成。比如连,杆活动关节,移动底盘等。
驱动器,在机器人中,常见的驱动器有伺服电机、步进电机、气缸、液压缸等,伺服电机是最常用的机器人驱动器。驱动器受控制器的控制,控制器将控制信号传送到驱动器,驱动器控制执行部件的运动。
传感器,传感器用于收集机器人内部状态信息、外部环境信息、或用来与外部环境进行交互等。其中,集成在机器人内部的传感器将每个执行部件的信息发送给控制器,以便于控制器确定机器人当前的构型状态。此外,机器人还可以配有外部传感器,如视觉系统、触觉传感器、测距仪、嗅觉传感器、味觉传感器、语音识别装置、语音合成器等,以使机器人能获取外部环境信息。
控制器,控制器从主控器获取数据,利用传感器信息,控制驱动器的动作,协调机器人进行运动。
主控器,用来计算各执行部件的运动,确定各执行部件如何移动才能达到预定的速度和位置,通过控制器获取到机器人当前的构型状态信息,监督传感器和控制器的协调动作。主控器作为控制机器人的外部设备时,通常可以是一台计算机,具备操作系统、应用程序,还可以带有电子屏。在机器人系统中,主控器通过向机器人控制器发送控制参数数据、对传感器数据进行分析、处理和显示等功能,实现对机器人的操作。
在一些机器人系统中,主控器和控制器会集成在一个单元中,而在有些系统中会将它们分开,本申请实施例不对此进行限定。
本申请以下的实施例中,以动作控制较为复杂的机械臂机器人为例进行详细说明。
如上所述,机械臂机器人系统的组成部件也包括主体部分、驱动器、传感器、控制器、主控器。其中,机械臂的主体部分由活动关节部件及其它结构部件组成。机械臂的关节是包含驱动器的执行部件,机械臂机器人要完成复杂的动作,须拥有多关节实现多自由度运动,每个关节的运动要靠各自的驱动器,比如伺服电机。机器人的控制器通过各关节驱动器可以控制各关节的机械装置进行自由度运动。
需要说明的是,机械臂机器人除了拥有上述各组成部件以外,还包括连接在机械臂最后一个关节上的末端工具部件。
末端工具依托于机械臂在空间中移动,并与周围空间发生物理交互,其中末端工具包括但不限于摄像头、机械爪、书法笔和切割工具等,可实现的物理交互包括但不限于感知图像和光线并发出红外等光波、抓取及移动物品、书写字迹和切割物体等。本申请实施例中不对末端工具的具体实现形式进行限定,基于不同的应用场景,可以配置不同的末端工具。
可以理解的是,当所述末端工具为包含驱动器时,其动作可以由机械臂机器人的控制器直接控制,也可以由所述末端工具自身的控制装置(如可编程逻辑控制器)控制,该方式下,控制信号由机器人控制器的信号传送到末端工具自身的控制装置。因此,机器人控制器可以直接或者间接对末端工具进行控制,本申请以下实施例中将可运动的末端工具视为和机械臂机器人中的所有关节一样的执行部件,即主控器向机械臂机器人控制器发送控制参数数据,控制器控制末端工具的驱动器执行控制参数的命令,由此机械臂末端工具完成相应的运动动作。
需要说明的是,上述对机器人包括的组件介绍仅为示例,并不用于限定本申请中的机器人,任何能够动作的电子设备,均可以作为本申请中的机器人,采用本申请提出的方案实现动作控制。
下面结合附图,分别对本申请实施例所公开的动作原子的生成和执行方法、动作分子模板的创建方法、动作分子的生成和执行方法、动作任务的创建与执行方法进行详细说明。
本申请实施例公开的动作原子的生成方法,可以运行于机械臂机器人等各类型机器人的主控器操作系统中,也可以运行于与主控器通信连接的终端电子设备中,如图1所述,所述方法包括:
S101:获取待生成动作原子的动作原子模板。
其中,所述待生成动作原子的动作原子模板包括类型值,所述类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑。
首先,对本申请实施例中所述的动作原子以及与动作原子相关的对象进行说明。
本申请实施例中所提出的动作原子是指一种预先封装的数据结构,该数据结构中至少包含两个数据项值,即动作原子的类型的类型值和动作原子的参数的参数值。
动作原子类型的类型值用于区分不同的动作原子和表征不同动作原子的功能,每个动作原子类型的类型值映射的是一个函数序列,该序列由至少一个函数组成,且函数之间具备可控的执行逻辑。换言之,通过每个动作原子的类型值能够确定一段可执行的程序代码,程序代码中包含至少一个预先编写的执行函数。其中,每个预先编写的执行函数能够实现不同的功能,预先编写的执行函数的代码段可以存储于主控器中,还可以存储在与主控器通信连接的其它设备中,具体不做限定。
需要说明的是,每个动作原子的类型值反映了该动作原子所能够实现的控制机器人进行运动的动作,这是由于每个预先编写的执行函数在动作原子执行时所输出的控制参数不同,每个动作原子中类型值所映射的执行函数和执行函数的执行逻辑不同。动作原子的执行会在下文中继续进行说明。
动作原子的参数值是供该动作原子中类型值所映射的执行函数使用的,每个动作原子参数的参数值输入至该动作原子类型的类型值相应的执行函数,以实现机器人执行相应的动作。即,从每个动作原子所映射的执行函数中,确定需要执行哪个执行函数、执行函数的执行顺序,需依赖于该动作原子参数的参数值。动作原子的参数值进一步决定了函数序列中各执行函数的执行逻辑,并明确了可执行程序代码的数据,进而确定了机器人的行为。
在本申请的一种实现方式中,可以使用键值对形式的数据结构对所述动作原子的数据项进行描述、保存。该具体实现方式中,所述动作原子的静态数据结构如下:
{“type”:“value1”;“params”:{value21,value22,…}}
其中,键名“type”指动作原子类型,键值“value1”为动作原子类型的类型值。同样的,键名“params”指动作原子参数,键值{value21,value22,…}为动作原子参数的参数值。
需要说明的是,动作原子类型的类型值“value1”是一确定的数据值,可以是字符串如“grasp”、“wait”、“pointlist”,也可以是一实数“001”“002”,还可以是其它类型的数据值,不作具体限定。
相应的,根据动作原子类型的类型值所映射的执行函数的功能特性,执行函数所需要的动作原子参数的参数值也可以灵活设计。具体的,动作原子参数的参数值{value21,value22,…}可以是一个或一组具体的数值,也可以是一个或一组键值对数据{“key1”:“value21”,“key2”:“value22”…}。参数值从属于动作原子本身并输入至动作原子所对应的函数序列,每个动作原子类型的类型值所映射的执行函数不同,所需要的参数也不同,因此不同的动作原子参数值的具体形式可以相同,也可以不同,本申请实施例对于参数值的形式不做具体限定。
在本申请的实现方式中,动作原子模板是指预先封装的动作原子。其中,动作原子模板的类型值以及该类型值所映射的程序代码入口及出口是已然确定的,即从何处何时开始执行,最终于何处何时将控制参数下发至机器人对应的组件,而代码段内部则依据不同原子类型的设计,通过固定逻辑执行抑或执行中通过周边物理环境和机器人自身状态反馈来动态调整,来实现可控的机器人动作。
在本申请的一种实现方式中,动作原子模板的参数值为可空或者默认值。
在本申请的一种实现方式中,首先要获取一个动作原子模板。具体地,可以根据动作原子模板的类型值,确定所需要的动作原子模板,根据需要获取一个动作原子模板。
在本申请的一种实现方式中,可以通过声明调用的方式获取待生成动作原子的动作原子模板。具体的,在针对特定任务为机器人开发的程序中,直接调用动作原子模板的数据结构。
在本申请的一种实现方式中,可以基于用户操作获取待生成动作原子的动作原子模板。具体的,在电子设备显示器上显示至少一个动作原子模板图像,其中每个动作原子模板图像是图形交互式用户界面对象,用户与该图形交互式用户界面对象进行交互,以获取一个动作原子模板。
以机械臂机器人为例,如图2-1至图2-4所示通过电子设备屏幕显示的GUI界面中,展示了基于用户操作获取动作原子模板grasp的过程,其中grasp表示该动作原子模板的类型值。
上述用户界面中,包括第一机械臂200和第二机械臂202,在第一机械臂200和第二机械臂202各自的任务显示区分别已经添加动作原子图像204和动作原子图像206。其中,每个动作原子图像也是图形交互式用户界面对象,用户可以与每个动作原子图像进行交互,完成对动作原子图像的编辑、删除等操作。
需要说明的是,动作原子图像204和动作原子图像206是指基于用户操作添加的已经生成的动作原子,包含动作原子参数值。其中,用户界面中还包括播放按钮210和速度调节按钮212,用于控制机械臂任务中动作原子的执行及动作原子执行时机械臂执行该动作原子所生成的动作控制参数时的运动速度。
具体的,用户获取动作原子模板grasp的过程包括,图2-1中,用户从界面下方一排动作原子模板图像中选择grasp对应的动作原子模板图像208。图2-2中用户长按动作原子模板图像208并向第一机械臂200的任务中拖拽,图2-3中当用户拖拽的动作原子模板图像208与第一机械臂200的任务中下一个动作原子图像之间的距离满足阈值时,在该下一个动作原子图像的位置显示槽位图像214,此时用户停止拖拽动作,动作原子模板图像208覆盖在槽位图像214上,如图2-4所示。由此用户完成获取动作原子模板grasp的操作,动作原子模板图像208添加到第一机械臂200的任务中。
本领域技术人员应该理解,上述通过用户操作获取动作原子模板的具体实施方式中,每个动作原子图像对应一个动作原子数据结构,而每个动作原子模板图像对应一个动作原子模板数据结构。上述通过用户操作获取动作原子模板图像的过程,也是获取动作原子模板数据结构的过程,根据用户操作获取到的动作原子数据结构和动作原子模板数据结构可以存储在主控器中,也可以对应存储在与主控器通信连接的其它设备中。
图2-1至2-4给出了一种通过用户操作获取动作原子模板的具体实施方式,根据动作原子模板以及待生成动作原子的参数值,进一步生成动作原子的具体方法在下文详细进行说明。
上述动作原子模板图像的显示和排列方式、动作原子模板图像操作方式,仅作为通过用户操作获取动作原子模板的一种具体实施方式,本领域技术人员可以通过现有技术中的其它用户界面交互方式实现。例如,用方形、椭圆形、包含其它图案元素的图形交互式用户界面对象显示动作原子模板图像;在显示区界面的不同位置显示动作原子模板图像;使用其它触摸手势或者语音等交互方式对动作原子模板图像进行操作。本申请实施方式并不对用户操作的用户图形界面的形式和图形交互方式进行具体限定。
S102:根据所述动作原子模板以及所述待生成动作原子的参数值,生成所述待生成动作原子。
其中,所述待生成动作原子的参数值用于从所述至少一个执行函数中确定待执行的执行函数。
可以理解的是,待生成动作原子是在已经获取的动作原子模板的基础上得到的。由上可知,已经获取的动作原子模板中类型值以及类型值所映射的程序代码(包括执行函数序列及执行函数序列中的执行函数的执行逻辑)是已确定的,因此根据所述动作原子模板以及所述待生成动作原子的参数值,可以进一步生成所述待生成动作原子。
在本申请的一种实现方式中,在根据所述动作原子模板以及所述待生成动作原子的参数值,生成所述待生成动作原子之前,可以基于用户操作获取待生成动作原子的参数值。
以机械臂机器人为例,图3-1至图3-3展示了基于用户操作对待生成动作原子的参数值进行设置的电子设备屏幕GUI界面。
如图3-1所示的用户界面中,在获取到动作原子模板图像214之后,进入参数值编辑页面,或者通过用户点击动作原子模板图像214进入动作原子参数值编辑页面。在如图3-1所示的具体实施例中,动作原子模板图像214对应的动作原子参数值,包括机械臂移动到的目标位置、移动的速度、移动的路径方式,此时可以基于用户对所显示的每个动作原子参数值所进行的操作获取动作原子参数值。具体的,基于用户在参数值编辑页面的编辑可以直接获取机械臂移动的速度值和移动的路径方式;在另外的位置编辑页面中基于用户示教可以获取机械臂所要移动到的目标位置。
图3-2所示的用户界面中,动作原子模板图像216对应的动作原子参数值编辑页面中,基于用的输入编辑操作可以直接获取等待的时间值。
图3-3所示的用户界面中,动作原子模板图像218对应的动作原子参数值编辑页面中,基于用户选择操作可以确定抓取物品的对象、机械臂的运动速度值。
图3-1至3-3给出通过用户操作获取动作原子参数值的几种具体实现方式,可以理解的是,不同的动作原子的参数值类型和形式不同,通过用户操作获取参数值的图形交互方式也会不同,本申请实施例不一一进行列举。
在本申请的一种实现方式中,在根据所述动作原子模板以及所述待生成动作原子的参数值,生成所述待生成动作原子之前,还可以基于预设获取方式获取待生成动作原子的参数值。
与前述基于用户操作获取动作原子参数值对应的,基于预设获取方式确定待生成动作原子的参数值指示的是无需用户操作即可获取动作原子参数值的情况。
在本申请的一种可选实施方式中,基于预设获取方式确定待生成动作原子的参数值包括,从动作原子类型值所映射的程序代码中直接获取到动作原子的执行函数需要的参数值,例如在实现抓取功能的动作原子中,获取程序代码中给定的10厘米开合爪距离作为该抓取动作原子的参数值;在实现等待功能的动作原子中,获取程序代码中给定的5秒等待时间作为该等待动作原子的参数值。
在另一种可选实施方式中,基于预设获取方式确定待生成动作原子的参数值包括,通过其它功能函数或者功能模块计算得到待生成动作原子的参数值,这与每个动作原子功能和参数值的设计有关,比如在所设计的一动作原子中,通过环境分析函数获取的温度值或湿度值作为该动作原子的参数值;在所设计的另一动作原子中,通过图像识别函数或者语音识别模块所识别抓取对象作为该动作原子的参数值。
特别的,在本申请的一种实现方式中,所述待生成动作原子的动作原子模板中包括默认参数值,所述待生成动作原子的参数值为所述默认参数值。
其中,在动作原子模板中预先设置了动作原子参数的默认参数值,因此可以直接使用该默认值作为待生成动作原子的参数值。
进一步地,还可以采用前述基于用户操作获取参数值的实施方式获取新的参数值,对动作原子模板中的默认参数值进行更新。
在步骤S101中获取动作原子模板时已经确定了类型值,通过本步骤中实施方式确定的参数值供该动作原子模板中类型值所映射的执行函数使用,能从所述动作原子模板的至少一个执行函数中确定待执行的执行函数,由此该动作原子模板的类型值所映射的程序代码能够正常运行,根据所获取的动作原子模板以及待生成动作原子的参数值,生成了一个具有确定功能且可执行的动作原子。
可以理解的是,根据上述实施方式所生成的动作原子是具有特定数据结构的数据对象,可以直接存储在主控器中,也可以存储在与主控器通信连接的其它设备中,主控器能够获取并执行即可。
由以上可见,本申请实施例提供的方案中,预先封装好的动作原子模板定义了机器人可以完成的动作,获取动作原子模板并确定动作原子的参数值之后,即生成可以控制机器人进行运动的动作原子。跟现有技术相比,用户无需掌握复杂的机器人编程控制技术,也不必学习使用各种复杂示教器的功能,只用将自己定义的任务与动作原子功能进行匹配、选择合适的动作原子模板,进而确定动作原子参数值之后,就可以达到使用和控制机器人的目的。
本申请的一个实施例中,参见图2,提供了另一种动作原子生成方法的流程示意图,与前述图1所示实施例相比的不同之处在于,上述步骤S102根据所述动作原子模板以及所述待生成动作原子的参数值,生成所述待生成动作原子,具体包括:
S102B:根据所述动作原子模板、所述待生成动作原子的参数值以及所述待生成动作原子的名称标识,生成所述待生成动作原子。
本申请的一种实现方式中,上述动作原子的数据结构中还包括一个数据项,即动作原子名称的名称标识。
本申请的一种实现方式中,使用键值对形式的数据结构对所述动作原子数据项进行描述、保存时,包括名称标识数据项的动作原子的静态结构如下:
{“type”:“value1”;“params”:{value21,value22,…};“name”:“value3”}
其中,与前述实施例的数据结构相比,增加的键名“name”指动作原子名称,键值“value3”为动作原子的名称标识。
从前述实施方式可知,动作原子类型的类型值用于区分不同的动作原子且不可更改。通过增加名称标识数据项,便于用户使用时进行区分。在本申请的一种实现方式中,当用户通过用户图形界面进行操作时,可以在动作原子图像的下方显示该动作原子的名称标识,方便用户记忆和识别。
在本申请的实现方式中,所述待生成动作原子的动作原子模板包括默认名称标识,所述待生成动作原子的名称标识为所述默认名称标识。
具体的,由于动作原子模板包括默认名称标识,在所述步骤S101中获取待生成动作原子的动作原子模板时即可获取待生成动作原子的名称标识。
在本申请的实现方式中,所述待生成动作原子的名称标识除了可以是默认的,还可以是用户自定义的。
通常,预先封装动作原子模板时会确定其默认名称标识,比如类型值为“grasp”的动作原子模板,其名称标识默认为“grasp”或“视觉抓取”。为便于识别和使用,可以对动作原子模板的名称标识重新命名。
本申请的一个实施例中,参见图3,提供了另一种动作原子生成方法的流程示意图,与前述图2所示实施例相比的不同之处在于,在所述步骤S102B根据所述动作原子模板、所述待生成动作原子的参数值以及所述待生成动作原子的名称标识,生成所述待生成动作原子之前,还包括:
S102A:基于用户操作获取待生成动作原子的名称标识。
具体的,在用户图形界面中进行修改的情况,如图4-1所示,类型值为“grasp”的动作原子220默认名称标识为“视觉抓取”,用户修改之后改为“抓奶缸”,如图4-2所示。
通过对名称标识进行设置,用户在设计复杂的机器人控制方案时如果遇到多次重复使用同一动作原子的情况,可以根据自己的需要对相同功能的多个动作原子分别命名,避免出现混淆。
在本申请的实施方式中,上述步骤S101、步骤S102A的执行顺序并没有先后的限制,各步骤先后或者同时执行都可以,目的在于获取到待生成动作原子的动作原子模板和动作原子名称标识,步骤S101、步骤S102A的执行顺序并不会对后续步骤造成任何影响。
在本申请实施方式步骤S102B中,待生成动作原子所包含的三个数据项全部获取并按照预先定义的数据结构进行保存,即可生成动作原子。
在上述实施例的基础上,本实施例提供的方案可以在用户图像界面中显示动作原子的名称标识,并且允许用户对名称标识进行修改,进一步提高了机器人控制的可用性和灵活性,提高用户控制机器人完成任务的效率。
综上所述,本申请实施例中所提出的动作原子的数据结构,使得机器人控制系统的开发具有高度可扩展性。随着传感器技术和智能算法的发展,基于各种执行函数和算法模块可以开发出具有各样功能、更多更易用的动作原子,将开发完成的动作原子封装为动作原子模板提供给普通用户,方便用户控制使用机器人。
基于动作原子模板生成不同功能的动作原子之后,所述生成的动作原子需要加载到主控器中执行,下面对如何执行所生成的动作原子进行详细说明。
本申请的一种实现方式中,如图5所示的动作原子执行方法流程示意图,所述方法包括:
S501:解析待执行动作原子,获取待执行动作原子的类型值以及待执行动作原子的参数值。
其中,所述类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑。
由上述动作原子生成方法的实施方式可知,所生成的动作原子存储为一个特定的数据结构,所述动作原子中至少包含类型值和参数值两个数据项,下文以键值对形式的数据结构为例进行说明。
基于动作原子的生成方式可知,生成的动作原子可以保存在主控器中,也可以保存在于主控器通信相连的其它设备中,一般情况下生成的动作原子在主控器中执行。
一般的,先将动作原子数据存放在主控器的存储区域中,在接收到执行命令时,读取并解析该动作原子,获取动作原子的类型值以及动作原子的参数值。
在本申请的一种实现方式中,通过接收用户操作触发动作原子的执行,例如接收到用户对用户界面中播放按钮的点击时,开启执行动作原子的流程。其中,所述用户界面显示在主控器中或者在与主控器通信相连的电子设备中。
在本申请的一种实现方式中,接收到执行动作原子的命令之后,将动作原子加载到主控器的控制程序中,控制程序对动作原子的数据结构进行解析。
根据前述的动作原子的数据结构,通过键名“type”对应的键值,获取动作原子类型值,进而可以获取一个或多个执行函数以及所有执行函数间的执行逻辑。通过键名“params”对应的键值,获取供执行函数使用的参数值。
S502:根据所述参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数。
动作原子的参数值是供该动作原子中类型值所映射的执行函数使用的。在动作原子所映射的程序代码中,通过代码中的执行逻辑和所获得的参数值,能够确定需要执行哪个执行函数、执行函数的执行顺序。
举例来说,存在一动作原子模板的数据结构为:
{“type”:“grasp”;“params”:{“object”:“value1”};“name”:“视觉抓取”}
其中grasp所对应的程序代码简单描述如下:
根据该动作原子模板生成一动作原子A:
{“type”:“grasp”;“params”:{“object”:“奶缸”};“name”:“抓奶缸”}
根据该动作原子模板再生成一动作原子B:
{“type”:“grasp”;“params”:{“object”:“水杯”};“name”:“抓水杯”}
在grasp中,function1至function4是定义好的执行函数,if、else、循环、报错等是执行函数之间的执行逻辑。
显然的,在本申请的一种实现方式中,根据grasp中执行函数的执行逻辑和动作原子A的参数值“奶缸”,确定需要执行的执行函数为function1、function2。
在本申请的另一种实现方式中,根据grasp中执行函数的执行逻辑和动作原子B的参数值“水杯”,确定需要执行的执行函数为function3、function4。
由上可知,待执行函数可以有一个或者多个,至少存在一个执行函数,用于生成控制参数,而其它的功能函数处于执行逻辑中,为可生成控制参数的执行函数提供相应的支持条件。
S503:根据所述待执行的执行函数,生成至少一组机器人动作控制参数。
由上所述,机械臂机器人的控制器需要向所有的驱动器发送控制参数,使得驱动器能够驱动执行部件完成相应的动作。其中,控制参数是用于描绘机械臂机器人运动轨迹或者构型状态的信息。
机械臂机器人如果要执行复杂的动作,必须拥有多自由度。根据工程力学知识可知,具有6自由度的机械臂机器人就能够按照任意期望的位姿和姿态放置物体。在工业中使用4个或5个自由度的机器人非常普遍。本申请实施例中并不对机械臂机器人的自由度进行具体限定。
在本申请的一种实现方式中,机械臂机器人的动作控制参数包括机械臂位姿控制参数和机械臂末端工具控制参数中的至少一种。
其中,机械臂位姿控制参数包括,机械臂末端位姿信息或各自由度关节的角度值信息。
对机械臂机器人的动作控制来说,当所有机器人各自由度关节的角度值已知时,可以使用正运动学算法确定末端工具的位姿,而当末端工具放在特定空间点上且具有特定的姿态时,一般情况下使用逆运动学算法计算各自由度关节的角度值。
因此,无论机械臂的关节数量、关节顺序如何设计,使用机械臂末端位姿、各自由度关节角度值中的一种作为控制参数,即可完成对机械臂末端轨迹进行控制。
具体的,对机械臂位姿控制参数进行举例说明,比如表示机械臂末端的位姿信息的控制参数(X,Y,Z,Rx,Ry,Rz);表示7自由度机械臂各关节自由度角度值的控制参数(30°,60°,70°,180°,30°,90°,60°)。需要说明的是,不同构型的机械臂机器人,其各机械臂结构部件不同、动作控制参数的表达形式也会不同,本申请实施例并不对位姿控制参数的具体表达方式进行限定。
本技术领域技术人员可以理解的是,当机械臂机器人具备末端工具时,机械臂的动作控制还包括对末端工具的动作控制,此时根据待执行的执行函数生成的机械臂动作控制参数包括末端工具控制参数,其中末端工具的具体形式不同其控制参数也不同。例如,一种常见的末端工具为机械爪,其控制参数可以为合爪距离。
本申请实施例还提供了如图6所示的另一种动作原子执行方法流程示意图,与图5所示方法的不同之处在于:
所述步骤S501解析待执行动作原子,获取待执行动作原子的类型值以及待执行动作原子的参数值之前,包括S500:获取传感器数据。
所述步骤S502具体包括:S502A:根据所述参数值、所述至少一个执行函数的执行逻辑以及所述传感器数据,从所述至少一个执行函数中确定执行的执行函数。
如上所述,机械臂机器人中包含设置于机器人内部比如各关节上的传感器,可用于收集并反馈机器人内部状态信息。除此之前,本申请实施例中的机器人还包括各种外部传感器,包括但不限于光敏传感器、声音传感器、温度传感器、压力传感器等。通过这些外部传感器可以及时获取机器人工作环境中的各种信息,以确定机器人所动作的动作控制参数,完成与外部环境的交互。
在本申请的一种实现方式中,某些传感器的值可直接用于确定动作原子待执行的执行函数,比如通过读取温度传感器、湿度传感器的值可直接用来判断是否要执行对温度按钮或者适度按钮进行调节的执行函数。
在本申请的一种实现方式中,可以通过算法或者预处理函数对获取到的传感器数据进行分析计算之后,用来确定动作原子待执行的执行函数,如上述实施例中grasp中,使用图像识别模块对视觉传感器获得的图像信息进行分析识别目标对象,当图像识别模块从图像信息识别到不同的目标对象时,执行相应的执行函数。
随着计算能力的不断提升算法的处理能力不断增强,通过对机器人传感器数据的分析和运算,能够实时准确输出机器人的运动动作参数,有效提升机器人的智能运动能力。
需要说明的是,在本申请实施例中,由于每个动作原子中的执行函数功能不同,因此一动作原子在执行时可能只输出一次动作控制参数值,也可能输出多次动作控制参数值,每次控制参数输出之后都会实时发送给控制器处理。举例来说,当对图像识别模块识别出的目标物体进行抓取时,一种具体实施方式中执行函数可以根据物体识别的抓取点输出一次动作控制参数使得机械臂直接进行抓取;在另一种具体实施方式中,执行函数可以每做一次物体识别输出一次动作控制参数使得机械臂运动至更靠近目标物体的位置,这样机械臂根据多次输出的控制参数进行多次运动之后,到达抓取点时再根据动作控制参数进行抓取。
另外,机械臂机器人控制器的运动规划算法要能同时控制机器人的位置、速度和加速度才能保证机械臂运动平滑和准确。相应的,所述机器人的动作控制参数除了位姿控制参数和末端工具的位姿控制参数以外,还包括运动速度控制参数,其中运动速度值可以为执行函数输出的,也可以是用户设定的,还可以是根据动作原子参数值确定的。
与上述动作原子生成和执行方法相适应,本申请实施例还提供了一种动作原子的生成装置和一种动作原子的执行装置。
如图7所示为本申请实施例提供的一种动作原子的生成装置的示意图,包括:
原子模板获取模块701,用于获取待生成动作原子的动作原子模板;其中,所述待生成动作原子的动作原子模板包括类型值,所述类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;
原子生成模块702,用于根据所述动作原子模板以及所述待生成动作原子的参数值,生成所述待生成动作原子;其中,所述待生成动作原子的参数值用于从所述至少一个执行函数中确定待执行的执行函数。
本申请的一种实现方式中,上述原子模板获取模块701具体用于基于用户操作获取待生成动作原子的动作原子模板。
本申请的一种实现方式中,上述原子模板获取模块701还用于基于用户操作获取待生成动作原子的参数值;或者
上述原子模板获取模块701还用于基于预设获取方式获取待生成动作原子的参数值。
本申请的一种实现方式中,所述待生成动作原子的动作原子模板包括默认参数值,所述待生成动作原子的参数值为所述默认参数值。
本申请的一种实现方式中,上述原子生成模块702具体用于根据所述动作原子模板、所述待生成动作原子的参数值以及所述待生成动作原子的名称标识,生成所述待生成动作原子。
本申请的一种实现方式中,上述原子模板获取模块701还用于基于用户操作获取待生成动作原子的名称标识。
本申请的一种实现方式中,上述待生成动作原子的动作原子模板包括默认名称标识,所述待生成动作原子的名称标识为所述默认名称标识。
上述各模块的具体功能实现可以参见前述动作原子的生成方法实施例,在此不再赘述。
如图8所示为本申请实施例提供的一种动作原子的执行装置的示意图,所述动作原子的执行装置包括:
原子解析模块801,用于解析待执行动作原子,获取所述待执行动作原子的类型值以及所述待执行动作原子的参数值;所述类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;
执行函数确定模块802,用于根据所述参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数;
执行函数执行模块803,用于根据所述待执行的执行函数,生成至少一组机器人动作控制参数。
本申请的一种实现方式中,上述原子解析模块801还用于获取传感器数据;
上述执行函数确定模块802具体用于根据所述参数值、所述至少一个执行函数的执行逻辑以及所述传感器数据,从所述至少一个执行函数中确定待执行的执行函数。
本申请的一种实现方式中,上述机器人动作控制参数包括:机械臂位姿控制参数和机械臂末端工具控制参数中的至少一种。
上述各模块的具体功能实现可以参见前述动作原子的执行方法实施例,在此不再赘述。
本申请实施例公开了一种动作分子模板的创建方法,可以运行于机械臂机器人等各类型机器人的主控器操作系统中,也可以运行于与主控器通信连接的终端电子设备中,如图9所示,包括:
901、接收对待创建动作分子模板所需的动作单元的添加指令。
其中,动作单元的类型包括动作原子和动作分子中的至少一种。
其中,关于动作原子的数据结构参见前述实施例,在本实施例中便不再赘述。下面对本申请中提及的动作分子的结构进行说明。本申请的一种实现方式中,动作分子的数据结构如下:
{“type”:“molecule”;“params”:{“start”:xx,“end”:yy,“mode”:zz};
“name”:“value3”}
其中,键名“type”指动作分子类型,键值“molecule”为动作分子类型的类型值。键名“params”指动作分子参数,键值{“start”:xx,“end”:yy,“mode”:zz}为动作分子参数的参数值。键名“name”指动作分子名称,键值“value3”为动作分子的名称标识。由于动作分子均存储于系统的配置文件中,根据动作分子的名称标识,便可以查找到对应的动作分子。
需要说明的是,动作分子类型的类型值“molecule”是一确定的数据值,由于动作分子和动作原子的结构相同,在解析到“type”的键值为“molecule”时,即可以确定当前解析的为动作分子。
另外,{“start”:xx,“end”:yy,“mode”:zz}为动作分子参数的参数值,其中,“start”为起始点、“end”为终止点和“mode”为执行模式。动作分子参数值的结构复杂,类型多样。在动作分子的起始点和终止点不同的情况下,对于配置文件中的每个动作分子对应于至少两个按顺序排列的动作单元的动作单元序列的情形,通过起始点和终止点,可以从动作分子对应的动作单元序列中确定出待执行的动作单元序列。在动作分子的起始点和终止点相同的情况下,待执行的动作单元序列包括一个动作单元。
对于执行模式,用于指示动作分子对应的执行偏移量的获取方式,可以为第一执行模式和第二执行模式。本实施例中,第一执行模式为自适应模式,第二执行模式为复用模式。
为了理解自适应模式以及复用模式,本实施例还要对动作分子的一个重要的参数——执行偏移量offset进行介绍。
动作分子保存于存储区域,对应于至少一个动作单元组成的动作单元序列。在执行时,需要获取执行每个动作单元生成的待调整的机器人动作控制参数,然后根据执行偏移量offset对待调整的机器人动作控制参数进行调整,得到机器人动作控制参数。
在复用模式下,执行偏移量offset通过以下方式获取:获取机器人的当前位姿值;获取执行所述待执行的动作单元序列中的第一个动作单元生成的待调整的机器人动作控制参数中的位姿值;根据所述机器人的当前位姿值和执行所述第一个动作单元生成的待调整的机器人动作控制参数中的位姿值,生成动作分子对应的执行偏移量。
在自适应模式下,动作分子对应的执行偏移量通过以下方式获取:获取预先确定的所述动作分子对应的执行偏移量。在自适应模式下,执行偏移量offset可以预先根据环境确定,作为预先确定的参数值存储于系统的配置文件中,并通过控制进程加载。
以机械臂机器人做咖啡的拉花动作分子为例。
在复用模式下,获取机械臂的当前位姿值Q’,获取拉花动作分子对应的待执行的动作单元序列中的第一个动作单元生成的待调整的机械臂动作控制参数中的位姿值为Q,计算Q和Q’的差量(ΔX,ΔY,ΔZ),将该差量作为执行偏移量offset。依次执行拉花动作分子对应的待执行的动作单元序列中的每个动作单元,生成待调整的机械臂动作控制参数,然后根据执行偏移量offset对待调整的机械臂动作控制参数中的位姿值(Q,W,E)进行调整,得到机械臂动作控制参数中的位姿值(Q’,W’,E’)。
在自适应模式下,执行偏移量offset(ΔX,ΔY,ΔZ)作为预先确定的参数值存储于系统的配置文件中。依次执行拉花动作分子对应的待执行的动作单元序列中的每个动作单元,生成待调整的机械臂动作控制参数,然后根据执行偏移量offset对待调整的机械臂动作控制参数中的位姿值(Q,W,E)进行调整,得到机械臂动作控制参数中的位姿值(Q’,W’,E’)。
902、根据所述添加指令,生成所述动作单元,得到第一动作单元序列。
可选地,在本申请的一个实现方式中,第一动作单元序列的第一个动作单元可以为预设动作单元。
该预设动作单元具体可以为用于设定机器人初始位姿的动作单元。
可选地,本步骤中,根据所述添加指令,生成所述动作单元,参见图10,具体包括:
1041、根据所述添加指令,获取所述动作单元的动作单元模板。
1042、根据所述动作单元模板以及所述动作单元的参数值,生成所述动作单元。
可选地,在本申请的一种实现方式中,若所述动作单元为动作原子,所述动作原子的动作原子模板包括类型值,所述动作原子模板包括的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;
动作原子的参数值用于从至少一个执行函数中确定待执行的执行函数;
参见图11,步骤902具体包括:
1041a、根据所述添加指令,获取所述动作原子的动作原子模板。
1042a、根据所述动作原子模板以及所述动作原子的参数值,生成所述动作原子。
可选地,在步骤1042a之前,还包括:
基于用户操作获取所述动作原子的参数值;或者
基于预设获取方式获取所述动作原子的参数值。
可选地,在本申请的另一种实现方式中,参见图12,所述步骤902具体包括:
1041b、根据所述添加指令,获取所述动作原子的动作原子模板。
1042b、根据动作原子模板、动作原子的参数值以及动作原子的名称标识,生成动作原子。
可选地,在步骤1042b之前,还包括:基于用户操作获取所述动作原子的名称标识。
可选地,在本申请的实现方式中,动作原子模板包括默认名称标识,所述动作原子的名称标识为默认名称标识。
具体的,由于动作原子模板包括默认名称标识,在获取动作原子的动作原子模板时即可获取该默认名称标识作为动作原子的名称标识。
在本申请的实现方式中,动作原子的名称标识除了可以是默认的,还可以是用户自定义的。
通常,预先封装动作原子模板时会确定其默认名称标识,比如类型值为“grasp”的动作原子模板,其名称标识默认为“grasp”或“视觉抓取”。为便于识别和使用,可以对动作原子模板的名称标识重新命名。
上述介绍了动作单元为动作原子的情形下的步骤902的具体执行。在本申请的一种实现方式中,若所述动作单元为动作分子,所述动作分子的动作分子模板包括名称标识,所述动作分子模板包括的名称标识对应第二动作单元序列;
动作分子的参数值用于从第二动作单元序列中确定待执行的第二动作单元序列;
参见图13,所述步骤902具体包括:
1041c、根据所述添加指令,获取所述动作分子的动作分子模板。
1042c、根据动作分子模板以及动作分子的参数值,生成动作分子。
可选地,在步骤1042c之前,还包括:
基于用户操作获取所述动作分子的参数值;或者
基于预设获取方式获取所述动作分子的参数值。
在本申请的另一种实现方式中,参见图14,所述步骤902具体包括:
1041d、根据所述添加指令,获取所述动作分子的动作分子模板。
1042d、根据所述动作分子模板、所述动作分子的参数值以及所述动作分子的类型值,生成所述动作分子。
在本申请的实现方式中,动作分子模板包括默认类型值,动作分子的类型值为默认类型值。由于动作分子模板包括默认类型值,在获取动作分子的动作分子模板时即可获取该默认类型值作为动作分子的类型值。
903、建立待创建动作分子模板的名称标识与所述第一动作单元序列的对应关系,并根据所述名称标识,创建所述待创建动作分子模板。
可选地,在建立待创建动作分子模板的名称标识与第一动作单元序列的对应关系之前,还包括:
接收对第一动作单元序列中动作单元的删除指令;
根据所述删除指令,删除第一动作单元序列中对应的动作单元。
本申请提供的动作分子模板的创建方法,允许用户通过创建动作分子模板,进而生成动作分子实现对机器人的控制,操作灵活,易于普通用户使用。
本申请实施例还公开了一种动作分子模板的创建装置,参见图15,所述装置包括:
分子模板指令接收模块1501,用于接收对待创建动作分子模板所需的动作单元的添加指令;所述动作单元的类型包括动作原子和动作分子中的至少一种。
分子模板指令执行模块1502,用于根据所述添加指令,生成所述动作单元,得到第一动作单元序列。
可选地,第一动作单元序列的第一个动作单元为预设动作单元。
分子模板创建模块1503,用于建立待创建动作分子模板的名称标识与第一动作单元序列的对应关系,并根据所述名称标识,创建所述待创建动作分子模板。
在本实施例的一个具体实现方式中,分子模板创建模块1503,具体用于根据所述名称标识以及默认类型值,创建所述待创建动作分子模板;其中,所述默认类型值指示基于所述待创建动作分子模板生成的动作单元的类型为动作分子。
在本实施例的一个具体实现方式中,分子模板指令执行模块1502具体用于根据所述添加指令,获取所述动作单元的动作单元模板;根据所述动作单元模板以及所述动作单元的参数值,生成所述动作单元。
在本实施例的一个具体实现方式中,若所述动作单元为动作原子,
所述动作原子的动作原子模板包括类型值,动作原子模板包括的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;动作原子的参数值用于从所述至少一个执行函数中确定待执行的执行函数;
分子模板指令执行模块1502具体用于:根据所述动作原子模板以及所述动作原子的参数值,生成所述动作原子。
在本实施例的一个具体实现方式中,分子模板指令执行模块1502还用于:基于用户操作获取所述动作原子的参数值;或者基于预设获取方式获取所述动作原子的参数值。
在本实施例的一个具体实现方式中,分子模板指令执行模块1502具体用于:根据所述动作原子模板、所述动作原子的参数值以及所述动作原子的名称标识,生成所述动作原子。
在本实施例的一个具体实现方式中,分子模板指令执行模块1502还用于:基于用户操作获取所述动作原子的名称标识。
可选地,所述动作原子模板包括默认名称标识,所述动作原子的名称标识为所述默认名称标识。
在本实施例的一个具体实现方式中,若所述动作单元为动作分子,
所述动作分子的动作分子模板包括名称标识,所述动作分子模板包括的名称标识对应第二动作单元序列;所述动作分子的参数值用于从第二动作单元序列中确定待执行的第二动作单元序列;
分子模板指令执行模块1502具体用于:根据所述动作分子模板以及所述动作分子的参数值,生成所述动作分子。
在本实施例的一个具体实现方式中,分子模板指令执行模块1502还用于:基于用户操作获取所述动作分子的参数值;或者还用于基于预设获取方式获取所述动作分子的参数值。
在本实施例的一个具体实现方式中,分子模板指令执行模块1502具体用于:根据所述动作分子模板、所述动作分子的参数值以及所述动作分子的类型值,生成所述动作分子。
可选地,所述动作分子模板包括默认类型值,所述动作分子的类型值为所述默认类型值。
可选地,所述动作分子的参数值包括起始点和终止点。
可选地,所述动作分子的参数值还包括执行模式;其中,所述执行模式指示基于所述待创建动作分子模板生成的动作分子对应的执行偏移量的获取方式。
在本实施例的一个具体实现方式中,分子模板指令接收模块1501,还用于接收对第一动作单元序列中动作单元的删除指令;
分子模板指令执行模块1502,还用于根据所述删除指令,删除第一动作单元序列中对应的动作单元。
上述为本实施例的一种动作分子模板的创建装置的示意性方案。需要说明的是,该动作分子模板的创建装置的技术方案与上述的动作分子模板的创建方法的技术方案属于同一构思,动作分子模板的创建装置的技术方案未详细描述的细节内容,均可以参见上述动作分子模板的创建方法的技术方案的描述。
本申请实施例公开了一种动作分子的生成方法,可以运行于机械臂机器人等各类型机器人的主控器操作系统中,也可以运行于与主控器通信连接的终端电子设备中,参见图16,所述方法包括:
1601、获取待生成动作分子的动作分子模板;其中,所述动作分子模板包括名称标识,所述名称标识对应第三动作单元序列。
所述动作单元的类型包括动作原子和动作分子中的至少一种。
关于本实施例中提及的动作原子和动作分子的数据结构,可以参见前述实施例的介绍,本实施例便不再赘述。
可选地,获取待生成动作分子的动作分子模板,具体包括:基于用户操作获取待生成动作分子的动作分子模板。
1602、根据所述动作分子模板以及所述待生成动作分子的参数值,生成所述待生成动作分子;其中,所述参数值用于从所述第三动作单元序列中确定待执行的第三动作单元序列。
其中,待生成动作分子的参数值可以为在动作分子生成的过程中获取,也可以为默认值。
可选地,对于待生成动作分子的参数值在动作分子生成的过程中获取的情形,在步骤1602之前,还包括:
基于用户操作获取待生成动作分子的参数值;或者
基于预设获取方式获取待生成动作分子的参数值。
可选地,对于动作分子的参数值为默认值的情形,所述动作分子模板包括默认参数值,所述待生成动作分子的参数值为所述默认参数值。
其中,待生成动作分子的参数值包括起始点和终止点,还包括执行模式;其中,所述执行模式指示所述待生成动作分子对应的执行偏移量的获取方式。
具体地,本步骤1602中根据所述动作分子模板以及所述待生成动作分子的参数值,生成所述待生成动作分子,具体包括:
根据所述动作分子模板、所述待生成动作分子的参数值以及待生成动作分子的类型值,生成所述待生成动作分子;其中,所述待生成动作分子的类型值指示所述待生成动作分子的类型为动作分子。
可选地,动作分子模板包括默认类型值,待生成动作分子的类型值为默认类型值。
本申请实施例提供的方案中,根据动作分子模板以及待生成动作分子的参数值,生成待生成动作分子。本申请实施例中所提出的动作分子的数据结构,使得机器人控制系统的开发具有高度可扩展性。随着传感器技术和智能算法的发展,基于各种执行函数和算法模块可以开发出具有各样功能、更多更易用的动作分子,将开发完成的动作分子封装为动作原子模板提供给普通用户,方便用户控制使用机器人。
本申请实施例还公开了一种动作分子的执行方法,参见图17,所述方法包括:
1701、解析待执行动作分子,获取所述待执行动作分子的名称标识以及所述待执行动作分子的参数值;所述待执行动作分子的名称标识对应第四动作单元序列;所述动作单元的类型包括动作原子和动作分子中的至少一种。
其中,关于动作原子和动作分子的数据结构参见前述实施例,在本实施例中便不再赘述。
可选地,本步骤1701中,在获取所述待执行动作分子的名称标识以及所述待执行动作分子的参数值之前,还包括:
获取所述待执行动作分子的类型值;
根据所述待执行动作分子的类型值,确认所述待执行动作分子的类型为动作分子。
1702、根据所述待执行动作分子的参数值,从所述第四动作单元序列中确定待执行的第四动作单元序列。
其中,待执行动作分子的参数值包括起始点和终止点,还包括执行模式,所述执行模式指示所述待执行动作分子对应的执行偏移量的获取方式。
步骤1702具体包括:根据所述待执行动作分子的参数值中的起始点和终止点,从所述第四动作单元序列中确定待执行的第四动作单元序列。
1703、依次执行所述待执行的第四动作单元序列中的每个动作单元,生成至少一组机器人动作控制参数。
参见图18,依次执行所述待执行的第四动作单元序列中的每个动作单元,生成至少一组机器人动作控制参数,具体包括:
1801、依次执行所述待执行的第四动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数。
1802、根据所述执行偏移量,对所述至少一组待调整的机器人动作控制参数进行调整,得到所述至少一组机器人动作控制参数。
其中,当所述执行模式为自适应模式时,采用如下方式获取所述待执行动作分子对应的执行偏移量:
获取预先确定的所述待执行动作分子对应的执行偏移量。
当所述执行模式为复用模式时,采用如下方式获取所述待执行动作分子对应的执行偏移量:
获取所述机器人的当前位姿值;
获取执行所述待执行的第四动作单元序列中的第一个动作单元生成的待调整的机器人动作控制参数中的位姿值;
根据所述机器人的当前位姿值和执行所述第一个动作单元生成的待调整的机器人动作控制参数中的位姿值,生成所述待执行动作分子对应的执行偏移量。
具体地,当动作单元为动作原子的情形,参见图19,步骤1801包括:
1901、针对所述待执行的第四动作单元序列中的每个动作原子,解析所述动作原子,获取所述动作原子的类型值以及所述动作原子的参数值。
所述动作原子的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑。
1902、根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数。
在步骤1902之前,还包括:
获取传感器数据;
步骤1902具体包括:
根据所述动作原子的参数值、所述至少一个执行函数的执行逻辑以及所述传感器数据,从所述至少一个执行函数中确定待执行的执行函数。
1903、根据所述待执行的执行函数,生成至少一组待调整的机器人动作控制参数。
所述机器人动作控制参数包括:机械臂位姿控制参数和机械臂末端工具控制参数中的至少一种。
具体地,当动作单元为动作分子的情形,参见图20,步骤1801包括:
2001、针对所述待执行的第四动作单元序列中的每个动作分子,解析所述动作分子,获取所述动作分子的名称标识以及所述动作分子的参数值。
所述动作分子的名称标识对应第五动作单元序列。
2002、根据所述动作分子的参数值,从所述第五动作单元序列中确定待执行的第五动作单元序列。
2003、依次执行所述待执行的第五动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数。
所述机器人动作控制参数包括:机械臂位姿控制参数和机械臂末端工具控制参数中的至少一种。
本实施例基于所生成的机器人动作控制参数对机器人进行动作控制,以使所述机器人完成所述动作分子对应的动作。相对于现有技术而言,根据已经预先封装好的动作分子模板和动作分子的参数值生成动作分子,然后机器人可以通过执行生成的动作分子生成控制参数,从而控制机器人运动完成相应的动作。实施本申请提出的方案,能够降低用户控制机器人执行任务的难度,提高机器人的交互能力和灵活度。
本申请实施例还公开了一种动作分子的生成装置,参见图21,所述装置包括:
分子模板获取模块2101,用于获取待生成动作分子的动作分子模板;其中,动作分子模板包括名称标识,所述名称标识对应第三动作单元序列;所述动作单元的类型包括动作原子和动作分子中的至少一种;
分子生成模块2102,用于根据所述动作分子模板以及所述待生成动作分子的参数值,生成所述待生成动作分子;其中,所述参数值用于从所述第三动作单元序列中确定待执行的第三动作单元序列。
可选地,分子模板获取模块2101具体用于基于用户操作获取待生成动作分子的动作分子模板。
可选地,分子模板获取模块2101还用于基于用户操作获取待生成动作分子的参数值;或者还用于基于预设获取方式获取待生成动作分子的参数值。
所述动作分子模板包括默认参数值,所述待生成动作分子的参数值为所述默认参数值。
所述待生成动作分子的参数值包括起始点和终止点,另外,待生成动作分子的参数值还包括执行模式;其中,所述执行模式指示所述待生成动作分子对应的执行偏移量的获取方式。
可选地,分子生成模块2102具体用于根据所述动作分子模板、所述待生成动作分子的参数值以及待生成动作分子的类型值,生成所述待生成动作分子;其中,所述待生成动作分子的类型值指示所述待生成动作分子的类型为动作分子。
所述动作分子模板包括默认类型值,所述待生成动作分子的类型值为所述默认类型值。
上述为本实施例的一种动作分子的生成装置的示意性方案。需要说明的是,该动作分子的生成装置的技术方案与上述的动作分子的生成方法的技术方案属于同一构思,动作分子的生成装置的技术方案未详细描述的细节内容,均可以参见上述动作分子的生成方法的技术方案的描述。
本申请实施例还公开了一种动作分子的执行装置,参见图22,所述装置包括:
分子解析模块2201,用于解析待执行动作分子,获取所述待执行动作分子的名称标识以及所述待执行动作分子的参数值;所述待执行动作分子的名称标识对应第四动作单元序列;所述动作单元的类型包括动作原子和动作分子中的至少一种;
动作单元确定模块2202,用于根据所述待执行动作分子的参数值,从所述第四动作单元序列中确定待执行的第四动作单元序列;
动作单元执行模块2203,用于依次执行所述待执行的第四动作单元序列中的每个动作单元,生成至少一组机器人动作控制参数。
可选地,分子解析模块2201还用于获取所述待执行动作分子的类型值;根据所述待执行动作分子的类型值,确认所述待执行动作分子的类型为动作分子。
可选地,所述待执行动作分子的参数值包括起始点和终止点,另外还包括执行模式;所述执行模式指示所述待执行动作分子对应的执行偏移量的获取方式。
动作单元确定模块2202,具体用于根据所述待执行动作分子的参数值中的起始点和终止点,从所述第四动作单元序列中确定待执行的第四动作单元序列。
动作单元执行模块2203,具体用于依次执行所述待执行的第四动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数;根据所述执行偏移量,对所述至少一组待调整的机器人动作控制参数进行调整,得到所述至少一组机器人动作控制参数。
当所述执行模式为自适应模式时,动作单元执行模块2203采用如下方式获取所述待执行动作分子对应的执行偏移量:
获取预先确定的所述待执行动作分子对应的执行偏移量。
当所述执行模式为复用模式时,动作单元执行模块2203采用如下方式获取所述待执行动作分子对应的执行偏移量:
获取所述机器人的当前位姿值;获取执行所述待执行的第四动作单元序列中的第一个动作单元生成的待调整的机器人动作控制参数中的位姿值;根据所述机器人的当前位姿值和执行所述第一个动作单元生成的待调整的机器人动作控制参数中的位姿值,生成所述待执行动作分子对应的执行偏移量。
可选地,动作单元执行模块2203具体用于:
针对所述待执行的第四动作单元序列中的每个动作原子,解析所述动作原子,获取所述动作原子的类型值以及所述动作原子的参数值;所述动作原子的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;
根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数;
根据所述待执行的执行函数,生成至少一组待调整的机器人动作控制参数。
进一步地,动作单元执行模块2203还用于获取传感器数据;
动作单元执行模块2203具体用于根据所述动作原子的参数值、所述至少一个执行函数的执行逻辑以及所述传感器数据,从所述至少一个执行函数中确定待执行的执行函数。
可选地,动作单元执行模块2203具体用于:
针对所述待执行的第四动作单元序列中的每个动作分子,解析所述动作分子,获取所述动作分子的名称标识以及所述动作分子的参数值;所述动作分子的名称标识对应第五动作单元序列;
根据所述动作分子的参数值,从所述第五动作单元序列中确定待执行的第五动作单元序列;
依次执行所述待执行的第五动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数。
所述机器人动作控制参数包括:机械臂位姿控制参数和机械臂末端工具控制参数中的至少一种。
上述为本实施例的一种动作分子的执行装置的示意性方案。需要说明的是,该动作分子的执行装置的技术方案与上述的动作分子的执行方法的技术方案属于同一构思,动作分子的执行装置的技术方案未详细描述的细节内容,均可以参见上述动作分子的执行方法的技术方案的描述。
本申请实施例还公开了一种动作任务的创建方法,参见图23,方法包括:
2301、接收对待创建动作任务所需的动作单元的添加指令;所述动作单元的类型包括动作原子和动作分子中的至少一种。
其中,关于动作原子和动作分子的数据结构的详细介绍,参见前述实施例,在此便不再赘述。
2302、根据所述添加指令,生成所述动作单元,得到第六动作单元序列。
具体地,参见图24,步骤2302中根据所述添加指令,生成所述动作单元,包括下述步骤2401~2402:
2401、根据所述添加指令,获取所述动作单元的动作单元模板。
2402、根据所述动作单元模板以及所述动作单元的参数值,生成所述动作单元。
如上所述,动作单元可以包括动作原子和动作分子两种类型。
若所述动作单元为动作原子,所述动作原子的动作原子模板包括类型值,所述动作原子模板包括的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;所述动作原子的参数值用于从所述至少一个执行函数中确定待执行的执行函数;
步骤2402具体包括:根据所述动作原子模板以及所述动作原子的参数值,生成所述动作原子。
可选地,步骤2402之前,还包括:
基于用户操作获取所述动作原子的参数值;或者
基于预设获取方式获取所述动作原子的参数值。
可选地,动作原子还包括:动作原子的名称标识,根据所述动作原子模板以及所述动作原子的参数值,生成所述动作原子,包括:
根据所述动作原子模板、所述动作原子的参数值以及所述动作原子的名称标识,生成所述动作原子。
其中,动作原子的名称标识可以为在生成动作原子之前获取,也可以为动作原子模板的默认名称标识。
在一种实施方式中,在根据所述动作原子模板、所述动作原子的参数值以及所述动作原子的名称标识,生成所述动作原子之前,还包括:
基于用户操作获取所述动作原子的名称标识。
在另一种实施方式中,所述动作原子模板包括默认名称标识,所述动作原子的名称标识为所述默认名称标识。
若所述动作单元为动作分子,所述动作分子的动作分子模板包括名称标识,所述动作分子模板包括的名称标识对应第七动作单元序列;
所述动作分子的参数值用于从所述第七动作单元序列中确定待执行的第七动作单元序列;
根据所述动作单元的动作单元模板以及所述动作单元的参数值,生成所述动作单元,包括:根据所述动作分子模板以及所述动作分子的参数值,生成所述动作分子。
在根据所述动作分子模板以及所述动作分子的参数值,生成所述动作分子之前,还包括:
基于用户操作获取所述动作分子的参数值;或者
基于预设获取方式获取所述动作分子的参数值。
除去参数值之外,动作分子还包括:类型值;
根据所述动作分子模板以及所述动作分子的参数值,生成所述动作分子,包括:根据所述动作分子模板、所述动作分子的参数值以及所述动作分子的类型值,生成所述动作分子。
所述动作分子模板包括默认类型值,所述待生成动作分子的类型值为所述默认类型值。
动作分子的参数值包括起始点和终止点。另外,所述动作分子的参数值还包括执行模式;其中,所述执行模式指示动作分子对应的执行偏移量的获取方式。
2303、建立待创建动作任务的名称标识与所述第六动作单元序列的对应关系,并根据所述名称标识,创建所述待创建动作任务。
步骤2303中,根据所述名称标识,创建所述待创建动作任务,包括:
根据所述名称标识以及默认类型值,创建所述待创建动作任务。
在一个实施例中,动作任务的数据结构如下:
{“type”:“mission”;“name”:“value3”}
其中,“type”为动作任务类型;“mission”为动作任务类型的类型值,是一确定的数据值,在解析到“type”值为“mission”时,即可以确定当前解析的为动作任务;“name”为动作任务名称;“value3”为动作任务名称标识,根据动作任务名称标识,便可以查找到对应的目标动作任务。
本申请实施例中所提出的动作任务的数据结构,使得机器人控制系统的开发具有高度可扩展性,方便用户控制使用机器人。
参见图25,本申请实施例还公开了一种动作任务的执行方法,所述方法包括:
2501、解析待执行动作任务,获取所述待执行动作任务的名称标识;所述待执行动作任务的名称标识对应待执行的第八动作单元序列。
所述动作单元的类型包括动作原子和动作分子中的至少一种。
其中,关于动作原子和动作分子的数据结构,参见前述实施例,本实施例便不再赘述。
可选地,步骤2501中,在获取所述待执行动作任务的名称标识之前,还包括:
获取所述待执行动作任务的类型值;
根据所述待执行动作任务的类型值,确认所述待执行动作任务的类型为动作任务。
2502、依次执行所述待执行的第八动作单元序列中的每个动作单元,生成至少一组机器人动作控制参数。
具体地,参见图26,步骤2502包括:
2601、针对所述待执行的第八动作单元序列中的每个动作原子,解析所述动作原子,获取所述动作原子的类型值以及所述动作原子的参数值;所述动作原子的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑。
2602、根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数。
在一种实施方案中,在步骤2602之前,还包括:获取传感器数据;
步骤2602包括:根据所述动作原子的参数值、所述至少一个执行函数的执行逻辑以及所述传感器数据,从所述至少一个执行函数中确定待执行的执行函数。
2603、根据所述待执行的执行函数,生成至少一组机器人动作控制参数。
具体地,参见图27,步骤2502包括:
2701、针对所述待执行的第八动作单元序列中的每个动作分子,解析所述动作分子,获取所述动作分子的名称标识以及所述动作分子的参数值;所述动作分子的名称标识对应第九动作单元序列。
具体地,在获取所述动作分子的名称标识以及所述动作分子的参数值之前,还包括:
获取所述动作分子的类型值;
根据所述动作分子的类型值,确认所述动作分子的类型为动作分子。
2702、根据所述动作分子的参数值,从所述第九动作单元序列中确定待执行的第九动作单元序列。
所述动作分子的参数值包括起始点和终止点;所述动作分子的参数值还包括执行模式;所述执行模式指示所述动作分子对应的执行偏移量的获取方式。
根据所述动作分子的参数值,从所述第九动作单元序列中确定待执行的第九动作单元序列,包括:
根据所述动作分子的参数值中的起始点和终止点,从所述第九动作单元序列中确定待执行的第九动作单元序列。
2703、依次执行所述待执行的第九动作单元序列中的每个动作单元,生成至少一组机器人动作控制参数。
具体地,参见图28,步骤2703包括:
2801、依次执行所述待执行的第九动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数。
具体地,步骤2801包括:
针对所述待执行的第九动作单元序列中的每个动作原子,解析所述动作原子,获取所述动作原子的类型值以及所述动作原子的参数值;所述动作原子的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;
根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数;
根据所述待执行的执行函数,生成至少一组待调整的机器人动作控制参数。
具体地,步骤2801包括:
针对所述待执行的第九动作单元序列中的每个动作分子,解析所述动作分子,获取所述动作分子的名称标识以及所述动作分子的参数值;所述动作分子的名称标识对应第十动作单元序列;
根据所述动作分子的参数值,从所述第十动作单元序列中确定待执行的第十动作单元序列;
依次执行所述待执行的第十动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数。
所述机器人动作控制参数包括:机械臂位姿控制参数和机械臂末端工具控制参数中的至少一种。
2802、根据所述执行偏移量,对所述至少一组待调整的机器人动作控制参数进行调整,得到所述至少一组机器人动作控制参数。
当所述执行模式为自适应模式时,采用如下方式获取所述动作分子对应的执行偏移量:获取预先确定的所述动作分子对应的执行偏移量。
当所述执行模式为复用模式时,采用如下方式获取所述动作分子对应的执行偏移量:获取所述机器人的当前位姿值;获取执行所述待执行的第九动作单元序列中的第一个动作单元生成的待调整的机器人动作控制参数中的位姿值;根据所述机器人的当前位姿值和执行所述第一个动作单元生成的待调整的机器人动作控制参数中的位姿值,生成所述动作分子对应的执行偏移量。
本实施例提供的动作任务的执行方法,基于所生成的机器人动作控制参数对机器人进行动作控制,以使所述机器人完成所述动作任务对应的动作,从而控制机器人运动完成相应的动作。实施本申请提出的方案,能够降低用户控制机器人执行任务的难度,提高机器人的交互能力和灵活度。
下面以一个动作任务为例,来对本实施例的动作任务的创建和执行方法进行示例性的说明。
例如,一个机械臂的动作任务要实现“制作咖啡”的功能。
该“制作咖啡”的动作任务对应的动作单元序列可以包括4个动作分子,例如包括“制作浓缩咖啡”、“打奶泡”、“拉花”、“清洗”动作分子。每个动作分子对应的动作单元序列可以包括多个动作原子,例如包括“移动”、“开合爪”、“等待”、“视觉抓取”、“水平移动”、“垂直移动”等动作原子。
该“制作咖啡”的动作任务的创建过程包括:
1)接收对“制作咖啡”的动作任务所需的动作分子的添加指令。
2)根据添加指令,生成动作分子,得到动作分子序列。
即生成的动作分子序列包括4个动作分子:“制作浓缩咖啡”、“打奶泡”、“拉花”、“清洗”。
每个动作分子的生成过程包括:
21)根据添加指令,获取动作分子模板;
22)根据动作分子模板以及动作分子的参数值,生成动作分子。
其中,动作分子模板包括名称标识,在“制作咖啡”的动作任务中,动作分子模板包括的名称标识对应动作原子序列。
3)建立“制作咖啡”的动作任务的名称标识与动作分子序列的对应关系,并根据名称标识,创建“制作咖啡”的动作任务。
该“制作咖啡”的动作任务的执行过程包括:
1)解析“制作咖啡”的动作任务,获取“制作咖啡”的动作任务的名称标识;动作任务的名称标识对应待执行的动作分子序列。
即待执行的动作分子序列包括4个动作分子:“制作浓缩咖啡”、“打奶泡”、“拉花”、“清洗”。
2)针对待执行的动作分子序列中的每个动作分子,解析动作分子,获取动作分子的名称标识以及动作分子的参数值;在“制作咖啡”的动作任务中,动作分子的名称标识对应动作原子序列;
3)根据动作分子的参数值,从动作原子序列中确定待执行的动作原子序列;
4)依次执行待执行的动作原子序列中的每个动作原子,生成至少一组机械臂动作控制参数。
执行“制作咖啡”的动作任务得到的机械臂动作控制参数,可控制机械臂实现“制作咖啡”的功能。
本申请实施例公开了一种动作任务的创建装置,参见图29,包括:
任务指令接收模块2901,用于接收对待创建动作任务所需的动作单元的添加指令;所述动作单元的类型包括动作原子和动作分子中的至少一种;
任务指令执行模块2902,用于根据所述添加指令,生成所述动作单元,得到第六动作单元序列;
任务创建模块2903,用于建立待创建动作任务的名称标识与所述第六动作单元序列的对应关系,并根据所述名称标识,创建所述待创建动作任务。
可选地,所述任务创建模块2903具体用于根据所述名称标识以及默认类型值,创建所述待创建动作任务。
可选地,所述任务指令执行模块2902具体用于:
根据所述添加指令,获取所述动作单元的动作单元模板;根据所述动作单元模板以及所述动作单元的参数值,生成所述动作单元。
可选地,若所述动作单元为动作原子,
所述动作原子的动作原子模板包括类型值,所述动作原子模板包括的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;
所述动作原子的参数值用于从所述至少一个执行函数中确定待执行的执行函数;
所述任务指令执行模块2902具体用于:根据所述动作原子模板以及所述动作原子的参数值,生成所述动作原子。
可选地,所述任务指令执行模块2902根据所述动作原子模板以及所述动作原子的参数值,生成所述动作原子之前,还用于:
基于用户操作获取所述动作原子的参数值或者基于预设获取方式获取所述动作原子的参数值。
可选地,所述任务指令执行模块2902具体用于:根据所述动作原子模板、所述动作原子的参数值以及所述动作原子的名称标识,生成所述动作原子。
可选地,在所述任务指令执行模块2902生成所述动作原子之前,还用于:基于用户操作获取所述动作原子的名称标识。
可选地,所述动作原子模板包括默认名称标识,所述动作原子的名称标识为所述默认名称标识。
可选地,若所述动作单元为动作分子,
所述动作分子的动作分子模板包括名称标识,所述动作分子模板包括的名称标识对应第七动作单元序列;
所述动作分子的参数值用于从所述第七动作单元序列中确定待执行的第七动作单元序列;
任务指令执行模块2902具体用于:
根据所述动作分子模板以及所述动作分子的参数值,生成所述动作分子。
可选地,在任务指令执行模块2902根据所述动作分子模板以及所述动作分子的参数值,生成所述动作分子之前,还用于:基于用户操作获取所述动作分子的参数值或者基于预设获取方式获取所述动作分子的参数值。
可选地,任务指令执行模块2902具体用于:根据所述动作分子模板、所述动作分子的参数值以及所述动作分子的类型值,生成所述动作分子。
可选地,所述动作分子模板包括默认类型值,所述待生成动作分子的类型值为所述默认类型值。
可选地,所述动作分子的参数值包括起始点和终止点,另外所述动作分子的参数值还包括执行模式;其中,所述执行模式指示所述动作分子对应的执行偏移量的获取方式。
上述为本实施例的一种动作任务的创建装置的示意性方案。需要说明的是,该动作任务的创建装置的技术方案与上述的动作任务的创建方法的技术方案属于同一构思,动作任务的创建装置的技术方案未详细描述的细节内容,均可以参见上述动作任务的创建方法的技术方案的描述。
参见图30,本申请实施例还公开了一种动作任务的执行装置,所述装置包括:
任务解析模块3001,用于解析待执行动作任务,获取所述待执行动作任务的名称标识;所述待执行动作任务的名称标识对应待执行的第八动作单元序列;所述动作单元的类型包括动作原子和动作分子中的至少一种;
任务执行模块3002,用于依次执行所述待执行的第八动作单元序列中的每个动作单元,生成至少一组机器人动作控制参数。
可选地,在任务解析模块3001获取所述待执行动作任务的名称标识之前,还用于:
获取所述待执行动作任务的类型值;根据所述待执行动作任务的类型值,确认所述待执行动作任务的类型为动作任务。
可选地,任务执行模块3002具体用于:
针对所述待执行的第八动作单元序列中的每个动作原子,解析所述动作原子,获取所述动作原子的类型值以及所述动作原子的参数值;所述动作原子的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;
根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数;
根据所述待执行的执行函数,生成至少一组机器人动作控制参数。
可选地,在任务执行模块3002根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数之前,还用于:
获取传感器数据;
任务执行模块3002具体用于:根据所述动作原子的参数值、所述至少一个执行函数的执行逻辑以及所述传感器数据,从所述至少一个执行函数中确定待执行的执行函数。
可选地,任务执行模块3002具体用于:
针对所述待执行的第八动作单元序列中的每个动作分子,解析所述动作分子,获取所述动作分子的名称标识以及所述动作分子的参数值;所述动作分子的名称标识对应第九动作单元序列;
根据所述动作分子的参数值,从所述第九动作单元序列中确定待执行的第九动作单元序列;
依次执行所述待执行的第九动作单元序列中的每个动作单元,生成至少一组机器人动作控制参数。
可选地,任务执行模块3002获取所述动作分子的名称标识以及所述动作分子的参数值之前,还用于:
获取所述动作分子的类型值;根据所述动作分子的类型值,确认所述动作分子的类型为动作分子。
可选地,所述动作分子的参数值包括起始点和终止点;
任务执行模块3002具体用于:
根据所述动作分子的参数值中的起始点和终止点,从所述第九动作单元序列中确定待执行的第九动作单元序列。
可选地,所述动作分子的参数值还包括执行模式;所述执行模式指示所述动作分子对应的执行偏移量的获取方式;
任务执行模块3002具体用于:
依次执行所述待执行的第九动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数;
根据所述执行偏移量,对所述至少一组待调整的机器人动作控制参数进行调整,得到所述至少一组机器人动作控制参数。
可选地,当所述执行模式为自适应模式时,任务执行模块3002采用如下方式获取所述动作分子对应的执行偏移量:
获取预先确定的所述动作分子对应的执行偏移量。
可选地,当所述执行模式为复用模式时,任务执行模块3002采用如下方式获取所述动作分子对应的执行偏移量:
获取所述机器人的当前位姿值;
获取执行所述待执行的第九动作单元序列中的第一个动作单元生成的待调整的机器人动作控制参数中的位姿值;
根据所述机器人的当前位姿值和执行所述第一个动作单元生成的待调整的机器人动作控制参数中的位姿值,生成所述动作分子对应的执行偏移量。
可选地,任务执行模块3002具体用于:
针对所述待执行的第九动作单元序列中的每个动作原子,解析所述动作原子,获取所述动作原子的类型值以及所述动作原子的参数值;所述动作原子的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;
根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数;
根据所述待执行的执行函数,生成至少一组待调整的机器人动作控制参数。
可选地,任务执行模块3002具体用于:
针对所述待执行的第九动作单元序列中的每个动作分子,解析所述动作分子,获取所述动作分子的名称标识以及所述动作分子的参数值;所述动作分子的名称标识对应第七动作单元序列;
根据所述动作分子的参数值,从所述第十动作单元序列中确定待执行的第十动作单元序列;
依次执行所述待执行的第十动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数。
所述机器人动作控制参数包括:机械臂位姿控制参数和机械臂末端工具控制参数中的至少一种。
上述为本实施例的一种动作任务的执行装置的示意性方案。需要说明的是,该动作任务的执行装置的技术方案与上述的动作任务的执行方法的技术方案属于同一构思,动作任务的执行装置的技术方案未详细描述的细节内容,均可以参见上述动作任务的执行方法的技术方案的描述。
具体的,参见图31,本申请实施例公开了一种动作分子对应的执行模式为自适应模式时动作分子的执行方法,包括步骤3101至步骤3104。
步骤3101:根据待执行动作分子,确定待执行的第十一动作单元序列。
在本申请的一种实现方式中,根据待执行动作分子,确定待执行的第十一动作单元序列,包括:
解析待执行动作分子,获取所述待执行动作分子的名称标识以及所述待执行动作分子的参数值,所述待执行动作分子的名称标识对应第十一动作单元序列;
根据所述待执行动作分子的参数值,从所述第十一动作单元序列中确定待执行的第十一动作单元序列。
在本申请的一种实现方式中,所述待执行动作分子的参数值包括起始点和终止点;
根据所述待执行动作分子的参数值,从所述第十一动作单元序列中确定待执行的第十一动作单元序列,包括:
根据所述待执行动作分子的参数值中的起始点和终止点,从所述第十一动作单元序列中确定待执行的第十一动作单元序列。
在本申请的一种实现方式中,在获取所述待执行动作分子的名称标识以及所述待执行动作分子的参数值之前,还包括:
获取所述待执行动作分子的类型值;
根据所述待执行动作分子的类型值,确认所述待执行动作分子的类型为动作分子。
步骤3102:获取预先确定的所述待执行动作分子对应的执行偏移量。
步骤3103:依次执行所述待执行的第十一动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数,其中,所述动作单元的类型包括动作原子和动作分子中的至少一种。
在本申请的一种实现方式中,依次执行所述待执行的第十一动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数,包括:
针对所述待执行的第十一动作单元序列中的每个动作原子,解析所述动作原子,获取所述动作原子的类型值以及所述动作原子的参数值,其中,所述动作原子的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;
根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数;
根据所述待执行的执行函数,生成至少一组待调整的机器人动作控制参数。
在本申请的一种实现方式中,在根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数之前,还包括:
获取传感器数据;
根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数,包括:
根据所述动作原子的参数值、所述至少一个执行函数的执行逻辑以及所述传感器数据,从所述至少一个执行函数中确定待执行的执行函数。
在本申请的一种实现方式中,依次执行所述待执行的第十一动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数,包括:
针对所述待执行的第十一动作单元序列中的每个动作分子,解析所述动作分子,获取所述动作分子的名称标识以及所述动作分子的参数值;所述动作分子的名称标识对应第十二动作单元序列;
根据所述动作分子的参数值,从所述第十二动作单元序列中确定待执行的第十二动作单元序列;
依次执行所述待执行的第十二动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数。
步骤3104:根据所述执行偏移量,对所述至少一组待调整的机器人动作控制参数进行调整,得到所述至少一组机器人动作控制参数。
在本申请的一种实现方式中,所述执行偏移量通过传感器检测预先确定;所述机器人动作控制参数包括机械臂位姿控制参数。
其中,对于动作分子的数据结构、第十一动作单元序列、执行偏移量的获取以及机器人动作控制参数等均可参见前述实施例,在本实施例中便不再赘述。
本申请提供的动作分子的执行方法,可以根据预先确定的执行偏移量得到机器人动作控制参数,对机器人进行控制,实现机器人在不同的硬件环境或应用场景下的自适应调整和迁移应用。
参见图32,本申请实施例公开了一种动作分子的执行装置,包括:
自适应动作单元序列确定模块3201,用于根据待执行动作分子,确定待执行的第十一动作单元序列;
自适应偏移量获取模块3202,用于获取预先确定的所述待执行动作分子对应的执行偏移量;
自适应控制参数生成模块3203,用于依次执行所述待执行的第十一动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数,其中,所述动作单元的类型包括动作原子和动作分子中的至少一种;
自适应控制参数得到模块3204,用于根据所述执行偏移量,对所述至少一组待调整的机器人动作控制参数进行调整,得到所述至少一组机器人动作控制参数。
可选地,所述自适应动作单元序列确定模块3201具体用于:
解析待执行动作分子,获取所述待执行动作分子的名称标识以及所述待执行动作分子的参数值,所述待执行动作分子的名称标识对应第十一动作单元序列;
根据所述待执行动作分子的参数值,从所述第十一动作单元序列中确定待执行的第十一动作单元序列。
可选地,所述自适应动作单元序列确定模块3201还用于:
获取所述待执行动作分子的类型值;
根据所述待执行动作分子的类型值,确认所述待执行动作分子的类型为动作分子。
可选地,所述待执行动作分子的参数值包括起始点和终止点;
所述自适应动作单元序列确定模块3201具体用于:
根据所述待执行动作分子的参数值中的起始点和终止点,从所述第十一动作单元序列中确定待执行的第十一动作单元序列。
可选地,所述自适应控制参数生成模块3203具体用于:
针对所述待执行的第十一动作单元序列中的每个动作原子,解析所述动作原子,获取所述动作原子的类型值以及所述动作原子的参数值,其中,所述动作原子的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;
根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数;
根据所述待执行的执行函数,生成至少一组待调整的机器人动作控制参数。
可选地,还包括:自适应传感器数据获取模块,用于获取传感器数据;
所述自适应控制参数生成模块具体用于:
根据所述动作原子的参数值、所述至少一个执行函数的执行逻辑以及所述传感器数据,从所述至少一个执行函数中确定待执行的执行函数。
可选地,所述自适应控制参数生成模块3203具体用于:
针对所述待执行的第十一动作单元序列中的每个动作分子,解析所述动作分子,获取所述动作分子的名称标识以及所述动作分子的参数值;所述动作分子的名称标识对应第十二动作单元序列;
根据所述动作分子的参数值,从所述第十二动作单元序列中确定待执行的第十二动作单元序列;
依次执行所述待执行的第十二动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数。
可选地,所述执行偏移量通过传感器检测预先确定。
可选地,所述机器人动作控制参数包括机械臂位姿控制参数。
上述为本实施例的一种动作分子的执行装置的示意性方案。需要说明的是,该动作分子的执行装置的技术方案与上述的动作分子的执行方法的技术方案属于同一构思,动作分子的执行装置的技术方案未详细描述的细节内容,均可以参见上述动作分子的执行方法的技术方案的描述。
图33是示出了根据本申请一实施例的电子设备3300的结构框图。该电子设备的部件包括但不限于存储器3310和处理器3320,处理器3320与存储器3310相连接。所述处理器执行所述指令时可以实现如上所述的动作原子的生成方法、动作分子的生成方法、动作分子模板的创建方法、动作任务的创建方法。
应该知道,电子设备还可以包括网络接口,网络接口使得电子设备能够经由一个或多个网络通信。这些网络的示例包括局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。网络接口可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,电子设备的上述以及图33中未示出的其它部件也可以彼此相连接,例如通过总线。应当理解,图33所示的电子设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其它部件。
电子设备可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其它类型的移动设备,或者诸如台式计算机或PC的静止计算设备。终端还可以是移动式或静止式的服务器。
上述为本实施例的电子设备的示意性方案。需要说明的是,该电子设备的技术方案与上述的动作原子的生成方法、动作分子的生成方法、动作分子模板的创建方法、动作任务的创建方法的技术方案属于同一构思,未详细描述的细节内容,均可以参见前文描述。
本申请实施例还公开了一种主控器,参见图34,包括存储器3410、处理器3420及存储在存储器3410上并可在处理器3420上运行的计算机指令,所述处理器3420执行所述指令时可以实现如上所述的动作原子的执行方法、动作分子的执行方法、动作任务的执行方法。
本申请实施例中,上述主控器可以是任意终端设备,包括移动计算机或移动计算设备、移动电话、可佩戴的计算设备或其它类型的移动设备,或者诸如台式计算机或PC的静止计算设备。
上述为本实施例的主控器的示意性方案。需要说明的是,该主控器的技术方案与上述的动作原子的执行方法、动作分子的执行方法、动作任务的执行方法的技术方案属于同一构思,未详细描述的细节内容,均可以参见前文描述。
本申请实施例还提供了一种机器人,包括本申请实施例所提供的主控器。
本申请实施例中,上述主控器具体可以是机械臂的主控器,上述机器人具体可以是包含上述主控器的机械臂。
上述提到的存储器可以包括随机存取存储器(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)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机指令,该计算机指令被处理器执行可以实现本申请实施例所提供的动作原子的生成方法、动作分子的生成方法、动作分子模板的创建方法、动作任务的创建方法。
本申请实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机指令,该计算机指令被处理器执行可以实现本申请实施例所提供的动作原子的执行方法、动作分子的执行方法、动作任务的执行方法。
本申请实施例还公开了一种计算机程序,所述计算机程序包括计算机指令,该计算机指令被处理器执行可以实现如上所述的动作原子的生成方法、动作原子的执行方法、动作分子的生成方法、动作分子的执行方法、动作分子模板的创建方法、动作任务的创建方法或动作任务的执行方法。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (10)
1.一种动作分子的执行方法,其特征在于,包括:
根据待执行动作分子,确定待执行的第十一动作单元序列;
获取预先确定的所述待执行动作分子对应的执行偏移量;
依次执行所述待执行的第十一动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数,其中,所述动作单元的类型包括动作原子和动作分子中的至少一种;
根据所述执行偏移量,对所述至少一组待调整的机器人动作控制参数进行调整,得到所述至少一组机器人动作控制参数。
2.根据权利要求1所述的方法,其特征在于,根据待执行动作分子,确定待执行的第十一动作单元序列,包括:
解析待执行动作分子,获取所述待执行动作分子的名称标识以及所述待执行动作分子的参数值,所述待执行动作分子的名称标识对应第十一动作单元序列;
根据所述待执行动作分子的参数值,从所述第十一动作单元序列中确定待执行的第十一动作单元序列。
3.根据权利要求2所述的方法,其特征在于,在获取所述待执行动作分子的名称标识以及所述待执行动作分子的参数值之前,还包括:
获取所述待执行动作分子的类型值;
根据所述待执行动作分子的类型值,确认所述待执行动作分子的类型为动作分子。
4.根据权利要求2所述的方法,其特征在于,所述待执行动作分子的参数值包括起始点和终止点;
根据所述待执行动作分子的参数值,从所述第十一动作单元序列中确定待执行的第十一动作单元序列,包括:
根据所述待执行动作分子的参数值中的起始点和终止点,从所述第十一动作单元序列中确定待执行的第十一动作单元序列。
5.根据权利要求1所述的方法,其特征在于,依次执行所述待执行的第十一动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数,包括:
针对所述待执行的第十一动作单元序列中的每个动作原子,解析所述动作原子,获取所述动作原子的类型值以及所述动作原子的参数值,其中,所述动作原子的类型值对应至少一个执行函数以及所述至少一个执行函数的执行逻辑;
根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数;
根据所述待执行的执行函数,生成至少一组待调整的机器人动作控制参数。
6.根据权利要求5所述的方法,其特征在于,在根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数之前,还包括:获取传感器数据;
根据所述动作原子的参数值以及所述至少一个执行函数的执行逻辑,从所述至少一个执行函数中确定待执行的执行函数,包括:
根据所述动作原子的参数值、所述至少一个执行函数的执行逻辑以及所述传感器数据,从所述至少一个执行函数中确定待执行的执行函数。
7.根据权利要求1所述的方法,其特征在于,依次执行所述待执行的第十一动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数,包括:
针对所述待执行的第十一动作单元序列中的每个动作分子,解析所述动作分子,获取所述动作分子的名称标识以及所述动作分子的参数值;所述动作分子的名称标识对应第十二动作单元序列;
根据所述动作分子的参数值,从所述第十二动作单元序列中确定待执行的第十二动作单元序列;
依次执行所述待执行的第十二动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数。
8.根据权利要求1所述的方法,其特征在于,所述执行偏移量通过传感器检测预先确定。
9.根据权利要求1-8任一所述的方法,其特征在于,所述机器人动作控制参数包括机械臂位姿控制参数。
10.一种动作分子的执行装置,其特征在于,包括:
自适应动作单元序列确定模块,用于根据待执行动作分子,确定待执行的第十一动作单元序列;
自适应偏移量获取模块,用于获取预先确定的所述待执行动作分子对应的执行偏移量;
自适应控制参数生成模块,用于依次执行所述待执行的第十一动作单元序列中的每个动作单元,生成至少一组待调整的机器人动作控制参数,其中,所述动作单元的类型包括动作原子和动作分子中的至少一种;
自适应控制参数得到模块,用于根据所述执行偏移量,对所述至少一组待调整的机器人动作控制参数进行调整,得到所述至少一组机器人动作控制参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811475605.0A CN111267088A (zh) | 2018-12-04 | 2018-12-04 | 一种动作分子的执行方法及装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811475605.0A CN111267088A (zh) | 2018-12-04 | 2018-12-04 | 一种动作分子的执行方法及装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111267088A true CN111267088A (zh) | 2020-06-12 |
Family
ID=70994941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811475605.0A Pending CN111267088A (zh) | 2018-12-04 | 2018-12-04 | 一种动作分子的执行方法及装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111267088A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111267085A (zh) * | 2018-12-04 | 2020-06-12 | 北京猎户星空科技有限公司 | 一种动作分子的执行方法及装置、设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120072023A1 (en) * | 2010-09-22 | 2012-03-22 | Toyota Motor Engineering & Manufacturing North America, Inc. | Human-Robot Interface Apparatuses and Methods of Controlling Robots |
CN102756372A (zh) * | 2011-04-28 | 2012-10-31 | 精工爱普生株式会社 | 机械手控制系统、机械手系统以及程序 |
CN106178505A (zh) * | 2016-07-29 | 2016-12-07 | 成都伟嘉斯特科技有限公司 | 一种图形化儿童编程玩具及其方法 |
CN106985150A (zh) * | 2017-03-21 | 2017-07-28 | 深圳泰坦创新科技有限公司 | 控制机器人动作的方法和装置 |
CN107678743A (zh) * | 2017-09-27 | 2018-02-09 | 北京酷思倍科技有限公司 | 一种用于机器人智能编程的方法 |
CN107813306A (zh) * | 2016-09-12 | 2018-03-20 | 深圳光启合众科技有限公司 | 机器人及其动作控制方法和装置 |
-
2018
- 2018-12-04 CN CN201811475605.0A patent/CN111267088A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120072023A1 (en) * | 2010-09-22 | 2012-03-22 | Toyota Motor Engineering & Manufacturing North America, Inc. | Human-Robot Interface Apparatuses and Methods of Controlling Robots |
CN102756372A (zh) * | 2011-04-28 | 2012-10-31 | 精工爱普生株式会社 | 机械手控制系统、机械手系统以及程序 |
CN106178505A (zh) * | 2016-07-29 | 2016-12-07 | 成都伟嘉斯特科技有限公司 | 一种图形化儿童编程玩具及其方法 |
CN107813306A (zh) * | 2016-09-12 | 2018-03-20 | 深圳光启合众科技有限公司 | 机器人及其动作控制方法和装置 |
CN106985150A (zh) * | 2017-03-21 | 2017-07-28 | 深圳泰坦创新科技有限公司 | 控制机器人动作的方法和装置 |
CN107678743A (zh) * | 2017-09-27 | 2018-02-09 | 北京酷思倍科技有限公司 | 一种用于机器人智能编程的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111267085A (zh) * | 2018-12-04 | 2020-06-12 | 北京猎户星空科技有限公司 | 一种动作分子的执行方法及装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110216649B (zh) | 机器人作业系统、以及机器人作业系统的控制方法 | |
US20200215686A1 (en) | Deep machine learning methods and apparatus for robotic grasping | |
KR101945772B1 (ko) | 로봇 시스템이 작업을 수행하기 위한 명령어를 생성하기 위한 방법 및 시스템 | |
EP3914424A1 (en) | Efficient adaption of robot control policy for new task using meta-learning based on meta-imitation learning and meta-reinforcement learning | |
US20200338722A1 (en) | Machine learning methods and apparatus for semantic robotic grasping | |
KR101860200B1 (ko) | 카메라를 이용한 장치 또는 물체의 선택 | |
CN109397285B (zh) | 一种装配方法、装配装置及装配设备 | |
CN112638596B (zh) | 自主学习型机器人装置以及自主学习型机器人装置的动作生成方法 | |
CN111085997A (zh) | 基于点云获取和处理的抓取训练方法及系统 | |
CN109689310A (zh) | 对工业机器人编程的方法 | |
CN110914022A (zh) | 直接教导机器人的系统和方法 | |
WO2020241037A1 (ja) | 学習装置、学習方法、学習プログラム、自動制御装置、自動制御方法および自動制御プログラム | |
CN114516060A (zh) | 用于控制机器人装置的设备和方法 | |
Bengtson et al. | A review of computer vision for semi-autonomous control of assistive robotic manipulators (ARMs) | |
CN111267086A (zh) | 一种动作任务的创建与执行方法及装置、设备和存储介质 | |
EP4175795B1 (en) | Transfer between tasks in different domains | |
CN111267088A (zh) | 一种动作分子的执行方法及装置、设备和存储介质 | |
CN111267087A (zh) | 一种动作分子的生成与执行方法及装置、设备和存储介质 | |
CN111273572A (zh) | 一种动作分子模板的创建方法及装置、设备和存储介质 | |
CN111267089A (zh) | 一种动作原子的生成与执行方法及装置、设备和存储介质 | |
JP7376318B2 (ja) | アノテーション装置 | |
CN111267085A (zh) | 一种动作分子的执行方法及装置、设备和存储介质 | |
Savatekar et al. | Design of control system for articulated robot using leap motion sensor | |
JP7441335B2 (ja) | 動作生成装置、ロボットシステム、動作生成方法及び動作生成プログラム | |
JP7205752B2 (ja) | ロボット制御装置、ロボット制御方法、及びロボット制御プログラム |
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 |
Application publication date: 20200612 |
|
RJ01 | Rejection of invention patent application after publication |