仿人机器人身体姿态角度误差的补偿方法和装置的制作方法

文档序号:2311217阅读:330来源:国知局
专利名称:仿人机器人身体姿态角度误差的补偿方法和装置的制作方法
技术领域
本发明涉及一种仿人机器人身体姿态俯仰角度误差的补偿方法和装置,属于机器人技术领域。
背景技术
仿人机器人具有人的外形特征,可以更好地适应人类的生活环境,更好地为人们服务。近年来,国内外掀起了研究仿人机器人的热潮,其研究内容主要包括稳定行走、灵巧作业、人机友好交互等方面。仿人机器人快速、连续、定目标点作业是一种目标点固定、作业中动作完成时间随要求变化的作业方式,随着仿人机器人越来越接近实用化,这种作业方、式将具有广泛的应用场合。仿人机器人作业时的末端位姿由机器人自身的身体位姿和作业手臂的位姿共同决定,它对机器人能否完成作业起着至关重要的作用。当给出作业要求的动作完成时间时,仿人机器人身体和作业手臂的位姿可由一组动作规划算法得出的关节角度确定。当动作执行时,作业手臂要以很大加速度运动,由此产生非常大的惯性力,而手臂相对于脚踝关节又有很大的力臂,因而,产生的力矩导致机器人身体的晃动。这种晃动主要是由于仿人机器人脚踝关节俯仰方向具有柔性,在大力矩作用下实际关节角度值偏离规划的角度值,使机器人身体姿态俯仰角度产生误差,进而影响手臂末端的作业精度。作业要求的动作完成时间不同,动作剧烈程度不同,产生的俯仰角度误差也就不同。动作完成时间与俯仰角度误差有确定的关系。目前,仿人机器人身体姿态俯仰角度误差补偿主要是针对稳定性保持和平衡保持等方面。现有技术中教导了一种防止仿人机器人前后倾斜的运动规划方法和装置。该方法和装置主要针对仿人机器人行走过程中单脚支撑期身体前后倾斜的补偿而提出,防止身体倾斜弓I起的摆动脚着地不稳。现有技术中教导了一种仿人机器人双脚站立时,身体受到外界干扰推力作用时保持平衡的方法。如果干扰力较小,可以通过调整髋、踝、膝等关节的力矩,使机器人保持平衡。如果干扰力较大,机器人将通过弯曲身体或者跨步重新保持平衡。此技术解决的是平衡保持问题,而不管机器人的身体俯仰角度是否会改变。在对现有技术进行调研和探索后,发明人提出了一种仿人机器人快速、连续、定目标点作业时身体姿态俯仰角度误差补偿方法和装置。本发明简单可行,节省机器人的运算时间,通过调整踝关节进行快速补偿,提高了仿人机器人作业精度。

