具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
机器人的硬件部分由机械组件、控制器、传感器等部分构成,由整体结构件结合到一起,同时也由专用的软件系统作为支撑,其中,机械组件包括机身、机械腿和机械足;机身的各个关节上设置有传感器,用于在机器人运动过程中,根据传感器采集到的数据控制机器人;控制器用于控制机器人的各个关节进行运动。
实施例1
根据本发明实施例,提供了一种机器人的控制方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种机器人的控制方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取运行时长和运动数据。
其中,运行时长为机器人运行的时长,运动数据为与机器人对应的目标对象运动的数据。
上述步骤中的机器人可以为外骨骼机器人,上述步骤中的目标对象可以是外骨骼穿戴者。其中,外骨骼机器人是一种人机结合的可穿戴式机器人,即穿戴在使用者身体外部的一种智能机械结构,将人体感觉器官、人体思维器官、人体运动器官与机器感知系统、机器智能处理中心、机器控制执行系统相耦合的可穿戴设备。
另外,外骨骼穿戴者和外骨骼机器人可以是一个整体的耦合系统,也称作人体与外骨骼耦合系统。人体与外骨骼在人体各处(例如:脚步、小腿部、大腿部、腰部等部位)通过绑带、夹套等连接结构进行连接,实现外骨骼在人体上的锚定,外骨骼跟随人体的肢体运动,起到支撑和助力的作用。
上述步骤中的运动时长可以是外骨骼机器人从启动时刻到当前时刻之间的运动时长。
在一种可选的实施例中,可以通过外骨骼机器人与人体关节贴合处的传感器测量人体各个关节的运动数据;其中,传感器可以是加速度传感器、速度传感器等。
在另一种可选的实施例中,可以采用光学运动捕捉仪记录人体运动数据,通过运动捕捉仪获取的人体多关节的运动数据都是某一特定时间段内的离散时间点上的多条运动轨迹数据。
步骤S104,根据运动数据,生成第一曲线。
其中,第一曲线用于表征目标对象的运动轨迹。
上述步骤中的第一曲线可以通过三次B-样条曲线、三次及三次以上的多项式曲线、四次及四次以上的B-样条曲线、NURBS曲线、贝塞尔曲线等拟合得到。
由于运动数据为离散的数据序列,而两个数据序列中间状态的运动数据是未知的,同时由于运动测量系统、运动测量方法、运动测量操作等环节引起的问题会导致数据测量存在误差,从而使得这些离散的运动数据存在跳变。
针对上述离散的运动数据中存在跳变的问题,可以将运动数据进行样条曲线的平滑拟合,生成第一曲线,使用这种方法可以平滑和精确的拟合测量获得人体运动点(记作gfitting(time)),由于生成的第一曲线具有平滑连续的数学性质,因此,能够保证拟合后的运动曲线gfitting(time)的位置连续、速度连续和加速度连续,可以减少电机的不平滑指令输入进而减少电机的振动,使得机器人的运动表现为光滑平顺,从而提高外骨骼机器人穿戴者的穿戴体验。
步骤S106,基于运行时长对第一曲线进行调整,生成目标曲线。
外骨骼机器人作为机电系统,受到能量和功率的限制,在启动时,无法实现位置、速度的阶跃输入,且加速度的剧烈跳变会给外骨骼系统带来振动、冲击等损害。需要说明的是,实际人体从运动启动到稳定步态是平稳的瞬态过程。
针对于上述问题中的外骨骼机器人在启动时会出现振动、冲击等问题,可以在机器人启动的时间段内,进行启动瞬态平滑处理,具体的,可以通过目标调制信号对第一曲线进行调制,生成目标曲线,即启动瞬态平滑后的运动数据函数。
在一种可选的实施例中,对第一曲线进行调整可以是对第一曲线的波幅进行调制,使得生成的目标曲线更加的平滑,以确保机器人可以在启动瞬态过程和持续运动过程中都能够保持系统平稳顺畅。
在另一种可选的实施例中,可以根据运动时长确定对应的调制信号,当运动时长小于一定数值时,说明外骨骼机器人处于启动的时间段,此时,可以利用与启动时间段对应的调制信号对第一曲线的波幅进行调制,使得生成的第一曲线可以达到一定的平滑程度,从而避免由于关节功率需求过大,导致机电系统剧烈振动等问题;当运动时长大于一定数值时,说明外骨骼机器人已经不处于启动的时间段了,此时,可以利用与持续运动时间段对应的调制信号对第一曲线的波幅进行调制,使得生成的第一曲线可以达到一定的平滑程度,使得机器人在持续运动的过程中,关节功率能够变化平稳,从而保证系统运行平稳顺畅。
步骤S108,确定目标曲线对应的目标数据,并利用目标数据控制机器人的运动状态。
上述步骤中的目标数据可以是能够应用于外骨骼机器人对应运动控制规划中的加速度、速度等数据,其中,运动控制规划可以是关节的运动控制规划,还可以是步态的运动控制规划等。
在一种可选的实施例中,可以根据运动控制规划的需求从目标曲线中选取所需要的目标数据,从而应用在运动控制规划的过程中,以便控制机器人进行运动。
通过本发明上述实施例,在获取到机器人的运动时长和与机器人对应的目标对象的运动数据之后,可以根据运动数据生成用于表征机器人的运动轨迹的第一曲线,然后根据运动时长对第一曲线进行调整,生成目标曲线,确定目标曲线对应的目标数据,并利用目标数据控制机器人的运动状态,实现机器人的控制过程中,通过将目标对象的运动数据拟合成曲线,可以避免由于获取的运动数据中存在跳变,而造成的机器人的控制精确度较低,并根据运动时长对第一曲线进行调整,使生成的目标曲线可以更加的平滑,在采用与目标曲线对应的目标数据控制机器人运动时,可以使机器人的各个关节更加的平稳顺滑,避免由于关节功率需求过大而导致的机器人的机电系统剧烈振动等问题,进而解决了相关技术中由于采集到的数据存在剧烈跳变,从而导致机器人的控制效果较差的技术问题。
可选地,基于运行时长对第一曲线进行调整,生成目标曲线,包括:基于运行时长,确定目标调制信号,其中,目标调制信号用于调节第一曲线的波幅;获取目标调制信号和第一曲线的乘积,得到目标曲线。
上述步骤中的目标调制信号可以是预先设置的函数。
在一种可选的实施例中,可以将经过特殊设计的过渡瞬态函数或者常函数作为调制信号,将第一曲线对应的函数作为载波信号,进行运动波幅的调制,具体的,可以获取目标调制信号和第一曲线在对应时间点上的数据乘积,从而得到目标曲线。
需要说明的是,目标曲线的平滑程度可以分为C1平滑程度和C2平滑程度,其中,采用C1平滑程度的目标曲线对应的目标数据控制外骨骼机器人,可以使外骨骼机器人在运动位置、运动速度上保持连续,在加速度上具有合理的上限,从而防止关节功率需求过大、机电系统剧烈振动等问题;采用C2平滑程度的目标曲线对应的目标数据控制机器人,可以使机器人在运动位置、运动速度、运动加速度上都能够保持连续,从而保证外骨骼机器人的关节功率变化平稳,进而保证外骨骼机器人的机电系统运行平稳顺畅。用户可以根据需求对第一曲线进行调整,使生成的目标曲线可以达到所需要的平滑程度。
可选地,基于运行时长,确定目标调制信号,包括:判断运行时长是否大于目标时间阈值;在运行时长大于目标时间阈值的情况下,确定第一预设函数为目标调制信号,其中,第一预设函数为常函数;在运行时长小于或等于目标时间阈值的情况下,确定第二预设函数为目标调制信号,其中,第二预设函数为瞬态函数。
上述步骤中的目标时间阈值为时间过渡阈值,即外骨骼机器人从启动时间到平稳运行时间之间的阈值,其可以由用户自行设定,也可以是通过多次实验得到的可以使机器人控制效果达到最佳的目标时间阈值。
上述步骤中的第一预设函数可以为常函数1;上述步骤中的第二预设函数可以为经过特殊设计的瞬态函数,也可以称作过渡瞬态函数(记为f(t))。
在一种可选的实施例中,可以判断机器人的运行时长是否大于目标时间阈值,在运行时长大于目标时间阈值的情况下,说明该机器人未处于启动时间段,此时,可以将常函数1作为目标调制信号,将第一曲线对应的函数作为载波信号以进行运动波幅的调制,其输出仍为对应时间点上的运动数据;在运行时长小于目标时间阈值的情况下,说明机器人处于启动时间段,此时,可以将过渡瞬态函数作为目标调制信号,将第一曲线对应的函数作为载波信号以进行运动波幅的调制,输出为过渡瞬态函数和第一曲线对应的函数在对应时间点上的数值乘积,即调制后的运动数据曲线函数,也可以称作启动瞬态平滑后的运动数据函数。
可选地,该方法还包括:获取机器人的步态周期,其中,步态周期为机器人运行一个步态所需要的时间;基于步态周期和预设比例,确定目标时间阈值。
在一种可选的实施例中,可以预先获取机器人的步态周期,并根据步态周期和预设比例的乘积来确定目标时间阈值。
具体的,可以以机器人的稳定步态周期时间T为基准依照经验设定目标时间阈值,例如:0.5T、1T、2T。需要说明的是,经过实验认证,确定以一个稳定步态周期的时间值T作为目标时间阈值时机器人的控制效果最好,即,该目标时间阈值下的步态周期比例为t=1。
可选地,该方法还包括:基于预设角频率,构建正弦函数;基于正弦函数,构建第二预设函数。
上述步骤中的第二预设函数也称过渡瞬态函数。
在一种可选的实施例中,过渡瞬态函数可以通过如下sin函数进行构造:
f(t)=[sin(π·t-π/2)+1]|/2;
上述sin函数构造的过渡瞬态函数的外观形式如图2所示,其中,角频率为π,设置该值是为了构造的sin函数在一个稳定运动的时间周期内,即完成从函数的波谷到波峰的过渡变化;相移为π/2,使得启动时间在0处的函数处于波谷位置;向上平移1使得函数值在启动时间时的数值为0;幅值压缩1/2是为了在波峰时的函数值为1。该过渡瞬态函数与常值函数1连接构成外骨骼机器人启动瞬态步态的幅值调制信号。
需要说明的是,过渡瞬态函数f(t)的形态可以为S函数,过渡瞬态函数需要满足在0时刻上的函数值为0,一阶导数都为0;S形函数在目标时间阈值Th时刻上的函数值为1,一阶导数为0;S形函数的中间过程的一阶导数具有连续性,可以称之为目标曲线达到C1平滑程度的必备条件,这是由机器人的机电系统的物理性质所决定的,否则将对机器人的驱动器、电机、电路、结构等造成破坏,因此,过渡瞬态函数需要为S形函数,这是运动规划与控制执行时需要满足的条件,也即,第二预设函数需要为S形函数。
其中,sin函数的一阶导如下所示:
df(t)=π·cos(π·t-π/2)/2;
由上可知,在0时刻上的函数值和一阶导数为0,在目标时间阈值Th时刻上(t=1),函数值为1而一阶导数为0,满足达到C1平滑程度的必备条件。
上述步骤中的sin函数满足C1平滑程度的必备条件,可以作为过渡瞬态函数,但是性能上不是最优的,如图3所示,因为该函数的二阶导数(对应运动步态的加速度)在启动时刻0上的值不为0,且该函数的二阶导数在时间过渡阈值点上与常值函数切换时数值上不为0(即加速度不连续),即整体的幅值调制信号不满足C2连续这一性能条件,在启动瞬态运动控制中(即启动瞬时0时刻和时间过渡阈值时刻)可能存在加速度不连续而引起的系统振动。因此,在不需要外骨骼机器人达到最优的控制效果时,可以通过sin函数构造的过渡瞬态函数对第一曲线进行处理,生成目标曲线,可以在利用该目标曲线对应的目标数据达到一定控制效果的同时,降低系统的功率损耗。
可选地,该方法还包括:基于平滑阶跃函数,构建第二预设函数。
在一种可选的实施例中,过渡瞬态函数可以通过如下的平滑阶跃函数进行构造:
其中,t可以是外骨骼机器人在一个步态周期内的运行时长,N=1,2,3,4,···。
当N=1时,
f(t)=-2t3+3t2
f′(t)=-6t2+6t;
f″(t)=-12t+6
当N=2时,
f(t)=6t5-15t4+10t3
f′(t)=30t4-60t3+30t2
f″(t)=120t3-180t2+60t
当N=3时,
f(t)=-20t7+70t6-84t5+35t4
f′(t)=-140t6+420t5-420t4+140t3
f″(t)=-840t5+2100t4-1680t3+420t2
当N=4时,
f(t)=70t9-315t8+540t7-420t6+126t5
f′(t)=630t8-2520t7+3780t6-2520t5+630t4
f″(t)=5040t7-17640t6+22680t5-12600t4+2520t3
其中,具体的N值的选择可以取决于外骨骼机器人需要的瞬态平滑性能以及计算能力。当N≥5,考虑到计算的复杂度,可以不进行采用。
上述步骤中通过平滑阶跃函数构造的过渡瞬态S形函数以及常值函数,在时间上连接组成的幅值调制信号,如图4所示为基于平滑阶跃函数的幅值调制与过渡函数。过渡瞬态S形函数对应的一阶导数(即速度)也是连续的,如图5所示为基于平滑阶跃函数的幅值调制信号的速度。如图6所示为基于平滑阶跃函数的幅值调制信号的加速度,过渡瞬态S形函数对应的二阶导数(即加速度)在N=2,3,4,…时是连续的(即C2连续);但是N=1时,基于平滑阶跃函数构造的幅值调制信号性能和基于sin函数构造的幅值调制信号的性能相同,都只满足C1必备条件;当N>=2时,基于平滑阶跃函数构造的幅值调制信号性能优于基于sin函数构造的幅值调制信号,且,上述构造的平滑阶跃函数的幅值调制信号(N>=2)具有至少C2连续性。因此,在需要外骨骼机器人达到最优的控制效果时,可以通过平滑阶跃函数构造的过渡瞬态函数对第一曲线进行处理,可以使生成的目标曲线平滑度较高,从而利用该目标曲线对应的目标数据可以提高机器人的控制效果。
可选地,根据运动数据,生成第一曲线之后,该方法还包括:对第一曲线进行周期延拓,得到第二曲线,其中,第二曲线的时间长度为第一曲线的时间长度的预设倍数;基于运行时长和第二曲线,生成目标曲线。
上述步骤中的预设倍数可以是用户预先设置的延拓倍数。
由于机器人各个关节上贴合的传感器捕捉到的数据仅能涵盖有限的运动时间,如稳定运动步态的一个周期内的运动数据,但是实际人体穿戴外骨骼需要执行的运动时间可能包含多个甚至非常多个稳定运动周期(如长时间穿戴外骨骼的负重行走情况),这是由于运动测量时间有限引起的问题。
针对与上述问题,可以将第一曲线在时间上进行周期延拓,得到第二曲线以及第二曲线的函数表示,用gcontinuati on(time)表示。为了满足运动控制曲线生成算法的实时性,整个运动曲线的光滑平顺、运动时间的任意扩展等外骨骼控制需求,曲线的延拓需要满足,1、后面延拓部分的曲线不影响之前已获得的拟合运动曲线;2、周期延拓的不连续部分也能够平滑拟合;3、延拓部分时间长度可以是稳定运动周期的整数倍,也可以是任意时间段长度的延拓。其中,三次及三次以上的B样条曲线、NIRBS曲线等能够满足需求。
在一种可选的实施例中,基于运行时长和第二曲线,生成目标曲线在数学上的描述如下:
当t<1时,
gmodulated(t)=f(t)·gcontinuati on(t);
当t≥1时,
gmodulated(t)=1·gcontinuati on(t);
其中,gmodulated(t)为生成的目标曲线的函数表示,1为目标时间阈值。
可选地,对第一曲线进行周期延拓,得到第二曲线,包括:根据运行时长和步态周期的比值,得到第一曲线的单位步态周期比例;根据预设倍数对单位步态周期比例进行延拓,得到目标步态周期比例;根据目标步态周期比例,生成第二曲线。
在延拓的过程中,需要引入新的时间变量作为变量转化,该变量以步态周期时间T作为时间单位,即/>得到第一曲线的单位步态周期比例,这样定义和转化时间相关变量是为了实现不同步态、不同运动、不同时间长度的统一描述,使得规划的外骨骼运动函数具有时间尺度上的不变性。经过数据拟合、周期延拓以及时间转化后得到的第二曲线对应的函数,也称步态曲线函数,记为gcontinuati on(t),其数学描述为:
式中t称为步态周期比例,是单位步态周期比例的延拓;k∈Ν为自然数,称为延拓倍数。
进一步地,可以将得到的gcontinuati on(t)在启动时间内,进行启动瞬态平滑处理,当实际运动步态的运行时间小于目标时间阈值时,将过渡瞬态函数作为调制信号,并将周期延拓后的得到的第二曲线对应的函数gcontinuati on(t)作为载波信号,进行运动波幅的调制。输出为过渡瞬态函数f(t)和周期运动数据gcontinuati on(t)在对应时间点上的数值乘积,即调制后的目标曲线的函数表示,也可以说是启动瞬态平滑后的运动数据函数(也称为运动幅值调制后的运动数据函数),记为gmodulated(t)。
当实际运动步态的运行时间超过了目标时间阈值时,将调制信号换为常函数1,将周期运动数据gcontinuati on(t)作为载波信号,进行运动波幅调制,输出仍为对应时间点上的周期运动数据。实际上,运动时间超过目标时间阈值之后,不再对已获得运动数据进行启动瞬态平滑的处理。
可选地,根据运动数据,生成第一曲线,包括:利用样条曲线对运动数据进行拟合,生成第一曲线。
上述步骤中的样条曲线可以为三次B-样条曲线、四次及四次以上的B-样条曲线,NURBS曲线等。
下面结合图7至图13对本发明一种优选的实施例进行详细说明。
外骨骼机器人是穿戴式的助力、助行、负重机器人系统,具有和人体相似的机构构型、运动自由度、以及运动范围。其中,人体关节运动自由度对应的外骨骼运动关节自由度以相应的人体关节运动自由度来命名。比如,人体有左髋屈曲运动、右髋屈曲运动、左膝关节运动、右膝关节运动、左踝关节运动、右踝关节运动,则外骨骼对应关节运动的命名也为左髋屈曲、右髋屈曲、左膝关节、右膝关节、左踝关节、右踝关节。人体有更多关节,对应外骨骼是否有相对应关节,视乎外骨骼的产品定位和系统设计而定,但不会影响外骨骼运动规划上的实现。
如图7所示为外骨骼机器人多关节运动步态规划方法的系统流程图,人体运动扑捉系统获得的人体各个关节运动数据作为本方法的输入。在捕捉的人体运动实验数据中,通过数据剪裁等方法,去除无效、冗余等数据,获得近似稳定步态下的人体各个关节的近似单周期运动数据,需要说明的是,各个运动数据不要求是严格的稳定步态和严格的单周期。即获得了需要的离散运动数据序列gdiscrete(time),该离散运动数据序列中包含了与外骨骼运动自由度对应的人体运动,如图7中的左髋屈曲、右髋屈曲、左膝关节、右膝关节、左踝关节、右踝关节等。对时间尺度按照稳定运动周期处理后,这些关节运动对应的运动数据序列如图8-图13各左侧子图中所示的参考采样点序列。
然后对单独的各个关节运动的离散采样序列点进行平滑拟合得到gfitting(time),即单周期状态下的各个关节的光滑拟合运动函数,如图7中表示的单周期左髋角度、单周期右髋角度、单周期左膝角度、单周期右膝角度、单周期左踝角度、单周期右踝角度;如图8-图13中所示步态周期比例值在[1,0)之间的拟合曲线,是将离散的运动数据序列拟合成曲线的程序化过程;“拟合数据的周期扩展”模块,是对拟合后的曲线进行周期延拓的程序化过程,经过该模块后获得稳态周期运动数据gcontinuati on(t),在图8-图13中的各个关节运动曲线图中用“实线”表示。
对该稳态周期运动数据函数进行启动瞬态的平滑处理,即运动波幅调制,可以使外骨骼机器人的各个关节顺畅运行,目标时间阈值的选取决定了启动瞬态平滑过程对稳态周期运动数据函数的调制(影响)时间的长短,超过时间过渡阈值的稳态周期运动数据函数不在受到过渡瞬态函数的影响,此时运动步态进入稳定周期状态,之所以需要启动瞬态的平滑处理,是为了解决外骨骼对关节运动从运动初始(比如静止状态)到稳定运动之间的平滑过渡。根据构造的过渡瞬态函数的不同,各个关节各自单独的运动数据函数满足C1连续(必须达到的平滑要求)或C2连续(推荐的平滑要求),瞬态过渡函数可以通过sin函数或平滑阶跃函数进行构造。将目标时间阈值,即时间过渡阈值Th设置为稳态运动周期时间长度T,实际使用中可以选择其他时间长度,这决定了启动瞬态的时长,参考图7中的“周期数据的启动瞬态平滑(运动波幅调制)”模块,经过该模块得到启动瞬态平滑后的运动数据函数gmodulated(t)(即调制后的数据函数),如图8-图13各右侧子图虚线表示的各个关节的调制运动数据函数。
经过如上处理,获得满足外骨骼各个关节控制要求的、模仿人体运动的、各个不同关节之间自然协调的、外骨骼多关节控制的数据函数。最后由外骨骼控制器及各个关节的驱动器及电机实现期望的运动控制,完成外骨骼机器人的整个运动控制过程,如图7所示。
需要说明的是,图8至图13举例的是人体正常行走步态的6个运动自由度的采样数据和本方法实现的多关节运动规划方法,对于其他不同步态和其他不同运动自由度的数据会有很大的差异,甚至同样的实验设置的不同测试对象(被测试的不同参与者)运动采样数据也会因人而异。但无论采样数据如何有差异,上述方案的适用性是一致的。
图8为左髋屈曲角度的拟合、扩展及启动瞬态平滑的示意图,图9为右髋屈曲角度的拟合、扩展及启动瞬态平滑的示意图,图10为左膝关节角度的拟合、扩展及启动瞬态平滑的示意图,图11为右膝关节角度的拟合、扩展及启动瞬态平滑的示意图,图12为左踝关节角度的拟合、扩展及启动瞬态平滑的示意图,图13为右踝关节角度的拟合、扩展及启动瞬态平滑的示意图。
通过上述步骤可以将人体运动步态用于外骨骼的多关节协调运动控制与规划,提高了外骨骼各个关节之间的运动协调性;通过对人体运动采样点的拟合,提高了外骨骼对人体运动模仿的精确程度,提高了外骨骼穿戴在人体上作耦合运动时的人机协作性能。对稳定运动数据函数的延拓以及对启动瞬态的运动波幅调制,实现在高精度模仿控制情况下的重复性和柔顺性,提高了上述步骤中的方法的可实现性(周期重复减少采样数据,只需要一个稳定运动步态周期的数据即可)和外骨骼多关节运动步态规划的性能,使得各个关节运动更加的顺滑,避免了冲击和振动。
实施例2
根据本发明实施例,还提供了一种机器人的控制装置,该装置可以执行上述实施例中的机器人的控制方法,具体实现方式和优选应用场景与上述实施例相同,在此不做赘述。
图14是根据本发明实施例的一种机器人的控制装置的示意图,如图14所示,该装置包括:
获取模块142,用于获取运行时长和运动数据,其中,运行时长为机器人运行的时长,运动数据为与机器人对应的目标对象运动的数据;
第一生成模块144,用于根据运动数据,生成第一曲线,其中,第一曲线用于表征目标对象的运动轨迹;
第二生成模块146,用于基于运行时长对第一曲线进行调整,生成目标曲线;
控制模块148,用于确定目标曲线对应的目标数据,并利用目标数据控制机器人的运动状态。
可选地,第二生成模块,包括:第一确定单元,用于基于运行时长,确定目标调制信号,其中,目标调制信号用于调节第一曲线的波幅;第一获取单元,用于获取目标调制信号和第一曲线的乘积,得到目标曲线。
可选地,第一确定单元,包括:判断子单元,用于判断运行时长是否大于目标时间阈值;确定子单元,用于在运行时长大于目标时间阈值的情况下,确定第一预设函数为目标调制信号,其中,第一预设函数为常函数;确定子单元还用于在运行时长小于或等于目标时间阈值的情况下,确定第二预设函数为目标调制信号,其中,第二预设函数为瞬态函数。
可选地,该装置还包括:获取模块还用于获取机器人的步态周期,其中,步态周期为机器人运行一个步态所需要的时间;确定模块,用于基于步态周期和预设比例,确定目标时间阈值。
可选地,该装置还包括:构建模块,用于基于预设角频率,构建正弦函数;构建模块还用于基于正弦函数,构建第二预设函数。
可选地,构建模块还用于基于平滑阶跃函数,构建第二预设函数。
可选地,该装置还包括:延拓模块,用于对第一曲线进行周期延拓,得到第二曲线,其中,第二曲线的时间长度为第一曲线的时间长度的预设倍数;第三生成模块,用于基于运行时长和第二曲线,生成目标曲线。
可选地,延拓模块包括:第二获取单元,用于根据运行时长和步态周期的比值,得到第一曲线的单位步态周期比例;延拓单元,用于根据预设倍数对单位步态周期比例进行延拓,得到目标步态周期比例;生成单元,用于根据目标步态周期比例,生成第二曲线。
可选地,生成单元包括:生成子单元,用于利用样条曲线对运动数据进行拟合,生成第一曲线。
实施例4
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图14所示实施例的方法步骤,具体执行过程可以参见图1-图14所示实施例的具体说明,在此不进行赘述。
存储介质所在设备可以是机器人。
实施例5
根据本发明实施例,还提供了一种机器人,包括:处理器和存储器;其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行上述实施例1中的机器人的控制方法。
通过本发明上述实施例,在获取到机器人的运动时长和与机器人对应的目标对象的运动数据之后,可以根据运动数据生成用于表征机器人的运动轨迹的第一曲线,然后根据运动时长对第一曲线进行调整,生成目标曲线,确定目标曲线对应的目标数据,并利用目标数据控制机器人的运动状态,实现机器人的控制过程中,通过将机目标对象的运动数据拟合成曲线,可以避免由于获取的运动数据中存在跳变,而造成的机器人的控制精确度较低,并根据运动时长对第一曲线进行调整,使生成的目标曲线可以更加的平滑,在采用与目标曲线对应的目标数据控制机器人运动时,可以使机器人的各个关节更加的平稳顺滑,避免由于关节功率需求过大而导致的机器人的机电系统剧烈振动等问题,进而解决了相关技术中由于采集到的数据存在剧烈跳变,从而导致机器人的控制效果较差的技术问题。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。