本申请涉及机器人和智能控制技术领域,特别是涉及一种机器人及其控制方法、计算机可读存储介质。
背景技术:
目前在各类机器人的应用中,轨迹追踪技术被广泛应用,稳定而准确的追踪不同形状的给定参考轨迹具有重要意义。例如,在工业界的点胶、焊接、传送带产品的移动监测等应用,均需要机器人快速收敛至给定轨迹并按照给定速度序列追踪轨迹。在服务机械人领域,移动机器人需要实时同速跟随人类,或按给定轨迹给定速度运动,此时轨迹的复杂性及速度的多变性均对追踪控制算法的设计增加了难度。
在目前广泛应用的追踪算法中,尤其是工业应用中,机器人的运动一般是通过用户预先编程定义的,或者预先设定某种任务环境,然后让机器人按照计划重复执行。对于日常生活中的服务场景下的复杂轨迹追踪,此种方法需要实时调整编程程序,而难以应用;在工业界,在面对小批次,多品种的生产需求时,也需要工程师及时改写程序,需要繁重的人工编程工作,不便于使用。另外,此种方法在追踪性能上,依赖编程参数的调整,需要非常专业的机器人控制的设计知识,而且机器人动作难以与人相似,这在服务机器人应用中具有局限性。
技术实现要素:
为了解决上述问题,本申请提供一种机器人及其控制方法、计算机可读存储介质,能够实现稳定并准确地进行复杂轨迹追踪。
本申请采用的一种技术方案是提供一种机器人的控制方法,该方法包括:获取机器人基于预设轨迹数据和预设速度进行运动所产生的实际轨迹数据和实际速度;确定预设轨迹数据和实际轨迹数据之间的轨迹偏移误差,以及确定预设速度和实际速度之间的速度误差;将轨迹偏移误差和速度误差输入至预先训练得到的控制模型中,并得到控制模型输出的轨迹修正数据;其中,控制模型是由机器人在历史运动过程中产生的轨迹偏移误差和速度误差,以及对应历史运动过程中产生的轨迹偏移误差和速度误差确定的轨迹修正数据,作为训练样本对控制模型进行训练得到的;利用轨迹修正数据控制机器人,以对机器人的运动轨迹和速度进行修正。
其中,该方法还包括:获取机器人在历史运动过程中产生的轨迹偏移误差和速度误差,以及对应历史运动过程中产生的轨迹偏移误差和速度误差确定的轨迹修正数据;将历史运动过程中产生的轨迹偏移误差和速度误差,以及对应历史运动过程中产生的轨迹偏移误差和速度误差确定的轨迹修正数据初始化,以生成训练样本;将训练样本输入至预先建立的控制模型,以对控制模型进行训练;计算得到控制模型的输出权重;在输出权重满足预设要求时,结束对控制模型的训练。
其中,计算得到控制模型的输出权重,包括:计算控制模型的隐藏层输出矩阵;根据隐藏层输出矩阵计算得到输出权重。
其中,根据隐藏层输出矩阵计算得到输出权重,包括:采用以下公式计算输出权重:min||dβt-τo||;其中,τo表示历史运动过程中的轨迹修正数据;d表示隐藏层输出矩阵;β表示输出权重。
其中,在输出权重满足预设要求时,结束对控制模型的训练,包括:当输出权重与第一输入权重满足第一稳定性约束条件,且隐藏层单元偏置满足第二稳定性约束条件,且输出权重与第二输入权重满足第三稳定性约束条件,且第一输入权重和第二输入权重满足第四稳定性约束条件时,则确定输出权重满足预设要求,并结束对控制模型的训练。
其中,第一稳定性约束条件采用以下公式进行表达:
其中,将轨迹偏移误差和速度误差输入至预先训练得到的控制模型中,并得到控制模型输出的轨迹修正数据,包括:将轨迹偏移误差和速度误差输入至预先训练得到的控制模型中,以使控制模型利用输入权重、输出权重、隐藏层单元偏置和激活函数对输入的轨迹偏移误差和速度误差进行计算,得到并输出轨迹修正数据。
其中,控制模型的计算公式为:
其中,利用轨迹修正数据控制机器人,以对机器人的运动轨迹和速度进行修正,包括:将轨迹修正数据进行计算以得到机器人的控制指令;基于控制指令控制机器人,以对机器人的运动轨迹和速度进行修正。
本申请采用的另一种技术方案是提供一种机器人,该机器人包括处理器以及与处理器连接的存储器;存储器用于存储程序数据,处理器用于执行程序数据,以实现上述方案中提供的任一方法。
本申请采用的另一种技术方案是提供一种计算机可读存储介质,计算机可读存储介质用于存储程序数据,程序数据在被处理器执行时,用于实现上述方案中提供的任一方法。
本申请的有益效果是:区别于现有技术的情况,本申请的一种机器人的控制方法,该方法包括:获取机器人基于预设轨迹数据和预设速度进行运动所产生的实际轨迹数据和实际速度;确定预设轨迹数据和实际轨迹数据之间的轨迹偏移误差,以及确定预设速度和实际速度之间的速度误差;将轨迹偏移误差和速度误差输入至预先训练得到的控制模型中,并得到控制模型输出的轨迹修正数据;其中,控制模型是由机器人在历史运动过程中产生的轨迹偏移误差和速度误差,以及对应历史运动过程中产生的轨迹偏移误差和速度误差确定的轨迹修正数据,作为训练样本对控制模型进行训练得到的;利用轨迹修正数据控制机器人,以对机器人的运动轨迹和速度进行修正。通过上述方式,一方面通过历史运动过程中产生的数据来训练控制模型以对机器人实时的轨迹偏移误差和速度误差进行修正,便可使机器人完成给定轨迹的运动,实现稳定并准确的复杂轨迹追踪;另一方面可以更好的利用控制模型来获取不同用户的控制习惯,使机器人的运动特性更加符合用户在进行误差修正时的控制特性,并且使用者通过历史数据便实现对机器人的调节使用,大大降低技术使用难度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的机器人的控制方法第一实施例的流程示意图;
图2是本申请提供的预设轨迹与实际轨迹的一对比示意图;
图3是本申请提供的图1中步骤14的具体流程示意图;
图4是本申请提供的预设轨迹与实际轨迹的另一对比示意图;
图5是本申请提供的机器人的控制方法第二实施例的流程示意图;
图6是本申请提供的控制模型一实施例的结构示意图;
图7是本申请提供的图6中控制模型的激活函数与中间变量的示意图;
图8是本申请提供的机器人一实施例的结构示意图;
图9是本申请提供的计算机可读存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了解决上述问题,本申请利用机器人在历史运动过程中产生的数据作为训练样本对控制模型进行训练。利用训练好的控制模型对机器人在实际轨迹中产生的轨迹偏移误差和速度误差进行修正,以使机器人完成给定轨迹的运动,实现稳定并准确的复杂轨迹追踪。具体实施方式请详见下述实施例。
参阅图1,图1是本申请提供的机器人的控制方法第一实施例的流程示意图,该方法包括:
步骤11:获取机器人基于预设轨迹数据和预设速度进行运动所产生的实际轨迹数据和实际速度。
在一些实施例中,在机器人基于预设轨迹数据进行运动时,通过机器人的传感器采集每个关节的位置信息,以得到多个连续位置的位置信息。传感器可以是机器人关节或电机端的编码器,以获取关节的位置信息。进一步通过对位置信息进行处理,可以获取到机器人当前时刻的速度、方向等。根据传感器采集的这些数据可以获得机器人的实际轨迹数据。还可以通过这些传感器来检测机器人的当前时刻的速度。
可以理解,不同的机器人,传感器获取的数据信息不尽相同,根据机器人的特性,获取合理的数据信息。
在一些实施例中,步骤11可以按照设定频率进行实际轨迹和实际速度的获取,如60秒、30秒、20秒、10秒、5秒。
参阅图2进行说明:图2中的ab表示预设轨迹数据,a′b′表示实际轨迹数据,可以看出两者之间是存在偏差的。机器人在按照预设轨迹数据进行相对复杂的运动时,不能很好的按照预设轨迹数据进行运动,同时,还可以获取在实际轨迹运动中的实际速度。
步骤12:确定预设轨迹数据和实际轨迹数据之间的轨迹偏移误差,以及确定预设速度和实际速度之间的速度误差。
在一些实施例中,确定预设轨迹数据和实际轨迹数据之间的轨迹偏移误差是通过对实际轨迹数据中当前的位置信息和预设轨迹数据中的目标位置信息进行计算得到的。速度误差是根据当前速度和预设速度计算得到的。
在一些实施例中,机器人的预设速度可以是恒定的,也可以按照预设轨迹的实际情况给定相应速度,如在预设轨迹上不同区间段给定不同速度。
例如,计算当前位置和预设轨迹数据中的目标位置之间的距离,计算出偏移的位移量;计算当前位置的运动方向和预设轨迹数据中的目标位置的运动方向之间的夹角,计算出偏移的角度;计算当前位置的实际速度和预设速度之间的差值,计算出偏移的速度量。
步骤13:将轨迹偏移误差和速度误差输入至预先训练得到的控制模型中,并得到控制模型输出的轨迹修正数据。
其中,控制模型是由机器人在历史运动过程中产生的轨迹偏移误差和速度误差以及对应历史运动过程中产生的轨迹偏移误差和速度误差确定的轨迹修正数据,作为训练样本对所述控制模型进行训练得到的。具体地,历史运动过程可以是机器人的示教过程,也可以是机器人在其他时候的运行过程。在这些过程中均可以产生轨迹偏移误差、速度误差和对应这些轨迹偏移误差和速度误差的轨迹修正数据。
在一些实施例中,可以采用高斯混合模型、隐马尔科夫模型、k近邻、线性回归、神经网络、支持向量机等方式建立控制模型。
在一些实施例中,轨迹修正数据可以包括对速度的修正、方向的修正。具体地,速度可以包括线速度和加速度。方向的修正主要体现在机器人的位姿变化。
步骤14:利用轨迹修正数据控制机器人,以对机器人的运动轨迹和速度进行修正。
具体地,参阅图3,图3是图1中步骤14的具体流程示意图。
步骤141:将轨迹修正数据进行计算以得到机器人的控制指令。
在一些实施例中,轨迹修正数据可以具体是加速度修正值,则步骤141可以是将加速度修正值进行计算以得到机器人对应的速度控制指令。如当前轨迹是一个弧形,机器人应该减速,则在检测到位置误差以及速度误差后,将位置误差和速度误差输入至控制模型得到加速度修正值,根据加速度修正值进行计算得到机器人修正后的速度,基于此速度生成控制指令。
步骤142:基于控制指令控制机器人,以对机器人的运动轨迹和速度进行修正。
参阅图4,对本实施例进行说明:
图4中的cd表示预设轨迹数据,c′d′表示实际轨迹数据。在机器人获取到基于预设轨迹cd的运动指令时,机器人处于c′处,则此时可计算出c′与c的轨迹偏移误差,以及获取当前实际速度计算出与预设速度的速度误差,则将此轨迹偏移误差和速度误差输入至预先训练得到的控制模型中,并得到控制模型输出的轨迹修正数据,基于此轨迹修正数据,对机器人进行轨迹修正,以使机器人按照预设速度以及预设轨迹cd运动。在机器人运动过程中,持续或按照时间间隔获取机器人的实际轨迹与预设轨迹的轨迹偏移误差以及实际速度与预设速度之间的速度误差,并将此轨迹偏移误差和速度误差输入至预先训练得到的控制模型中,并得到控制模型输出的轨迹修正数据,并基于轨迹修正数据对机器人进行轨迹修正,使机器人按照预设速度运动并且机器人的实际轨迹数据快速向预设轨迹数据收敛,使实际轨迹数据渐渐与预设轨迹数据重合,最终到达目标点d或d′。
区别于现有技术的情况,本申请的一种机器人的控制方法,该方法包括:获取机器人基于预设轨迹数据和预设速度进行运动所产生的实际轨迹数据和实际速度;确定预设轨迹数据和实际轨迹数据之间的轨迹偏移误差,以及确定预设速度和实际速度之间的速度误差;将轨迹偏移误差和速度误差输入至预先训练得到的控制模型中,并得到控制模型输出的轨迹修正数据;其中,控制模型是由机器人在历史运动过程中产生的轨迹偏移误差和速度误差,以及对应历史运动过程中产生的轨迹偏移误差和速度误差确定的轨迹修正数据,作为训练样本对控制模型进行训练得到的;利用轨迹修正数据控制机器人,以对机器人的运动轨迹和速度进行修正。通过上述方式,一方面通过历史运动过程中产生的数据来训练控制模型以对机器人实时的轨迹偏移误差和速度误差进行修正,便可使机器人按照给定速度完成给定轨迹的运动,实现稳定并准确的复杂轨迹追踪;另一方面可以更好的利用控制模型来获取不同用户的控制习惯,使机器人的运动特性更加符合用户在进行误差修正时的控制特性,并且使用者通过历史数据,如示教数据,便实现对机器人的调节使用,大大降低技术使用难度。
参阅图5,图5是本申请提供的机器人的控制方法第二实施例的流程示意图,该方法还包括:
步骤51:获取机器人在历史运动过程中产生的轨迹偏移误差和速度误差,以及对应历史运动过程中产生的轨迹偏移误差和速度误差确定的轨迹修正数据。
可以理解,机器人的历史运动过程可以是机器人的示教过程,也可以是机器人在其他时候的运行过程。其中,机器人在示教过程中使用的示教方式有很多,例如遥操作示教、拖动示教、在虚拟仿真环境中进行示教。
在上述的历史运动过程中,机器人均会产生相应的运动数据,如机器人的移动速度、角速度、各关节的位置信息、工具中心点的位置信息等。以示教过程为例,在对机器人按照预设轨迹数据和预设速度进行示教的过程中,难免会存在轨迹偏移误差和速度误差,则在轨迹偏移误差和速度误差出现时,对机器人进行示教操作的示教人员会根据当前轨迹偏移误差和速度误差设置对应的轨迹修正数据,以对机器人的当前运动轨迹和速度进行修正,使机器人按照预设速度回到预设轨迹数据的当前位置。因此,在对机器人按照预设轨迹数据和预设速度进行示教的过程中会存在很多的轨迹偏移误差和速度误差以及与对应轨迹偏移误差和速度误差的轨迹修正数据,则可以获取大量的轨迹偏移误差、速度误差和对应轨迹偏移误差和速度误差的轨迹修正数据。
在一些实施例中,机器人在被拖动示教时,通过机器人的传感器采集每个关节的位置信息,以得到多个连续位置的位置信息,以及采集机器人的当前速度。传感器可以是机器人关节或电机端的编码器,以获取关节的位置信息。
步骤52:将历史运动过程中产生的轨迹偏移误差和速度误差,以及对应历史运动过程中产生的轨迹偏移误差和速度误差确定的轨迹修正数据初始化,以生成训练样本。
在一些实施例中,对部分数据进行格式上的转化,单位上的换算,以符合接下来训练模型的需要。
在一些实施例中,对数据信息初始化可以是将历史运动过程中的轨迹偏移误差、速度误差和轨迹修正数据进行对应分类,以生成多个训练样本,形成训练样本集,还可以标记训练样本标签。
步骤53:将训练样本输入至预先建立的控制模型,以对控制模型进行训练。
步骤54:计算得到控制模型的输出权重。
在一些实施例中,控制模型包括输入层、隐藏层、输出层。将训练样本输入至预先建立的控制模型后,轨迹偏移误差和速度误差经过输入层,然后轨迹偏移误差在隐藏层乘上对应权重再加上偏置以及速度误差在隐藏层乘上对应权重再加上偏置,再经过一个非线性函数将其所有节点结果求和得到隐藏层输出矩阵,然后根据隐藏层输出矩阵计算得到输出权重。
具体地,采用以下公式计算输出权重:
min||dβt-τo||;
其中,τo表示历史运动过程中的轨迹修正数据;
步骤55:在输出权重满足预设要求时,结束对控制模型的训练。
在一些实施例中,出于对系统稳定性考虑,对控制模型中的参数进行约束。当输出权重与第一输入权重满足第一稳定性约束条件,且隐藏层单元偏置满足第二稳定性约束条件,且输出权重与第二输入权重满足第三稳定性约束条件,且第一输入权重和第二输入权重满足第四稳定性约束条件时,则确定输出权重满足预设要求,并结束对控制模型的训练。具体地,第一稳定性约束条件采用以下公式进行表达:
其中,
第二稳定性约束条件采用以下公式进行表达:
bi=0;
其中,bi表示隐藏层单元偏置。
第三稳定性约束条件采用以下公式进行表达:
其中,w2i表示第二输入权重。
第四稳定性约束条件采用以下公式进行表达:
在一些实施例中,可以将上述的轨迹偏移误差和速度误差再次输入到已经训练好的控制模型中,以得到控制模型输出的轨迹修正数据。将此次轨迹修正数据与训练时的轨迹偏移误差和速度误差对应的轨迹修正数据进行比较,则可以进一步确定控制模型是否符合使用要求。
结合图6,对步骤53-55进行说明:
图6是本申请提供的控制模型一实施例的结构示意图,本实施例中采用极限学习机(elm,extremelearningmachine)进行控制模型的建立。在训练阶段不再是传统的神经网络中屡试不爽的基于梯度的算法(后向传播),而采用随机的输入权重和隐藏层单元偏置,对于输出权重则通过广义逆矩阵理论计算得到。在所有网络节点上的权重和偏置得到后,极限学习机(elm)的训练就完成了。这时在测试数据输入时,利用训练好的控制模型便可计算出控制模型的输出,以完成对测试数据的预测。
图6中从左往右依次为输入层,其中输入层输入的数据是轨迹偏移误差和速度误差,中间是隐藏层,从输入层到隐藏层之间是全连接,记隐藏层的输出为d,那么隐藏层输出d的计算公式如下:
其中,
在经过隐藏层计算后,隐藏层输出矩阵进入输出层,根据上面的公式,那么用于“广义”的elm控制模型的输出是:
其中,β是隐藏层和输出层之间的输出权重,
基本上,elm的训练分为两个主要阶段:(1)随机特征映射(2)线性参数求解。
第一阶段,隐藏层参数随机进行初始化,然后采用一些非线性映射函数作为激活函数,将输入数据映射到一个新的特征空间(称为elm特征空间)。简单来说就是elm中的输入权重和隐藏层单元偏置是随机产生的。随机特征映射阶段与许多现有的学习算法(如使用核函数进行特征映射的svm(supportvectormachine,支持向量机)、深度神经网络中使用限制玻尔兹曼机器(rbm,restrictedboltzmannmachine)、用于特征学习的自动编码器/自动解码器)不同。elm中的非线性映射函数可以是任何非线性分段连续函数。在elm中,节点参数(w和b)根据任意连续的概率分布随机生成(与训练数据无关),而不是经过训练确定的,从而致使与传统bp神经网络相比在效率方面占很大优势。在一些情况下,b可以通过人为设置。
经过第一阶段的训练,w,b已随机产生而确定下来,由此可根据上述公式计算出隐藏层输出矩阵d。在elm学习的第二阶段,我们只需要求解输出权重β。为了得到在训练样本集上具有良好效果的β,需要保证其训练误差最小,我们可以用dβ(dβ是网络的输出)与输入的训练样本c求最小化平方差作为评价训练误差(目标函数),使得该目标函数最小的解就是最优解。即通过最小化近似平方差的方法对连接隐藏层和输出层的权重β进行求解,目标函数如下:
min||dβt-τo||;
其中,d是隐藏层的输出矩阵,τo为历史运动过程中的修正信息,在本系统中为输入的训练样本
通过线性代数和矩阵论的知识可推导得到最优解为:
其中
进一步,为了分析我们所设计的机器人的控制系统的稳定性,以及推导相关控制参数的稳定性约束。此部分,我们将采用lyapunov理论进行稳定性分析并推导相关控制器参数约束。不同于单误差输入系统可以直接进行系统全局渐近稳定的分析,本申请的双误差输入系统难以直接进行全局渐近稳定分析,因而需要首先分析局部渐近稳定,之后再将其推广至全局。
局部渐近稳定分析如下:
为了获得系统局部渐近稳定的约束条件,首先,我们构造lyapunov函数为:
其中,
可以发现其中包含所设计的控制模型,将其代入上式可得:
同样运用中值定理,可以写为:
因为g(0)=0,我们在考虑局部渐近稳定时,si在平衡点c*=0附近,且定理中指出bi=0,所以有
其中为了保障前两项相互约去,
控制模型的系统为局部渐近稳定的,其中,w1i表示第一输入权重,其对应输入的轨迹偏移误差,w2i表示第二输入权重,其对应输入的速度误差。
仔细观察发现
代入已证明的x2=0,g'(0)=1,并结合中值定理,上式变为:
进而我们可以推得:
所以,位置误差及速度误差都收敛为0,才是系统局部渐近稳定的唯一平衡点。
进一步,全局渐近稳定分析如下:
为了进一步推得全局渐近稳定的约束条件,首先,局部渐近稳定分析中有|si|≤ε,其中ε为一个很小的正的边界宽度值,在此范围内有
定义
又因为平衡点处有c*=0,而距离平衡点的渐近稳定边界为δ,所以有:
之后,我们将|si|的上界值ε代入上式可得:
而根据上式中的右半部分可以发现,尽管ε很小,但是当wi中的所有元素的绝对值均小于1并且很小时,输入c的上界可以很大,而同时可以保证系统渐近稳定,即当控制模型中的参数满足
当上述的控制模型在训练过程中满足上述稳定性中的约束条件,则结束对控制模型的训练。当机器人根据预设速度沿给定轨迹运动产生轨迹偏移误差和速度误差时,将轨迹偏移误差和速度误差输入至已训练好的控制模型,以使控制模型输出轨迹修正数据,以基于该轨迹修正数据控制机器人对沿给定复杂轨迹运动的实际运动轨迹以及实际速度进行修正,从而使机器人按照预设速度沿给定复杂轨迹运动,以实现稳定并准确的复杂轨迹追踪。
通过上述方式,本实施例基于极限学习机算法进行控制模型的训练,该控制模型通过对历史运动过程中的轨迹偏移误差和速度误差以及对应确定的轨迹修正数据的变化规律进行学习,从而获得使用者在历史运动过程中对机器人的控制特点。在机器人根据预设速度按照给定复杂轨迹运动时,通过将实时的轨迹偏移误差和速度误差输入至该控制模型,便可使该控制模型输出轨迹修正数据。利用该轨迹修正数据控制机器人完成对轨迹偏移误差和速度误差的修正,以使机器人按照预设速度沿给定复杂轨迹运动。并且在控制模型训练过程中将稳定性问题考虑其中,保证训练完成后的控制模型在应用于机器人时的系统稳定性,提高机器人在使用中的安全系数。同时控制模型通过学习历史运动过程中的轨迹修正数据中的特性,而获得泛化能力,在使用该控制模型进行机器人控制时,无论给定轨迹如何变化,该控制模型输出的轨迹修正数据更符合使用者在进行误差修正时的控制特性,在机器人按照此轨迹修正数据进行轨迹修正时能复现历史运动过程中使用者的控制特征。同时本申请通过将轨迹偏移误差和速度误差输入该控制模型,以使控制模型输出轨迹修正数据,利用控制模型的泛化特性从而使机器人具有对不同复杂轨迹的追踪泛化能力,而不像其他方法需要使用者频繁调节控制参数来完成轨迹修正,大大降低使用门槛。
参阅图8,图8是本申请提供的机器人一实施例的结构示意图,机器人80包括处理器81以及与处理器81连接的存储器82;其中,存储器82用于存储程序数据,处理器81用于执行程序数据,用于实现以下方法:
获取机器人基于预设轨迹数据和预设速度进行运动所产生的实际轨迹数据和实际速度;确定预设轨迹数据和实际轨迹数据之间的轨迹偏移误差,以及确定预设速度和实际速度之间的速度误差;将轨迹偏移误差和速度误差输入至预先训练得到的控制模型中,并得到控制模型输出的轨迹修正数据;其中,控制模型是由机器人在历史运动过程中产生的轨迹偏移误差和速度误差,以及对应历史运动过程中产生的轨迹偏移误差和速度误差确定的轨迹修正数据,作为训练样本对控制模型进行训练得到的;利用轨迹修正数据控制机器人,以对机器人的运动轨迹和速度进行修正。
可以理解的,处理器81用于执行程序数据时,还用于实现上述实施例的任一方法,其具体的实施步骤可以参考上述实施例,这里不再赘述。
参阅图9,图9是本申请提供的计算机可读存储介质一实施例的结构示意图,计算机可读存储介质90用于存储程序数据91,程序数据91在被处理器执行时,用于实现以下的方法步骤:
获取机器人基于预设轨迹数据和预设速度进行运动所产生的实际轨迹数据和实际速度;确定预设轨迹数据和实际轨迹数据之间的轨迹偏移误差,以及确定预设速度和实际速度之间的速度误差;将轨迹偏移误差和速度误差输入至预先训练得到的控制模型中,并得到控制模型输出的轨迹修正数据;其中,控制模型是由机器人在历史运动过程中产生的轨迹偏移误差和速度误差,以及对应历史运动过程中产生的轨迹偏移误差和速度误差确定的轨迹修正数据,作为训练样本对控制模型进行训练得到的;利用轨迹修正数据控制机器人,以对机器人的运动轨迹和速度进行修正。
可以理解的,程序数据91在被处理器执行,可用于实现上述实施例的任一方法,其具体的实施步骤可以参考上述实施例,这里不再赘述。
在本申请所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述其他实施方式中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。