发明内容
为了减小仿人机器人连续、快速、定目标点作业过程中,由于手臂剧烈动作和机器人踝关节的柔性造成的仿人机器人姿态俯仰角度误差,提高作业精度,本发明提供了一种机器人身体姿态俯仰角度误差的补偿方法和装置,节省计算时间,满足快速、连续作业精度要求。本发明采用的技术方案如下一种仿人机器人身体姿态误差的补偿方法,其中所述仿人机器人具有关节,所述方法包括以下步骤对所述仿人机器人的关节的动作进行规划;检测与所述仿人机器人的所述动作相关的参数信息;根据所述参数信息确定所述仿人机器人的角度误差;将所述角度误差设置为所述关节的动作规划值的补偿角度值。
优选地,所述参数信息为要求的动作完成时间。优选地,所述角度误差为俯仰角度误差。优选地,所述确定仿人机器人的角度误差的步骤包括检测仿人机器人动作规划时刻和动作完成时刻的身体姿态俯仰角度;根据实验记录的身体姿态俯仰角度,取得一次作业过程的误差数据组,包含俯仰角度误差、要求的动作完成时间;用实验方法获得若干组机器人作业要求的动作完成时间不同时,机器人身体姿态俯仰角度误差数据组,并通过处理使得到的新的数据组能在可能的取值范围内连续取值,构造出数据组中俯仰角度误差与要求的动作完成时间的对应关系。优选地,所述关节包括踝关节。一种仿人机器人身体姿态角度误差的补偿装置,包括动作规划模块,用于对所述仿人机器人的关节的动作进行规划;参数信息检测模块,用于检测与所述仿人机器人的所述动作相关的参数信息;角度误差确定模块,用于根据所述参数信息确定所述仿人机器人的角度误差;角度误差补偿模块,用于将所述角度误差设置为所述关节的动作规划值的补偿角度值。优选地,所述参数信息为要求的动作完成时间。优选地,所述角度误差为俯仰角度误差。优选地,所述角度误差确定模块包括用于检测仿人机器人动作规划时刻和动作完成时刻的身体姿态俯仰角度的单元;用于根据实验记录的身体姿态俯仰角度,取得一次作业过程的误差数据组,包含俯仰角度误差、要求的动作完成时间的单元;用于用实验方法获得若干组机器人作业要求的动作完成时间不同时,机器人身体姿态俯仰角度误差数据组,并通过处理使得到的新的数据组能在可能的取值范围内连续取值,构造出数据组中俯仰角度误差与要求的动作完成时间的对应关系的单元。优选地,所述关节包括踝关节。本发明的有益效果是I、通过补偿身体姿态俯仰角度误差,大幅度减小了仿人机器人在快速、连续、定目标点作业时末端位姿的不确定性,提高了机器人末端姿态的准确性,保证了动态作业的连续性。
2、误差补偿方法简单、有效。3、在动作规划阶段,根据作业要求的动作完成时间信息即可快速得到俯仰角度误差,保证了作业的快速性和连续性。


