CN113552807B - 数据集生成方法、装置、电子设备及存储介质 - Google Patents
数据集生成方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113552807B CN113552807B CN202111105029.2A CN202111105029A CN113552807B CN 113552807 B CN113552807 B CN 113552807B CN 202111105029 A CN202111105029 A CN 202111105029A CN 113552807 B CN113552807 B CN 113552807B
- Authority
- CN
- China
- Prior art keywords
- robot
- model
- determining
- calculating
- parameters
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000001133 acceleration Effects 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
- G05B13/042—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本公开涉及一种数据集生成方法、装置、电子设备及存储介质,上述方法包括:根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型;分别确定多个所述机器人模型中每个所述机器人模型对应的动力学公式;根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹;根据多个所述机器人模型和每个所述机器人模型对应的所述机器人的所述多条运动轨迹生成机器人数据集。采用上述技术手段,解决现有技术中,当需要使用数据集训练机器人模型时,需要人工获取数据集的问题。
Description
技术领域
本公开涉及机器学习领域,尤其涉及一种数据集生成方法、装置、电子设备及存储介质。
背景技术
机器人动力学学习是当前机器人控制学习的研究热点之一。机器人动力学学习往往需要使用关于机器人运动的数据集训练模型,但是目前针对机器人动力学学习的大规模数据集生成方法的研究较少,当需要使用数据集训练机器人模型时,都是使用者自己采集数据,标注数据,现有技术缺少采用随机策略获取含有机器人动力学特征的运动轨迹的数据集的方法。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下技术问题:当需要使用数据集训练机器人模型时,需要人工获取数据集的问题。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开的实施例提供了一种数据集生成方法、装置、电子设备及存储介质,以至少解决现有技术中,当需要使用数据集训练机器人模型时,需要人工获取数据集的问题。
本公开的目的是通过以下技术方案实现的:
第一方面,本公开的实施例提供了一种数据集生成方法,包括:根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型;分别确定多个所述机器人模型中每个所述机器人模型对应的动力学公式;根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹;根据多个所述机器人模型和每个所述机器人模型对应的所述机器人的所述多条运动轨迹生成机器人数据集。
在一个示例性实施例中,所述根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型,包括:获取所述机器人的参数和模型维度的取值范围;通过如下步骤分别确定每个所述机器人对应的机器人模型:步骤一,根据所述参数的取值范围确定所述参数,根据所述模型维度的取值范围确定所述模型维度;步骤二,在空间中建立直角坐标系,并分别在x轴方向、y轴方向和z轴方向确定所述机器人的关节的旋转方向;步骤三,根据所述模型维度和所述旋转方向确定所述拓扑结构;步骤四,所述参数、所述模型维度和所述拓扑结构确定所述机器人对应的机器人模型。
在一个示例性实施例中,所述参数包括以下至少之一:所述机器人的质量、连杆长度、质心位置、转动惯量和摩擦系数。
在一个示例性实施例中,所述拓扑结构PC:
i为所述关节的序号,ai为第i个所述关节的旋转方向,+x为x轴正方向,-x为x轴负方向,+y为y轴正方向,-y为y轴负方向,+z为z轴正方向,-z为z轴负方向,Pd为所述模型维度。
在一个示例性实施例中,所述根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹,包括:通过如下步骤分别计算每个所述机器人模型对应的所述机器人的多条运动轨迹:确定所述机器人的初始状态;通过如下步骤计算所述机器人的每条运动轨迹:确定当前时刻所述机器人的连杆的驱动力矩;根据所述初始状态和所述驱动力矩,通过所述机器人模型对应所述动力学公式计算当前时刻所述机器人的第一加速度;根据所述第一加速度计算当前时刻的下一时刻所述机器人的状态。
在一个示例性实施例中,所述确定当前时刻所述机器人的连杆的驱动力矩之后,所述方法还包括:根据当前时刻所述机器人的第一位置和第一速度,以及所述驱动力矩,通过所述机器人模型对应所述动力学公式计算所述第一加速度,其中,所述初始状态包括:所述第一位置和所述第一速度;根据所述第一速度,对所述第一加速度进行积分,得到当前时刻的下一时刻所述机器人的第二速度;根据所述第一位置,对所述第二速度进行积分,得到当前时刻的下一时刻所述机器人的第二位置,其中,当前时刻的下一时刻所述机器人的状态包括:所述第二位置和所述第二速度。
在一个示例性实施例中,所述根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹,包括:确定所述机器人的运动轨迹的条数和每条运动轨迹的步数;执行第一循环,计算每个所述机器人模型对应的所述机器人的多条运动轨迹:确定所述机器人的初始状态;执行第二循环,计算所述机器人的每条运动轨迹:确定当前时刻所述机器人的连杆的驱动力矩;根据所述初始状态和所述驱动力矩计算当前时刻所述机器人的第一加速度;根据所述第一加速度计算当前时刻的下一时刻所述机器人的状态;将所述第一循环的第一数值加一,将所述第二循环的第二数值加一,其中,所述第一数值和所述第二数值的初始值均为零;在所述第二数值等于所述运动轨迹的步数时,结束所述第二循环;在所述第一数值等于所述运动轨迹的条数时,结束所述第一循环。
第二方面,本公开的实施例提供了一种数据集生成装置,包括:第一确定模块,用于根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型;第二确定模块,用于分别确定多个所述机器人模型中每个所述机器人模型对应的动力学公式;计算模块,用于根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹;生成模块,用于根据多个所述机器人模型和每个所述机器人模型对应的所述机器人的所述多条运动轨迹生成机器人数据集。
第三方面,本公开的实施例提供了一种电子设备。上述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现如上所述的数据集生成方法或图像处理的方法。
第四方面,本公开的实施例提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的数据集生成方法或图像处理的方法。
本公开实施例提供的上述技术方案与现有技术相比至少具有如下优点的部分或全部:根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型;分别确定多个所述机器人模型中每个所述机器人模型对应的动力学公式;根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹;根据多个所述机器人模型和每个所述机器人模型对应的所述机器人的所述多条运动轨迹生成机器人数据集。因为,本公开实施例可以分别确定每个所述机器人模型对应的动力学公式,然后根据动力学公式,计算每个所述机器人的多条运动轨迹;根据多个所述机器人模型和每个所述机器人的所述多条运动轨迹生成机器人数据集,因此,采用上述技术手段,可以解决现有技术中,当需要使用数据集训练机器人模型时,需要人工获取数据集的问题,进而提高数据集生成的效率,并降低成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出了本公开实施例一种数据集生成方法的计算机终端的硬件结构框图;
图2示意性示出了本公开实施例的一种数据集生成方法的流程图;
图3示意性示出了本公开实施例的一种数据集生成方法的流程示意图;
图4示意性示出了本公开实施例的一种数据集生成装置的结构框图;
图5示意性示出了本公开实施例提供的一种电子设备的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本公开。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本公开实施例所提供的方法实施例可以在计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1示意性示出了本公开实施例的一种数据集生成方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Microprocessor Unit,简称是MPU)或可编程逻辑器件(Programmable logic device,简称是PLD)等处理装置和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本公开实施例中的数据集生成方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本公开实施例中提供了一种数据集生成方法,图2示意性示出了本公开实施例的一种数据集生成方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型;
步骤S204,分别确定多个所述机器人模型中每个所述机器人模型对应的动力学公式;
步骤S206,根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹;
步骤S208,根据多个所述机器人模型和每个所述机器人模型对应的所述机器人的所述多条运动轨迹生成机器人数据集。
通过本公开,根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型;分别确定多个所述机器人模型中每个所述机器人模型对应的动力学公式;根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹;根据多个所述机器人模型和每个所述机器人模型对应的所述机器人的所述多条运动轨迹生成机器人数据集。因为,本公开实施例可以分别确定每个所述机器人模型对应的动力学公式,然后根据动力学公式,计算每个所述机器人的多条运动轨迹;根据多个所述机器人模型和每个所述机器人的所述多条运动轨迹生成机器人数据集,因此,采用上述技术手段,可以解决现有技术中,当需要使用数据集训练机器人模型时,需要人工获取数据集的问题,进而提高数据集生成的效率,并降低成本。
在步骤S202中,根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型,包括:获取所述机器人的参数和模型维度的取值范围;通过如下步骤分别确定每个所述机器人对应的机器人模型:步骤一,根据所述参数的取值范围确定所述参数,根据所述模型维度的取值范围确定所述模型维度;步骤二,在空间中建立直角坐标系,并分别在x轴方向、y轴方向和z轴方向确定所述机器人的关节的旋转方向;步骤三,根据所述模型维度和所述旋转方向确定所述拓扑结构;步骤四,所述参数、所述模型维度和所述拓扑结构确定所述机器人对应的机器人模型。
获取所述机器人的模型维度的取值范围,获取的是机器人最大模型维度o,区间[0,o]就是模型维度的取值范围,根据所述模型维度的取值范围确定所述模型维度,就是在区间[0,o]内随机选择一个机器人的模型维度。根据所述参数的取值范围确定所述参数也是在所述参数的取值范围内随机选择一个所述参数。所述机器人有多个关节,分别在x轴方向、y轴方向和z轴方向确定所述机器人的每一个关节的旋转方向,根据所述模型维度和所述旋转方向确定所述拓扑结构。用Pd表示所述模型维度,用Pc表示所述拓扑结构,用Pp表示所述参数,那么所述机器人模型可以表示为。所述机器人模型是一种机器人构型。
所述参数包括以下至少之一:所述机器人的质量、连杆长度、质心位置、转动惯量和摩擦系数。
所述拓扑结构PC:
i为所述关节的序号,ai为第i个所述关节的旋转方向,+x为x轴正方向,-x为x轴负方向,+y为y轴正方向,-y为y轴负方向,+z为z轴正方向,-z为z轴负方向,Pd为所述模型维度。
分别在x轴方向、y轴方向和z轴方向确定所述机器人的关节的旋转方向,也就是在x轴、y轴和z轴的正负方向的范围内确定所述机器人的每个关节的旋转方向。
在步骤S206中,根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹,包括:通过如下步骤分别计算每个所述机器人模型对应的所述机器人的多条运动轨迹:确定所述机器人的初始状态;通过如下步骤计算所述机器人的每条运动轨迹:确定当前时刻所述机器人的连杆的驱动力矩;根据所述初始状态和所述驱动力矩,通过所述机器人模型对应所述动力学公式计算当前时刻所述机器人的第一加速度;根据所述第一加速度计算当前时刻的下一时刻所述机器人的状态。
机器人的初始状态用s表示,那么,R是实数集合,该集合的向量行数为2Pd,列数为1。初始状态和当前时刻所述机器人的连杆的驱动力矩是随机确定的。所述动力学公式可以由所述机器人模型推导得到。根据所述第一加速度计算当前时刻的下一时刻所述机器人的状态,实际上是通过积分的方式求解的,所以可以设计一个积分器,通过该积分器,根据所述第一加速度计算当前时刻的下一时刻所述机器人的状态。
在步骤S206中,所述确定当前时刻所述机器人的连杆的驱动力矩之后,所述方法还包括:根据当前时刻所述机器人的第一位置和第一速度,以及所述驱动力矩,通过所述机器人模型对应所述动力学公式计算所述第一加速度,其中,所述初始状态包括:所述第一位置和所述第一速度;根据所述第一速度,对所述第一加速度进行积分,得到当前时刻的下一时刻所述机器人的第二速度;根据所述第一位置,对所述第二速度进行积分,得到当前时刻的下一时刻所述机器人的第二位置,其中,当前时刻的下一时刻所述机器人的状态包括:所述第二位置和所述第二速度。
本公开实施例,通过上述方法,可以根据当前时刻所述机器人的所述初始状态和所述驱动力矩计算得到当前时刻的下一时刻所述机器人的所述状态。
在步骤S206中,根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹,包括:确定所述机器人的运动轨迹的条数和每条运动轨迹的步数;执行第一循环,计算每个所述机器人模型对应的所述机器人的多条运动轨迹:确定所述机器人的初始状态;执行第二循环,计算所述机器人的每条运动轨迹:确定当前时刻所述机器人的连杆的驱动力矩;根据所述初始状态和所述驱动力矩计算当前时刻所述机器人的第一加速度;根据所述第一加速度计算当前时刻的下一时刻所述机器人的状态;将所述第一循环的第一数值加一,将所述第二循环的第二数值加一,其中,所述第一数值和所述第二数值的初始值均为零;在所述第二数值等于所述运动轨迹的步数时,结束所述第二循环;在所述第一数值等于所述运动轨迹的条数时,结束所述第一循环。
本公开实施例,通过第一循环,计算每个所述机器人模型对应的所述机器人的多条运动轨迹,使得所述第一循环的次数等于所述运动轨迹的条数,也就是得到每个所述机器人模型对应的所述机器人的所有的运动轨迹;通过第二循环,计算所述机器人的每条运动轨迹,使得所述第二循环的次数等于所述运动轨迹的步数,也就是使得每条运动轨迹达到一定的步数。所述第一数值和所述第二数值的初始值均为零,也就是,第一循环第一次执行时,所述第一数值的初始值为零,第二循环第一次执行时,所述第二数值的初始值为零。
为了更好的理解上述技术方案,本公开实施例还提供了一种可选实施例,用于解释说明上述技术方案。
图3示意性示出了本公开实施例的一种数据集生成方法的流程示意图,如图3所示:
S302,获取所述机器人的参数和模型维度的取值范围;
S304,根据所述参数的取值范围确定所述参数,根据所述模型维度的取值范围确定所述模型维度;
S306,在空间中建立直角坐标系,并分别在x轴方向、y轴方向和z轴方向确定所述机器人的关节的旋转方向;
S308,根据所述模型维度和所述旋转方向确定所述拓扑结构;
S310,所述参数、所述模型维度和所述拓扑结构确定所述机器人对应的机器人模型;
S312,确定所述机器人的初始状态;
S314,确定当前时刻所述机器人的连杆的驱动力矩;
S316,根据所述初始状态和所述驱动力矩,通过所述机器人模型对应所述动力学公式计算当前时刻所述机器人的第一加速度;
S318,根据所述第一加速度计算当前时刻的下一时刻所述机器人的状态;
S320,循环执行步骤S314至步骤S318,得到所述机器人的每条运动轨迹。
通过本公开,根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型;分别确定多个所述机器人模型中每个所述机器人模型对应的动力学公式;根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹;根据多个所述机器人模型和每个所述机器人模型对应的所述机器人的所述多条运动轨迹生成机器人数据集。因为,本公开实施例可以分别确定每个所述机器人模型对应的动力学公式,然后根据动力学公式,计算每个所述机器人的多条运动轨迹;根据多个所述机器人模型和每个所述机器人的所述多条运动轨迹生成机器人数据集,因此,采用上述技术手段,可以解决现有技术中,当需要使用数据集训练机器人模型时,需要人工获取数据集的问题,进而提高数据集生成的效率,并降低成本。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(RandomAccessMemory,简称为RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,组件服务端,或者网络设备等)执行本公开各个实施例的方法。
在本实施例中还提供了一种数据集生成装置,该数据集生成装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4示意性示出了本公开可选实施例的一种数据集生成装置的结构框图,如图4所示,该装置包括:
第一确定模块402,用于根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型;
第二确定模块404,用于分别确定多个所述机器人模型中每个所述机器人模型对应的动力学公式;
计算模块406,用于根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹;
生成模块408,用于根据多个所述机器人模型和每个所述机器人模型对应的所述机器人的所述多条运动轨迹生成机器人数据集。
通过本公开,根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型;分别确定多个所述机器人模型中每个所述机器人模型对应的动力学公式;根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹;根据多个所述机器人模型和每个所述机器人模型对应的所述机器人的所述多条运动轨迹生成机器人数据集。因为,本公开实施例可以分别确定每个所述机器人模型对应的动力学公式,然后根据动力学公式,计算每个所述机器人的多条运动轨迹;根据多个所述机器人模型和每个所述机器人的所述多条运动轨迹生成机器人数据集,因此,采用上述技术手段,可以解决现有技术中,当需要使用数据集训练机器人模型时,需要人工获取数据集的问题,进而提高数据集生成的效率,并降低成本。
可选地,第一确定模块402还用于获取所述机器人的参数和模型维度的取值范围;通过如下步骤分别确定每个所述机器人对应的机器人模型:步骤一,根据所述参数的取值范围确定所述参数,根据所述模型维度的取值范围确定所述模型维度;步骤二,在空间中建立直角坐标系,并分别在x轴方向、y轴方向和z轴方向确定所述机器人的关节的旋转方向;步骤三,根据所述模型维度和所述旋转方向确定所述拓扑结构;步骤四,所述参数、所述模型维度和所述拓扑结构确定所述机器人对应的机器人模型。
获取所述机器人的模型维度的取值范围,获取的是机器人最大模型维度o,区间[0,o]就是模型维度的取值范围,根据所述模型维度的取值范围确定所述模型维度,就是在区间[0,o]内随机选择一个机器人的模型维度。根据所述参数的取值范围确定所述参数也是在所述参数的取值范围内随机选择一个所述参数。所述机器人有多个关节,分别在x轴方向、y轴方向和z轴方向确定所述机器人的每一个关节的旋转方向,根据所述模型维度和所述旋转方向确定所述拓扑结构。用Pd表示所述模型维度,用Pc表示所述拓扑结构,用Pp表示所述参数,那么所述机器人模型可以表示为。所述机器人模型是一种机器人构型。
所述参数包括以下至少之一:所述机器人的质量、连杆长度、质心位置、转动惯量和摩擦系数。
所述拓扑结构PC:
i为所述关节的序号,ai为第i个所述关节的旋转方向,+x为x轴正方向,-x为x轴负方向,+y为y轴正方向,-y为y轴负方向,+z为z轴正方向,-z为z轴负方向,Pd为所述模型维度。
分别在x轴方向、y轴方向和z轴方向确定所述机器人的关节的旋转方向,也就是在x轴、y轴和z轴的正负方向的范围内确定所述机器人的每个关节的旋转方向。
可选地,计算模块406还用于通过如下步骤分别计算每个所述机器人模型对应的所述机器人的多条运动轨迹:确定所述机器人的初始状态;通过如下步骤计算所述机器人的每条运动轨迹:确定当前时刻所述机器人的连杆的驱动力矩;根据所述初始状态和所述驱动力矩,通过所述机器人模型对应所述动力学公式计算当前时刻所述机器人的第一加速度;根据所述第一加速度计算当前时刻的下一时刻所述机器人的状态。
机器人的初始状态用s表示,那么,R是实数集合,该集合的向量行数为2Pd,列数为1。初始状态和当前时刻所述机器人的连杆的驱动力矩是随机确定的。所述动力学公式可以由所述机器人模型推导得到。根据所述第一加速度计算当前时刻的下一时刻所述机器人的状态,实际上是通过积分的方式求解的,所以可以设计一个积分器,通过该积分器,根据所述第一加速度计算当前时刻的下一时刻所述机器人的状态。
可选地,计算模块406还用于根据当前时刻所述机器人的第一位置和第一速度,以及所述驱动力矩,通过所述机器人模型对应所述动力学公式计算所述第一加速度,其中,所述初始状态包括:所述第一位置和所述第一速度;根据所述第一速度,对所述第一加速度进行积分,得到当前时刻的下一时刻所述机器人的第二速度;根据所述第一位置,对所述第二速度进行积分,得到当前时刻的下一时刻所述机器人的第二位置,其中,当前时刻的下一时刻所述机器人的状态包括:所述第二位置和所述第二速度。
本公开实施例,通过上述方法,可以根据当前时刻所述机器人的所述初始状态和所述驱动力矩计算得到当前时刻的下一时刻所述机器人的所述状态。
可选地,计算模块406还用于确定所述机器人的运动轨迹的条数和每条运动轨迹的步数;执行第一循环,计算每个所述机器人模型对应的所述机器人的多条运动轨迹:确定所述机器人的初始状态;执行第二循环,计算所述机器人的每条运动轨迹:确定当前时刻所述机器人的连杆的驱动力矩;根据所述初始状态和所述驱动力矩计算当前时刻所述机器人的第一加速度;根据所述第一加速度计算当前时刻的下一时刻所述机器人的状态;将所述第一循环的第一数值加一,将所述第二循环的第二数值加一,其中,所述第一数值和所述第二数值的初始值均为零;在所述第二数值等于所述运动轨迹的步数时,结束所述第二循环;在所述第一数值等于所述运动轨迹的条数时,结束所述第一循环。
本公开实施例,通过第一循环,计算每个所述机器人模型对应的所述机器人的多条运动轨迹,使得所述第一循环的次数等于所述运动轨迹的条数,也就是得到每个所述机器人模型对应的所述机器人的所有的运动轨迹;通过第二循环,计算所述机器人的每条运动轨迹,使得所述第二循环的次数等于所述运动轨迹的步数,也就是使得每条运动轨迹达到一定的步数。所述第一数值和所述第二数值的初始值均为零,也就是,第一循环第一次执行时,所述第一数值的初始值为零,第二循环第一次执行时,所述第二数值的初始值为零。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本公开的实施例提供了一种电子设备。
图5示意性示出了本公开实施例提供的一种电子设备的结构框图。
参照图5所示,本公开实施例提供的电子设备500包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501、通信接口502和存储器503通过通信总线504完成相互间的通信;存储器503,用于存放计算机程序;处理器501,用于执行存储器上所存放的程序时,实现上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该输入输出设备与上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型;
S2,分别确定多个所述机器人模型中每个所述机器人模型对应的动力学公式;
S3,根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹;
S4,根据多个所述机器人模型和每个所述机器人模型对应的所述机器人的所述多条运动轨迹生成机器人数据集。
本公开的实施例还提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型;
S2,分别确定多个所述机器人模型中每个所述机器人模型对应的动力学公式;
S3,根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹;
S4,根据多个所述机器人模型和每个所述机器人模型对应的所述机器人的所述多条运动轨迹生成机器人数据集。
该计算机可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本公开的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
以上所述仅为本公开的优选实施例而已,并不用于限制于本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (9)
1.一种数据集生成方法,其特征在于,包括:
根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型;
分别确定多个所述机器人模型中每个所述机器人模型对应的动力学公式;
根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹;
根据多个所述机器人模型和每个所述机器人模型对应的所述机器人的所述多条运动轨迹生成机器人数据集,
其中,所述根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型,包括:
获取所述机器人的参数和模型维度的取值范围;
通过如下步骤分别确定每个所述机器人对应的机器人模型:
步骤一,根据所述参数的取值范围确定所述参数,根据所述模型维度的取值范围确定所述模型维度;
步骤二,在空间中建立直角坐标系,并分别在x轴方向、y轴方向和z轴方向确定所述机器人的关节的旋转方向;
步骤三,根据所述模型维度和所述旋转方向确定所述拓扑结构;
步骤四,所述参数、所述模型维度和所述拓扑结构确定所述机器人对应的机器人模型,
其中,根据所述模型维度的取值范围确定所述模型维度是在区间[0,o]内随机选择一个机器人的模型维度;根据所述参数的取值范围确定所述参数是在所述参数的取值范围内随机选择一个所述参数。
2.根据权利要求1所述的方法,其特征在于,所述参数包括以下至少之一:所述机器人的质量、连杆长度、质心位置、转动惯量和摩擦系数。
4.根据权利要求1所述的方法,其特征在于,所述根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹,包括:
通过如下步骤分别计算每个所述机器人模型对应的所述机器人的多条运动轨迹:
确定所述机器人的初始状态;
通过如下步骤计算所述机器人的每条运动轨迹:
确定当前时刻所述机器人的连杆的驱动力矩;
根据所述初始状态和所述驱动力矩,通过所述机器人模型对应所述动力学公式计算当前时刻所述机器人的第一加速度;
根据所述第一加速度计算当前时刻的下一时刻所述机器人的状态。
5.根据权利要求4所述的方法,其特征在于,所述确定当前时刻所述机器人的连杆的驱动力矩之后,所述方法还包括:
根据当前时刻所述机器人的第一位置和第一速度,以及所述驱动力矩,通过所述机器人模型对应所述动力学公式计算所述第一加速度,其中,所述初始状态包括:所述第一位置和所述第一速度;
根据所述第一速度,对所述第一加速度进行积分,得到当前时刻的下一时刻所述机器人的第二速度;
根据所述第一位置,对所述第二速度进行积分,得到当前时刻的下一时刻所述机器人的第二位置,其中,当前时刻的下一时刻所述机器人的状态包括:所述第二位置和所述第二速度。
6.根据权利要求1所述的方法,其特征在于,所述根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹,包括:
确定所述机器人的运动轨迹的条数和每条运动轨迹的步数;
执行第一循环,计算每个所述机器人模型对应的所述机器人的多条运动轨迹:
确定所述机器人的初始状态;
执行第二循环,计算所述机器人的每条运动轨迹:
确定当前时刻所述机器人的连杆的驱动力矩;
根据所述初始状态和所述驱动力矩计算当前时刻所述机器人的第一加速度;
根据所述第一加速度计算当前时刻的下一时刻所述机器人的状态;
将所述第一循环的第一数值加一,将所述第二循环的第二数值加一,其中,所述第一数值和所述第二数值的初始值均为零;
在所述第二数值等于所述运动轨迹的步数时,结束所述第二循环;
在所述第一数值等于所述运动轨迹的条数时,结束所述第一循环。
7.一种数据集生成装置,其特征在于,包括:
第一确定模块,用于根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型;
第二确定模块,用于分别确定多个所述机器人模型中每个所述机器人模型对应的动力学公式;
计算模块,用于根据每个所述机器人模型对应的动力学公式,计算每个所述机器人模型对应的所述机器人的多条运动轨迹;
生成模块,用于根据多个所述机器人模型和每个所述机器人模型对应的所述机器人的所述多条运动轨迹生成机器人数据集,
其中,所述根据每个机器人的参数、拓扑结构和模型维度确定每个所述机器人对应的机器人模型,得到多个所述机器人模型,包括:
获取所述机器人的参数和模型维度的取值范围;
通过如下步骤分别确定每个所述机器人对应的机器人模型:
步骤一,根据所述参数的取值范围确定所述参数,根据所述模型维度的取值范围确定所述模型维度;
步骤二,在空间中建立直角坐标系,并分别在x轴方向、y轴方向和z轴方向确定所述机器人的关节的旋转方向;
步骤三,根据所述模型维度和所述旋转方向确定所述拓扑结构;
步骤四,所述参数、所述模型维度和所述拓扑结构确定所述机器人对应的机器人模型,
其中,根据所述模型维度的取值范围确定所述模型维度是在区间[0,o]内随机选择一个机器人的模型维度;根据所述参数的取值范围确定所述参数是在所述参数的取值范围内随机选择一个所述参数。
8.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111105029.2A CN113552807B (zh) | 2021-09-22 | 2021-09-22 | 数据集生成方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111105029.2A CN113552807B (zh) | 2021-09-22 | 2021-09-22 | 数据集生成方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113552807A CN113552807A (zh) | 2021-10-26 |
CN113552807B true CN113552807B (zh) | 2022-01-28 |
Family
ID=78106509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111105029.2A Active CN113552807B (zh) | 2021-09-22 | 2021-09-22 | 数据集生成方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113552807B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110198813B (zh) * | 2017-01-31 | 2023-02-28 | 株式会社安川电机 | 机器人路径生成装置和机器人系统 |
CN107160389B (zh) * | 2017-05-09 | 2019-07-30 | 浙江工业大学 | 一种工业机器人的力矩控制方法 |
DE102019202090A1 (de) * | 2018-03-14 | 2019-09-19 | Robert Bosch Gmbh | Verfahren zum Erzeugen eines Trainingsdatensatzes zum Trainieren eines Künstlichen-Intelligenz-Moduls für eine Steuervorrichtung eines Roboters |
CN110209048A (zh) * | 2019-05-20 | 2019-09-06 | 华南理工大学 | 基于动力学模型的机器人时间最优轨迹规划方法、设备 |
CN110154023B (zh) * | 2019-05-22 | 2021-06-04 | 同济大学 | 一种基于运动学分析的多臂协同焊接机器人控制方法 |
CN111015649B (zh) * | 2019-10-12 | 2020-12-25 | 深圳先进技术研究院 | 一种驱控一体化控制系统 |
CN111522341A (zh) * | 2020-04-23 | 2020-08-11 | 中国地质大学(武汉) | 网络异构机器人系统的多时变编队跟踪控制方法及系统 |
-
2021
- 2021-09-22 CN CN202111105029.2A patent/CN113552807B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113552807A (zh) | 2021-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110251942A (zh) | 控制游戏场景中虚拟角色的方法及装置 | |
CN108289246A (zh) | 数据处理方法、装置、存储介质和电子装置 | |
CN115300910B (zh) | 基于多智能体强化学习的去混淆游戏策略模型生成方法 | |
CN110516389A (zh) | 行为控制策略的学习方法、装置、设备及存储介质 | |
CN105447467A (zh) | 一种用户行为模式的识别系统和识别方法 | |
CN104792327A (zh) | 一种基于移动设备的运动轨迹对比方法 | |
CN111185909B (zh) | 机器人运行工况获取方法、装置、机器人及存储介质 | |
CN113552807B (zh) | 数据集生成方法、装置、电子设备及存储介质 | |
CN109815557B (zh) | 一种机器人模型的展示方法、装置及智能终端 | |
CN107678804A (zh) | 行为执行方法和装置、存储介质及电子装置 | |
CN111885419B (zh) | 姿态处理方法及装置、存储介质、电子装置 | |
CN109360277A (zh) | 虚拟仿真显示控制方法和装置,存储介质及电子装置 | |
CN108654088A (zh) | 程序调试方法和装置、存储介质及电子装置 | |
CN109531578B (zh) | 仿人机械手臂体感控制方法及装置 | |
CN105786333B (zh) | 移动终端的操作方法及装置 | |
CN114454981B (zh) | 双足机器人的弹跳运动控制方法、装置及双足机器人 | |
CN108710514A (zh) | 对象跳转控制方法和装置、存储介质及电子装置 | |
CN113962073A (zh) | 智能机器人的步态控制方法及装置、存储介质、电子装置 | |
US20230311323A1 (en) | Methods and systems for improving controlling of a robot | |
CN107690799A (zh) | 一种数据同步的方法、装置及服务器 | |
CN109395373B (zh) | 对象控制方法和装置、存储介质及电子装置 | |
CN113758481A (zh) | 栅格地图生成方法、装置、系统、存储介质及电子设备 | |
CN113760518A (zh) | 一种信息处理方法、装置及存储介质 | |
CN107050848B (zh) | 基于体域网的体感游戏实现方法以及装置 | |
CN113561185B (zh) | 一种机器人控制方法、装置及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |