用于规划移动设备速度的方法及装置
技术领域
本公开涉及运动控制技术领域,具体涉及一种用于规划移动设备速度的方法、用于规划移动设备速度的装置、计算机可读存储介质及电子设备。
背景技术
对于安保巡逻机器人,一般为寻迹运动,即已知规划路径,机器人沿固定轨迹巡航。安保巡逻机器人所用车型一般为前转后驱型(即后轮负责驱动,前轮专注于转向工作,转向时机器人反应更加敏捷),其特点是不能实现原点转弯,在一个小的Δt内认为是圆周运动,意味着机器人不能严格在其规划的路径上运动。
一般做法是,将轨迹规划离散为一系列的目标点,机器人通过遍历所有目标点的方法实现寻迹,将机器人寻迹的问题转化为从当前状态运动到下一个目标点的问题。
机器人当前状态和目标状态都存在两个维度,即位置和姿态,如果机器人的转弯半径较大且距离目标点较近,机器人通过一个圆周运动完全准确的到达目标位置和目标姿态几乎是不可能的。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种用于规划移动设备速度的方法、用于规划移动设备速度的装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术的限制而导致的移动设备无法较为准确到达目标位姿的技术问题。
根据本公开的一个方面,提供一种用于规划移动设备速度的方法,包括:根据移动设备的目标线速度获得目标权重系数;根据所述移动设备的当前位姿、目标位姿以及所述目标权重系数确定所述移动设备的运动圆心角;根据所述运动圆心角和所述目标线速度计算所述移动设备的目标角速度。
在本公开的一种示例性实施例中,根据移动设备的目标线速度获得目标权重系数,包括:建立所述移动设备运动的模糊控制器;将所述目标线速度输入至所述模糊控制器;所述模糊控制器根据所述目标线速度输出所述目标权重系数。
在本公开的一种示例性实施例中,建立所述移动设备运动的模糊控制器,包括:设定所述移动设备的线速度等级和线速度模糊集;设定所述移动设备的权重系数等级和权重系数模糊集;根据所述线速度等级、所述线速度模糊集以及所述权重系数等级、所述权重系数模糊集获得线速度隶属度和权重系数隶属度之间的模糊关系。
在本公开的一种示例性实施例中,根据所述线速度等级、所述线速度模糊集以及所述权重系数等级、所述权重系数模糊集获得线速度隶属度和权重系数隶属度之间的模糊关系,包括:根据所述线速度等级和所述线速度模糊集确定线速度隶属度函数;根据所述权重系数等级和所述权重系数模糊集确定权重系数隶属度函数;根据所述线速度隶属度函数分别计算所述线速度等级在所述线速度模糊集中各个元素上的线速度隶属度;根据所述权重系数隶属度函数分别计算所述权重系数等级在所述权重系数模糊集中各个元素上的权重系数隶属度;根据所述线速度等级在所述线速度模糊集中各个元素上的线速度隶属度和所述权重系数等级在所述权重系数模糊集中各个元素上的权重系数隶属度,获得线速度隶属度和权重系数隶属度之间的模糊关系。
在本公开的一种示例性实施例中,所述线速度模糊集为V={VSv,Sv,Mv,Fv,VFv},所述权重系数模糊集为A={VSα,Sα,Mα,Bα,VBα};建立所述移动设备运动的模糊控制器,还包括:
根据所述线速度模糊集和所述权重系数模糊集制定如下模糊规则:若V=VSv,则A=VSα;若V=Sv,则A=Sα;若V=Mv,则A=Mα;若V=Fv,则A=Bα;若V=VFv,则A=VBα。
在本公开的一种示例性实施例中,所述模糊控制器根据所述目标线速度输出所述目标权重系数,包括:根据所述线速度隶属度函数获得所述目标线速度在所述线速度模糊集上的隶属度;根据所述模糊关系和所述目标线速度在所述线速度模糊集上的隶属度,获得所述目标权重系数的隶属度;根据最大隶属度原则,对所述目标权重系数的隶属度解模糊,获得所述目标权重系数。
在本公开的一种示例性实施例中,所述当前位姿包括所述移动设备的当前位置S、当前姿态角θ0;所述目标位姿包括所述移动设备的目标位置G、目标姿态角θg。
在本公开的一种示例性实施例中,根据以下公式确定所述移动设备的运动圆心角θ:
θ=α(θg-θ0)+(1-α)(θ1-θ0)
上述公式中,α为所述目标权重系数θ1为圆O与目标位置G的相切姿态角,其中圆O是同时过点当前位置S和目标位置G、且与当前姿态角θ0相切的圆。
在本公开的一种示例性实施例中,根据所述运动圆心角和所述目标线速度计算所述移动设备的目标角速度,包括:根据所述当前位置和所述目标位置之间的距离以及所述运动圆心角获得所述移动设备运动的圆周的半径;根据所述半径和所述目标线速度获得所述目标角速度。
在本公开的一种示例性实施例中,还包括:以设定频率将所述目标线速度和所述目标角速度发送至所述移动设备的控制单元,以便于所述移动设备根据所述目标线速度和所述目标角速度从所述当前位置运动至所述目标位置。
在本公开的一种示例性实施例中,所述移动设备为前转后驱型机器人。
根据本公开的一个方面,提供一种用于规划移动设备速度的装置,包括:目标权重系数获得模块,配置为根据移动设备的目标线速度获得目标权重系数;运动圆心角确定模块,配置为根据所述移动设备的当前位姿、目标位姿以及所述目标权重系数确定所述移动设备的运动圆心角;目标角速度计算模块,配置为根据所述运动圆心角和所述目标线速度计算所述移动设备的目标角速度。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一所述的用于规划移动设备速度的方法。
根据本公开的一个方面,提供一种电子设备,包括处理器和存储器;其中,存储器用于存储所述处理器的可执行指令,所述处理器被配置为经由执行所述可执行指令来执行以上任一所述的用于规划移动设备速度的方法。
本公开实施例所提供的用于规划移动设备速度的方法,通过移动设备的目标线速度获得目标权重系数,并根据所述移动设备的当前位姿、目标位姿以及所述目标权重系数确定所述移动设备的运动圆心角,之后可以根据所述运动圆心角和所述目标线速度计算所述移动设备的目标角速度,综合考虑了移动设备要移动到的目标点的目标位置和目标姿态两个约束条件,能够实现移动设备的速度的实时规划,使移动设备能够近似到达目标位置和目标姿态。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开一种示例性实施方式中用于规划移动设备速度的方法的步骤流程图。
图2示意性示出本公开一示例性实施方式中用于规划移动设备速度的方法的示意图。
图3示意性示出本公开一示例性实施方式中线速度隶属度函数的示意图。
图4示意性示出本公开一示例性实施方式中权重系数隶属度函数的示意图。
图5示意性示出本公开一种示例性实施方式中用于规划移动设备速度的装置的组成框图。
图6示意性示出本公开示例性实施方式中一种程序产品的示意图。
图7示意性示出本公开示例性实施方式中一种电子设备的模块示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施例使得本公开将更加全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示意性示出本公开一种示例性实施方式中用于规划移动设备速度的方法的步骤流程图。
如图1所示,本公开实施方式提供的用于规划移动设备速度的方法可以包括以下步骤。
在步骤S110中,根据移动设备的目标线速度获得目标权重系数。
在示例性实施例中,根据移动设备的目标线速度获得目标权重系数,可以进一步包括:建立所述移动设备运动的模糊控制器;将所述目标线速度输入至所述模糊控制器;所述模糊控制器根据所述目标线速度输出所述目标权重系数。
在示例性实施例中,建立所述移动设备运动的模糊控制器,可以进一步包括:设定所述移动设备的线速度等级和线速度模糊集;设定所述移动设备的权重系数等级和权重系数模糊集;根据所述线速度等级、所述线速度模糊集以及所述权重系数等级、所述权重系数模糊集获得线速度隶属度和权重系数隶属度之间的模糊关系。
在示例性实施例中,根据所述线速度等级、所述线速度模糊集以及所述权重系数等级、所述权重系数模糊集获得线速度隶属度和权重系数隶属度之间的模糊关系,可以进一步包括:根据所述线速度等级和所述线速度模糊集确定线速度隶属度函数;根据所述权重系数等级和所述权重系数模糊集确定权重系数隶属度函数;根据所述线速度隶属度函数分别计算所述线速度等级在所述线速度模糊集中各个元素上的线速度隶属度;根据所述权重系数隶属度函数分别计算所述权重系数等级在所述权重系数模糊集中各个元素上的权重系数隶属度;根据所述线速度等级在所述线速度模糊集中各个元素上的线速度隶属度和所述权重系数等级在所述权重系数模糊集中各个元素上的权重系数隶属度,获得线速度隶属度和权重系数隶属度之间的模糊关系。
在示例性实施例中,所述线速度模糊集为V={VSv,Sv,Mv,Fv,VFv},所述权重系数模糊集为A={VSα,Sα,Mα,Bα,VBα}。
在示例性实施例中,建立所述移动设备运动的模糊控制器,还可以包括:根据所述线速度模糊集和所述权重系数模糊集制定如下模糊规则:
若V=VSv,则A=VSα;
若V=Sv,则A=Sα;
若V=Mv,则A=Mα;
若V=Fv,则A=Bα;
若V=VFv,则A=VBα。
在示例性实施例中,所述模糊控制器根据所述目标线速度输出所述目标权重系数,可以进一步包括:根据所述线速度隶属度函数获得所述目标线速度在所述线速度模糊集上的隶属度;根据所述模糊关系和所述目标线速度在所述线速度模糊集上的隶属度,获得所述目标权重系数的隶属度;根据最大隶属度原则,对所述目标权重系数的隶属度解模糊,获得所述目标权重系数。
在步骤S120中,根据所述移动设备的当前位姿、目标位姿以及所述目标权重系数确定所述移动设备的运动圆心角。
在示例性实施例中,所述当前位姿可以包括所述移动设备的当前位置S、当前姿态角θ0;所述目标位姿可以包括所述移动设备的目标位置G、目标姿态角θg。
在示例性实施例中,可以根据以下公式确定所述移动设备的运动圆心角θ:
θ=α(θg-θ0)+(1-α)(θ1-θ0) (1)
上述公式(1)中,α为所述目标权重系数;θ1为圆O与目标位置G的相切姿态角,其中圆O是同时过点当前位置S和目标位置G、且与当前姿态角θ0相切的圆。
在步骤S130中,根据所述运动圆心角和所述目标线速度计算所述移动设备的目标角速度。
在示例性实施例中,根据所述运动圆心角和所述目标线速度计算所述移动设备的目标角速度,可以进一步包括:根据所述当前位置和所述目标位置之间的距离以及所述运动圆心角获得所述移动设备运动的圆周的半径;根据所述半径和所述目标线速度获得所述目标角速度。
在示例性实施例中,所述方法还可以包括:以设定频率将所述目标线速度和所述目标角速度发送至所述移动设备的控制单元,以便于所述移动设备根据所述目标线速度和所述目标角速度从所述当前位置运动至所述目标位置。
在示例性实施例中,所述移动设备可以为前转后驱型机器人。
需要说明的是,本公开实施例中,所述机器人可以是安保机器人、安保巡逻机器人、服务机器人等中的任意一种。在其他实施例中,所述移动设备还可以是无人驾驶车辆等任意的前转后驱型移动设备,本公开对此不作限定。在下面的实施例中,以前转后驱型机器人为例进行举例说明。
本公开实施方式提供的用于规划移动设备速度的方法,通过移动设备的目标线速度获得目标权重系数,并根据所述移动设备的当前位姿、目标位姿以及所述目标权重系数确定所述移动设备的运动圆心角,之后可以根据所述运动圆心角和所述目标线速度计算所述移动设备的目标角速度,综合考虑了移动设备要移动到的目标点的目标位置和目标姿态两个约束条件,能够实现移动设备的速度的实时规划,使移动设备能够近似到达目标位置和目标姿态。
下面结合图2-4对本公开实施方式提供的上述用于规划移动设备速度的方法进行示例说明,但本公开并不限定于此。
本公开实施例为解决前转后驱型机器人的速度规划问题,提出一种基于模糊逻辑和低通滤波的用于规划机器人速度的方法,即已知机器人当前位置和当前姿态以及下一个目标点的目标位置和目标姿态,实时规划机器人的线速度和角速度。其规划流程可以包括以下步骤:确定机器人的当前位姿和目标位姿;根据所述当前位姿和所述目标位姿并采用模糊逻辑计算目标权重系数α0;根据所述目标权重系数α0采用低通滤波算法计算所述机器人的运动圆心角θ;根据所述运动圆心角θ计算所述机器人转弯半径;根据所述转弯半径规划所述机器人的目标角速度。
本公开实施例中,可以采用一阶低通滤波算法来计算机器人的运动圆心角θ,但本公开并不限定于此。
其中,一阶低通滤波的原理为:一阶低通滤波是使用软件编程实现普通硬件RC低通滤波器的功能,一阶低通滤波的算法公式为:
Y(n)=αX(n)+(1-α)Y(n-1) (2)
其中,上述公式(2)中α是滤波系数,X(n)是本次采样值,Y(n-1)为上次滤波输出值,Y(n)为本次滤波输出值。一阶低通滤波采用本次采样与上次滤波输出值进行加权,得到有效滤波值即本次滤波输出值。
本公开实施例中,基于一阶低通滤波的用于规划机器人速度的方法的基本原理如图2所示,假设机器人的当前位置为S,当前姿态角为θ0,目标位置为G,目标姿态角为θg;圆O是过点S和G且与机器人当前姿态相切的圆,其中,过点G和圆心O相切的姿态角为θ1。
假如单从位置考虑,则机器人只需沿着以(θ1-θ0)为圆心角形成的圆周运动即可到达目标位置G,但不能保证到达目标姿态θg;假如单从姿态考虑,机器人只需沿着以(θg-θ0)为圆心角形成的圆周运动即可到达目标姿态θg,但不能保证到达目标位置G。
本公开实施例中,为综合考虑目标位置和目标姿态这两个约束,这里引入低通滤波控制方法的思想,把(θ1-θ0)期望运动的圆心角作为上次滤波输出值,把目标姿态角与当前姿态角之间的差(θg-θ0)作为本次采样值,则基于低通滤波生成的机器人运动圆心角θ为:
θ=α(θg-θ0)+(1-α)(θ1-θ0)
其中,α∈[0,1],与机器人的运行线速度有关。
本公开实施例中,上述公式中有一个未知数α,决定着目标位置和目标姿态这两个约束的权重。
本公开实施例中,可以假设规划机器人路径时离散的目标点间的间距是相等的,当机器人线速度越大时,相应的更新机器人姿态的次数就越少,此时应给姿态角更大的权重,以便更接近目标姿态角。
本公开实施例中,为使算法对不同的机器人运行线速度有较好的适用性,这里引入模糊逻辑方法,以用于优化滤波系数α。
本公开实施例中,在模糊逻辑方法中,机器人的运行线速度v0作为输入参数(即目标线速度),线速度v的变化范围定义为线速度模糊集上的基本论域即线速度等级为:v=(v1,v2,...,vm),其中,m为大于等于1的正整数,m的取值可以根据具体的应用场景来设定,这里假设m=5。
需要说明的是,m的取值以及相邻两个线速度等级之间的间隔是可以随着应用场景的不同而不同的,例如安保机器人,线速度比较慢,则设定的相邻两个线速度等级之间的间隔可以比较小,而无人驾驶车线速度比较快,则可以设定相邻两个线速度等级之间的间隔比较大。此外,还可以将前面的相邻两个线速度等级之间的间隔设置的较小,而后面随着线速度的变快,可以将后面的相邻两个线速度等级之间的间隔设置的较大。例如下述以机器人为例的表格中,相邻两个线速度等级之间的间隔从0.2m/s变化到0.3m/s,从0.3m/s变化到0.5m/s。
其中,m的个数越多,则线速度的变化和α的取值可以更精细。
本公开实施例中,可以将机器人的线速度模糊集定义为{Very Slow(VSv),Slow(Sv),Medium(Mv),Fast(Fv),Very Fast(VFv)},但本公开并不限定于此,这里仅是用于举例说明,具体的线速度模糊集的定义可以根据实际应用场景进行自主设计。
其中,根据上述设定的线速度等级和线速度模糊集可以确定线速度隶属度函数。本公开实施例中,所述线速度隶属度函数可以采用线性的隶属度函数。图3示意性示出本公开一示例性实施方式中线速度隶属度函数的示意图。其中,v1,v2,v3,v4,v5分别为图3中与横坐标相交的第一个点、第二个点、第三个点、第四个点和第五个点。
如图3所示,线速度v在线速度模糊集V={VSv,Sv,Mv,Fv,VFv}上的隶属度函数可以表示为:
其中,i=1,2,…,m。这里假设m=5,则i=1,2,…,5,Vi表示线速度模糊集中的第i个元素。
本公开实施例中,权重系数α0作为输出参数(即目标权重系数),其变化范围定义为权重系数模糊集上的论域即权限系数等级:A=(α1,α2,...,αm),α的模糊集可以定义为{Very Small(VSα),Small(Sα),Medium(Mα),Big(Bα),Very Big(VBα)},但本公开并不限定于此,这里仅是用于举例说明,具体的权重系数模糊集的定义可以根据实际应用场景进行自主设计。
其中,根据上述设定的权重系数等级和权重系数模糊集可以确定权重系数隶属度函数。本公开实施例中,所述权重系数隶属度函数可以采用线性的隶属度函数。图4示意性示出本公开一示例性实施方式中权重系数隶属度函数的示意图。其中,α1,α2,α3,α4,α5分别为图4中与横坐标相交的第一个点、第二个点、第三个点、第四个点和第五个点。
如图4所示,权重系数α在权重系数模糊集A={VSα,Sα,Mα,Bα,VBα}上的隶属度可以表示为:
其中,i=1,2,…,m。这里假设m=5,则i=1,2,…,5,Ai表示权重系数模糊集中的第i个元素。
需要说明的是,虽然上述图3和图4的隶属度函数均采用线性的隶属度函数,但本公开并不限定于此,在其他实施例中,也可以采用非线性的隶属度函数。
本公开实施例中,希望机器人的运行线速度越大,获得的权重系数越大,因此可以制定如下模糊规则,见下表1:
表1模糊规则
本公开实施例中,假设m=5,则模糊关系R可以定义为:
其中,R
i=
iξ
v T·
iζ
α;
表示线速度取值范围基本论域在线速度模糊集V上第i个元素V
i上的隶属度;
iξ
v T表示对
iξ
v求转置;
表示权重系数取值范围基本论域在权重系数模糊集A上第i个元素A
i上的隶属度。
其中,R为R1,R2,R3,R4,R5的并集,例如,假设Ri是一个5*5的矩阵,在相同位置,取R1,R2,R3,R4,R5中的最大值作为R相应位置的元素值。
例如,假设:
本公开实施例中,假设机器人的运行线速度为v0(即目标线速度),根据上述线速度隶属度函数可知,目标线速度v0在线速度模糊集V的隶属度为:
由模糊关系得目标权重系数α0在权重系数模糊集A上的隶属度为:
根据上述公式计算获得目标权重系数在权重系数模糊集上的隶属度
即相当于已知图4的纵坐标的值,可以获得与图4的权重系数隶属度函数中每个三角形的交点,作为横坐标的取值。从图4可知,当纵坐标已知时,可以求得多个横坐标的取值,此时,可以根据最大隶属度原则,对上述横坐标中的最大值作为最终要求得的目标权重系数α
0。
本公开实施例中,根据最大隶属度原则,对目标权重系数在权重系数模糊集上的隶属度
反模糊化即解模糊,求得目标权重系数α
0:
则将求得的目标权重系数α0代入上述公式(1),即可获得机器人运行的运动圆心角θ为:
θ=α0(θg-θ0)+(1-α0)(θ1-θ0) (11)
本公开实施例中,假设机器人以θ为圆心角进行圆周运动的弦长为直线距离:
d=|SG| (12)
则机器人运行的圆周半径为:
r=(d/2)/sin(θ/2) (13)
假设机器人在t时刻的线速度为v(t),则t时刻的角速度ω(t)为:
ω(t)=v(t)/r (14)
至此得到了机器人的角速度,以一定的频率将[v,ω]发送到机器人控制单元,即可使机器人沿着规划的轨迹运动。
例如,假设机器人期望运动轨迹为一条曲线l,以一定的距离间隔在曲线l离散一系列的目标点G1,G2,G3…,曲线l在目标点上的切线方向为机器人的目标姿态,假如下一个目标点位置为Gi,姿态角为θgi,当前位置为S,姿态角为θ0,过点Gi与圆Oi相切的姿态角为θ1i。
这里假设将机器人的v线速度变化分为9个等级:0.2m/s,0.4m/s,0.6m/s,0.8m/s,1.0m/s,1.2m/s,1.5m/s,2.0m/s,2.5m/s,线速度v在线速度模糊集V上的隶属度函数的模糊化表,如下表2所示:
表2线速度等级及其模糊集
再假设权重系数α的变化分为9个等级:0.5,0.53,0.6,0.68,0.73,0.8,0.83,0.87,0.9,其在权重系数模糊集A上的隶属度函数的模糊化表,如下表3所示:
表3权重系数等级及其模糊集
假设机器人当前以线速度v=1.0m/s运行时,通过模糊逻辑优化方法计算出目标权重系数α=0.73,依据低通滤波思想计算的机器人运行圆心角为:
θ=α(θgi-θ0)+(1-α)(θ1i-θ0) (15)
机器人以θ为圆心角运动的圆周的弦长和半径分别为:
d≈|SGi| (16)
r=(d/2)/sin(θ/2) (17)
机器人此时的角速度应为:
ω=v/r (18)
以一定的频率将[v,ω]发送到机器人控制单元,即可使机器人沿着规划的轨迹运动。
本公开实施方式提供的用于规划移动设备速度的方法,基于模糊逻辑和低通滤波进行机器人速度规划,综合考虑了目标位置和目标姿态两个约束,其中,使用模糊逻辑优化低通滤波系数,实时规划机器人的速度,使机器人近似到达目标位置和目标姿态,可以适用于任意一种前转后驱型机器人的速度规划。
图5示意性示出本公开一种示例性实施方式中用于规划移动设备速度的装置的组成框图。
如图5所示,本公开实施方式提供的用于规划移动设备速度的装置500可以包括目标权重系数获得模块510、运动圆心角确定模块520以及目标角速度计算模块530。
其中,目标权重系数获得模块510可以配置为根据移动设备的目标线速度获得目标权重系数。
运动圆心角确定模块520可以配置为根据所述移动设备的当前位姿、目标位姿以及所述目标权重系数确定所述移动设备的运动圆心角。
目标角速度计算模块530可以配置为根据所述运动圆心角和所述目标线速度计算所述移动设备的目标角速度。
在示例性实施例中,目标权重系数获得模块510可以进一步包括:
模糊控制器建立子模块,可以配置为建立所述移动设备运动的模糊控制器;
目标线速度输入子模块,可以配置为将所述目标线速度输入至所述模糊控制器;
目标权重系数输出子模块,可以配置为所述模糊控制器根据所述目标线速度输出所述目标权重系数。
在示例性实施例中,所述模糊控制器建立子模块可以进一步包括:
线速度等级和模糊集设定单元,可以配置为设定所述移动设备的线速度等级和线速度模糊集;
权重系数等级和模糊集设定单元,可以配置为设定所述移动设备的权重系数等级和权重系数模糊集;
模糊关系获得单元,可以配置为根据所述线速度等级、所述线速度模糊集以及所述权重系数等级、所述权重系数模糊集获得线速度隶属度和权重系数隶属度之间的模糊关系。
在示例性实施例中,所述模糊关系获得单元可以进一步包括:
线速度隶属度函数确定子单元,可以配置为根据所述线速度等级和所述线速度模糊集确定线速度隶属度函数;
权重系数隶属度函数确定子单元,可以配置为根据所述权重系数等级和所述权重系数模糊集确定权重系数隶属度函数;
线速度等级隶属度计算子单元,可以配置为根据所述线速度隶属度函数分别计算所述线速度等级在所述线速度模糊集中各个元素上的线速度隶属度;
权重系数等级隶属度计算子单元,可以配置为根据所述权重系数隶属度函数分别计算所述权重系数等级在所述权重系数模糊集中各个元素上的权重系数隶属度;
模糊关系获得子单元,可以配置为根据所述线速度等级在所述线速度模糊集中各个元素上的线速度隶属度和所述权重系数等级在所述权重系数模糊集中各个元素上的权重系数隶属度,获得线速度隶属度和权重系数隶属度之间的模糊关系。
在示例性实施例中,所述线速度模糊集可以为V={VSv,Sv,Mv,Fv,VFv},所述权重系数模糊集可以为A={VSα,Sα,Mα,Bα,VBα}。
在示例性实施例中,所述模糊控制器建立子模块还可以进一步包括:
模糊规则制定单元,可以配置为根据所述线速度模糊集和所述权重系数模糊集制定如下模糊规则:
若V=VSv,则A=VSα;
若V=Sv,则A=Sα;
若V=Mv,则A=Mα;
若V=Fv,则A=Bα;
若V=VFv,则A=VBα。
在示例性实施例中,所述目标权重系数输出子模块可以进一步包括:
目标线速度隶属度获得单元,可以配置为根据所述线速度隶属度函数获得所述目标线速度在所述线速度模糊集上的隶属度;
目标权重系数隶属度获得单元,可以配置为根据所述模糊关系和所述目标线速度在所述线速度模糊集上的隶属度,获得所述目标权重系数的隶属度;
目标权重系数获得单元,可以配置为根据最大隶属度原则,对所述目标权重系数的隶属度解模糊,获得所述目标权重系数。
在示例性实施例中,所述当前位姿可以包括所述移动设备的当前位置S、当前姿态角θ0;所述目标位姿可以包括所述移动设备的目标位置G、目标姿态角θg。
在示例性实施例中,可以根据以下公式确定所述移动设备的运动圆心角θ:
θ=α(θg-θ0)+(1-α)(θ1-θ0)
上述公式中,α为所述目标权重系数;θ1为圆O与目标位置G的相切姿态角,其中圆O是同时过点当前位置S和目标位置G、且与当前姿态角θ0相切的圆。
在示例性实施例中,目标角速度计算模块530可以进一步包括:
半径获得子模块,可以配置为根据所述当前位置和所述目标位置之间的距离以及所述运动圆心角获得所述移动设备运动的圆周的半径;
目标角速度获得子模块,可以配置为根据所述半径和所述目标线速度获得所述目标角速度。
在示例性实施例中,用于规划移动设备速度的装置500还可以进一步包括:目标速度发送模块,可以配置为以设定频率将所述目标线速度和所述目标角速度发送至所述移动设备的控制单元,以便于所述移动设备根据所述目标线速度和所述目标角速度从所述当前位置运动至所述目标位置。
在示例性实施例中,所述移动设备可以为前转后驱型机器人。
上述用于规划移动设备速度的装置的具体细节已经在对应的用于规划移动设备速度的方法中进行了详细的描述,因此此处不再赘述。
需要说明的是,虽然以上示例性实施方式以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或者必须执行全部的步骤才能实现期望的结果。附加地或者备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者子模块或者单元或者子单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者子模块或者单元或者子单元的特征和功能可以在一个模块或者子模块或者单元或者子单元中具体化。反之,上文描述的一个模块或者子模块或者单元或者子单元的特征和功能可以进一步划分为由多个模块或者子模块或者单元或者子单元来具体化。
在本公开的示例性实施方式中,还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现本公开的上述的用于规划移动设备速度的方法。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码;该程序产品可以存储在一个非易失性存储介质(可以是CD-ROM、U盘或者移动硬盘等)中或网络上;当所述程序产品在一台计算设备(可以是个人计算机、服务器、终端装置或者网络设备等)上运行时,所述程序代码用于使所述计算设备执行本公开中上述各示例性实施例中的方法步骤。
参见图6所示,根据本公开的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑磁盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备(例如个人计算机、服务器、终端装置或者网络设备等)上运行。然而,本公开的程序产品不限于此。在本示例性实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或者多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。
可读存储介质例如可以为但不限于电、磁、光、电磁、红外线或半导体的系统、装置或器件、或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任意可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如C语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户计算设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN)等)连接到用户计算设备;或者,可以连接到外部计算设备,例如利用因特网服务提供商来通过因特网连接。
在本公开的示例性实施方式中,还提供一种电子设备,所述电子设备包括至少一个处理器以及至少一个用于存储所述处理器的可执行指令的存储器;其中,所述处理器被配置为经由执行所述可执行指令来执行本公开中上述各示例性实施例中的方法步骤。
下面结合图7对本示例性实施方式中的电子设备900进行描述。电子设备900仅仅为一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
参见图7所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:至少一个处理单元910、至少一个存储单元920、连接不同系统组件(包括处理单元910和存储单元920)的总线930、显示单元940。
其中,存储单元920存储有程序代码,所述程序代码可以被处理单元910执行,使得处理单元910执行本公开中上述各示例性实施例中的方法步骤。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元921(RAM)和/或高速缓存存储单元922,还可以进一步包括只读存储单元923(ROM)。
存储单元920还可以包括具有一组(至少一个)程序模块925的程序/实用工具924,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用各种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备1000(例如键盘、指向设备、蓝牙设备等)通信,还可以与一个或者多个使得用户可以与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其他计算设备进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN)、广域网(WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器960可以通过总线930与电子设备900的其他模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
本领域技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
上述所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中,如有可能,各实施例中所讨论的特征是可互换的。在上面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组件、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本公开的各方面。