图I仿人机器人快速、连续、定目标点作业时身体姿态俯仰角度误差的补偿流程图;图2仿人机器人乒乓球对打作业示意图;图3仿人机器人击球过程中俯仰角度误差产生与补偿示意图;图4 一次击球作业中俯仰角度误差获取实验流程图;图5机器人身体俯仰角度误差的补偿方法流程图。
具体实施例方式为使本发明的目的、技术方案更加清楚,下面将结合附图对本发明实施方式进一步地详细描述。一种仿人机器人快速、连续、定目标点作业时身体姿态俯仰角度误差的补偿方法,包括以下步骤检测仿人机器人俯仰角度误差;将俯仰角度误差设置为踝关节规划值的补偿角度值。所述步骤“检测仿人机器人俯仰角度误差”包括检测仿人机器人动作规划时刻和动作完成时刻的身体姿态俯仰角度;根据实验记录的身体姿态俯仰角度,取得一次作业过程的误差数据组,包含俯仰角度误差、要求的动作完成时间;用实验方法获得若干组机器人上肢作业要求的动作完成时间不同时,机器人身体姿态俯仰角度误差数据组,并通过处理使得到的新的数据组能在可能的取值范围内连续取值,构造出数据组中俯仰角度误差与要求的动作完成时间的对应关系。所述步骤“将俯仰角度误差设置为踝关节规划值的补偿角度值”包括根据上述步骤得到的对应关系,在作业要求的动作完成时间已知的情况下,可确定动作完成时需补偿的俯仰角度误差,将此角度误差作为补偿角度值加在踝关节的规划角度值上。机器人作业一次(假设为第i次)的身体姿态俯仰角度误差ei获取过程为假设本次作业要求动作完成时间为t,仿人机器人由当前俯仰角度和当前手臂姿态开始动作规划,此时即为动作规划时刻。动作规划时刻固定的身体姿态俯仰角度P,过时间\后,即动作完成时刻由于作业手臂引起的身体晃动,身体姿态俯仰角度检测单元检测到实际身体姿态俯仰角度为Qi。机器人作业一次的身体姿态俯仰角度误差ei为规划时刻俯仰角度P和动作完成时刻的俯仰角度Qi之差,即ei = Qi-P,相应的误差数据组为(要求的动作完成时间对应的身体姿态角度误差。连续作业时的身体姿态俯仰角度误差获取过程为用实验方法获得若干组机器人上肢要求不同的动作完成时间时,机器人身体姿态俯仰角度误差数据组。对于所有误差数据组,假设在m次作业过程中,要求的动作完成时间值有m个,对应的动作完成时刻身体俯
仰角度误差也为m个,则误差数据组为(h,e0), (tp ei),......(V1, e^),根据实验确定
动作完成时间的变化区间[tmin,t_]。确定m的原则主要是获取的数据量能够确定通常作业环境条件下动作完成时间范围即可,根据经验m取200即可确定仿人机器人快速、连续、定目标点作业时的动作完成时间范围。剔除掉重复的数据,则新的误差数据组为(h,e0),
(t1; ej),......(V1, ew), b 为新的误差数据组数量,且 tmin = t0 < <...... < V1 =
tmax。由于仿人机器人平台和实验环境影响,b的大小以及新的误差数据组会有差别。实验过程中的误差数据组不同,说明俯仰角度误差和动作完成时间的对应关系不同,反映了特定环境下仿人机器人本身机构、控制性能不同。对通过实验获得的身体姿态俯仰角度误差数据组进行处理过程为实验得到的误差数据都是离散的实验值,而在实际作业中出现的数据可能是此范围内的任意值,因此须将数据连续化,此处将俯仰角度误差视为动作完成时间的函数并采用分段线性插值的办法。分段线性插值计算量小,可保证计算速度,并可 通过加密数据点提高插值精度。对数据组(tQ,e0), (t1; ej),......(tw, 构造一组基函数 Ii (t) (i = 0,
1,......,b_l),每个 Ii (t)满足lMj) = |0,J 矣 J(i,j = 0,1, ...,b - I);
3 U,J = i且IiU)在每个小区间[tj,tj+1] (j = 0,1,......b-2)上是线性函数。Ii (t) (i =
I,2,......b-2)的表达式如下
7 ,、 ————,t G [亡0,tAl0(t) = j
、0,te Ct1, th_x]
-——,te t.} ti - h-,I人t) = t -,
-出~,te [ty, ty+l]
h -
0,t e \t0, tj_}) U (ti+x, th_^
,,、 —-^b~2 - , t G \th_o, t.-AIh^it) = j tb_x - tb_22 1
、 0,t G O0,插值公式为/⑴=Yje2i2(f)。
y=o当一次作业任务确定时,作业要求的动作完成时间也被确定下来,假设为时间t,
t可在区间[tmin,t_]内任意取值,当极少数情况下出现不在此范围内的数据时,可不做补m
\-ZX o确定角度误差的计算公式为
j*-I
e _ f(j^ , ^ (^), t G [^min, ^maxJ1=0
、0,其它其中t为实际作业时要求的动作完成时间,e为实际作业时动作完成时刻身体俯仰角度相对于规划时刻俯仰角度的角度误差,e,为实验获取的已知的误差数据组确定的俯仰角度误差,Ii (t)为插值公式确定的基函数。为了保证动作完成时刻末端位姿的精度,需要在动作规划时刻确定角度误差,并在动作完成时刻完成角度误差补偿。角度补偿的具体方法是将确定的误差量e作为补偿值加在踝关节俯仰方向自由度的规划角度值e ref上,即0 ' ref = 0 Mf+e,其中,e ' 为补偿角度误差后,踝关节俯仰方向自由度新的规划角度值。仿人机器人快速、连续、定目标点作业时身体姿态俯仰角度误差的补偿流程图如图I所示。下面将以仿人机器人连续对打乒乓球为例对本发明实施方式进一步地详细描述。仿人机器人连续对打乒乓球过程中,我们指定乒乓球每次到达仿人机器人身体前一个固定平面时,球拍击打乒乓球,此平面我们称为约定平面。为了保证能够连续击打作业,通过控制球拍姿态可以使乒乓球到达约定平面时的位置变化较小,因此,乒乓球连续对打作业可视为连续、快速、定目标点作业。仿人机器人检测到乒乓球信息,结合当前的身体 姿态俯仰角度进行回球的动作规划,该时刻定为动作规划时刻,该身体姿态俯仰角度定为规划时刻俯仰角度。执行回球动作时,机器人手臂末端带动球拍击球,该时刻定为击球时亥IJ,即动作完成时刻。规划时刻到击球时刻的时间称为“剩余时间”,即动作完成时间。由于每次击打作业中,乒乓球速度不同导致乒乓球被对手击回后,留给仿人机器人完成回球动作的时间,即要求的动作完成时间也不同。回球动作执行时,由于手臂击球动作剧烈导致身体晃动。在击球时刻,仿人机器人身体俯仰角度由于晃动偏离了原来规划时刻的俯仰角度值,进而影响了击球时刻末端姿态精度。本发明可以消除击球时刻由于身体晃动引起的俯仰角度误差,保证击球时刻机器人身体俯仰角度和规划时刻俯仰角度值一样。仿人机器人对打乒乓球的系统由身体视觉系统、乒乓球轨迹预测系统以及运动控制系统三部分组成,参见图2。乒乓球轨迹预测视觉系统检测到乒乓球的信息后,根据空中飞行模型和碰撞模型进行轨迹预测,将预测信息发送给运动控制计算机。预测信息包括乒乓球到达约定平面的坐标即目标点和剩余时间t。运动控制计算机收到视觉系统的信息,根据当前的身体姿态俯仰角度P进行击球运动规划。机器人将在剩余时间t内由当前状态加、减速手臂到达目标击球点完成击球动作。由于击球过程中手臂加速度很大,机器人踝关节具有柔性,击球时刻身体姿态俯仰角变为Q,导致机器人击球时刻身体俯仰角度产生误差,此误差为e = Q-P。因此,通过检测击球时刻的身体俯仰角度Q和动作规划时刻的身体俯仰角度P,即可测量出机器人俯仰角度误差。这种误差和剩余时间有确定的对应关系,即满足e = f(t),因为剩余时间决定了机器人手臂的响应时间和动作剧烈程度。为了减小误差,通过实验得到击球时刻身体俯仰角度误差e与剩余时间t对应关系。根据该对应关系,利用踝关节的俯仰方向自由度对机器人击球作业身体俯仰角度误差e进行补偿。误差产生及补偿过程如图3所示。其具体实施方案为第一步,在已搭建的仿人机器人对打乒乓球系统的基础上进行实验,获取一次击球作业中击球时刻的身体俯仰角度误差e,流程图参见图4。步骤101 :对手发球后,乒乓球轨迹预测系统将剩余时间t以及球的轨迹预测信息发送给运动控制计算机,身体视觉系统将检测到的身体俯仰角度实时发送给运动控制计算机。步骤102 :运动控制计算机读取剩余时间t,身体俯仰角度P,执行动作规划算法,此时即为动作规划时刻。运动控制计算机通过对轨迹预测信息的处理控制机器人手臂击球。步骤103 :运动控制计算机读取乒乓球机器人击球时刻的身体俯仰角度Q。步骤104 :运动控制计算机进行误差计算e = Q-P。步骤105 :记录下这组实验数据,所述数据包括剩余时间t,击球时刻俯仰方向身
体角度误差e。第二步,多次重复第一步的过程,获得连续击球时的身体俯仰角度误差数据组。过程为通过若干实验得到击球数据组,也即误差数据组,实验次数以能够确定乒乓球对 打作业时剩余时间的变化范围为准。击球数据组形式为(剩余时间t、对应的击球时刻身体俯仰角度误差e)。对于所有误差数据组,假设在m次击球作业过程中,要求的剩余时间值有m个,对应的击球时刻身体俯仰角度误差也为m个,则误差数据组为(&,e0), (t:,
ei),......(Vlje^1)0对于仿人机器人乒乓球对打作业,m = 200即可确定剩余时间范围,
即误差数据组为(h,e0), (tp ei),......(t199,e199)。根据实验确定剩余时间的变化区间,剔除掉重复的数据,则新的误差数据组为(tQ,e0), (t1Jei),......(tw, , b
为新的误差数据组数量,且tmin = t0 < <...... < tb_i = t_。由于仿人机器人平台和
实验环境影响,b的大小以及新的误差数据组会有差别。实验过程中的误差数据组不同,说明俯仰角度误差和剩余时间的对应关系不同,反映了特定的乒乓球对打作业环境下仿人机器人本身机构、控制性能不同。第三步,对通过实验获得的身体姿态俯仰角度误差数据组进行处理。实验得到的误差数据都是离散的实验值,而在实际作业中出现的数据可能是此范围内的任意值,此处将俯仰角度误差视为剩余时间的函数,并采用给出的角度误差确定公式计算误差,公式
权利要求
1.一种仿人机器人身体姿态误差的补偿方法,其中所述仿人机器人具有关节,所述方法包括以下步骤 对所述仿人机器人的关节的动作进行规划; 检测与所述仿人机器人的所述动作相关的参数信息; 根据所述参数信息确定所述仿人机器人的角度误差; 将所述角度误差设置为所述关节的动作规划值的补偿角度值。
2.根据权利要求I所述的方法,其特征在于,所述参数信息为要求的动作完成时间。
3.根据权利要求I所述的方法,其特征在于,所述角度误差为俯仰角度误差。
4.根据权利要求I所述的方法,其特征在于,所述确定仿人机器人的角度误差的步骤包括 检测仿人机器人动作规划时刻和动作完成时刻的身体姿态俯仰角度; 根据实验记录的身体姿态俯仰角度,取得一次作业过程的误差数据组,包含俯仰角度误差、要求的动作完成时间; 用实验方法获得若干组机器人作业要求的动作完成时间不同时,机器人身体姿态俯仰角度误差数据组,并通过处理使得到的新的数据组能在可能的取值范围内连续取值,构造出数据组中俯仰角度误差与要求的动作完成时间的对应关系。
5.根据权利要求I所述的方法,其特征在于,所述关节包括踝关节。
6.一种仿人机器人身体姿态角度误差的补偿装置,包括 动作规划模块,用于对所述仿人机器人的关节的动作进行规划; 参数信息检测模块,用于检测与所述仿人机器人的所述动作相关的参数信息; 角度误差确定模块,用于根据所述参数信息确定所述仿人机器人的角度误差; 角度误差补偿模块,用于将所述角度误差设置为所述关节的动作规划值的补偿角度值。
7.根据权利要求6所述的装置,其特征在于,所述参数信息为要求的动作完成时间。
8.根据权利要求6所述的装置,其特征在于,所述角度误差为俯仰角度误差。
9.根据权利要求6所述的装置,其特征在于,所述角度误差确定模块包括 用于检测仿人机器人动作规划时刻和动作完成时刻的身体姿态俯仰角度的单元; 用于根据实验记录的身体姿态俯仰角度,取得一次作业过程的误差数据组,包含俯仰角度误差、要求的动作完成时间的单元; 用于用实验方法获得若干组机器人作业要求的动作完成时间不同时,机器人身体姿态俯仰角度误差数据组,并通过处理使得到的新的数据组能在可能的取值范围内连续取值,构造出数据组中俯仰角度误差与要求的动作完成时间的对应关系的单元。
10.根据权利要求6所述的装置,其特征在于,所述关节包括踝关节。
全文摘要
本发明公开了一种仿人机器人身体姿态角度误差的补偿方法和装置,属于机器人领域。所述方法包括检测单元检测仿人机器人俯仰角度误差;将俯仰角度误差设置为踝关节规划值的补偿角度值。所述装置包括角度误差确定模块,用于检测和处理俯仰角度误差;角度误差补偿模块,用于将确定的俯仰角度误差利用踝关节俯仰方向自由度进行补偿。本发明提供的补偿方法和装置能够补偿仿人机器人快速、连续、定目标点作业过程中身体姿态俯仰角度误差,保证了仿人机器人作业时的快速性和末端姿态精度。
文档编号B25J9/00GK102717381SQ201210182928
公开日2012年10月10日 申请日期2012年6月6日 优先权日2012年6月6日
发明者余张国, 张思, 李敬, 王化平, 许威, 陈学超, 马淦, 黄强 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1