掌桥专利:专业的专利平台
掌桥专利
首页

移动设备的运动控制方法、装置和移动设备

文献发布时间:2024-04-18 19:57:31


移动设备的运动控制方法、装置和移动设备

技术领域

本公开涉及电子技术领域,具体涉及一种移动设备的运动控制方法、装置和移动设备。

背景技术

随着人工智能技术在民用和商用领域的广泛应用,基于人工智能技术的移动设备在智能交通、智能家居等领域起到日益重要的作用,也面临着更高的要求。

移动设备通常具有不同维度的运动,以移动设备为智能机器人为例,运动包括X轴前进、Y轴平移、绕自身Z轴旋转等维度,在全维度运动过程中可能出现摔倒失控。

发明内容

本公开实施例提供一种移动设备的运动控制方法、装置和移动设备。

本公开实施例第一方面提供一种移动设备的运动控制方法,包括:

获取第一控制指令及移动设备的当前运动状态;其中,第一控制指令,用于指示移动设备在各维度的运动速率;

根据第一控制指令、移动设备在不同维度的运动响应优先级、移动设备的当前运动状态以及移动设备在不同维度的运动约束条件,生成第二控制指令;

根据第二控制指令,控制移动设备运动。

在一些可能的实施方式中,根据第一控制指令、移动设备在不同维度的运动响应优先级、移动设备的当前运动状态以及移动设备在不同维度的运动约束条件,生成第二控制指令,包括:

根据第一控制指令,确定待移动设备响应的目标维度和目标维度的第一目标速率;

根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率;

根据第二目标速率,生成第二控制指令。

在一些可能的实施方式中,根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率,包括:

若目标维度为各维度内优先级最高的维度,根据目标维度的第一目标速率和运动约束条件对目标维度的速度限制,确定目标维度的第二目标速率。

在一些可能的实施方式中,根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率,包括:

确定第一维度的参考速率;其中,当第一维度不是目标维度时,第一维度的参考速率为第一维度的当前速率;或者,当第一维度是目标维度时,第一维度的参考速率为第一维度的第二目标速率;

根据运动约束条件及第一维度的参考速率,确定第二维度的目标速率范围;其中,第二维度的优先级低于第一维度;

若第二维度是目标维度,根据第二维度的第一目标速率和目标速率范围,将目标速率范围内与第一目标速率之间速率差最小的速率作为第二维度的第二目标速率。

在一些可能的实施方式中,根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率,包括:

若第二维度不是目标维度,确定第二维度的当前速率是否符合第二维度的目标速率范围;

若第二维度的当前速率不符合第二维度的目标速率范围,则将目标速率范围内与当前速率之间速率差最小的速率作为第二维度的第二目标速率。

在一些可能的实施方式中,根据运动约束条件及第一维度的参考速率,确定第二维度的目标速率范围,包括:

根据第一维度的参考速率,确定针对第二维度的尺度因子;

将运动约束条件限定的第二维度的最大初始速率与尺度因子的乘积作为目标最大速率;

将运动约束条件限定的第二维度的最小初始速率与尺度因子的乘积作为目标最小速率;

根据目标最大速率和目标最小速率确定目标速率范围。

在一些可能的实施方式中,根据第一维度的参考速率确定针对第二维度的尺度因子,包括:

根据第n个第一维度的参考速率与第n个第一维度的第一因子,得到第n个第一维度的第二因子;其中,n为小于或等于N的正整数;其中,N为比第二维度优先级高的第一维度的总个数;第n个第一维度的优先级比第n-1个第一维度的优先级高一级;

根据N个第一维度的第二因子的乘积,得到针对第二维度的尺度因子。

在一些可能的实施方式中,根据当第n个第一维度的参考速率与第n个第一维度的第一因子,得到第n个第一维度的第二因子,包括:

确定第n个第一维度的参考速率和第n个第一维度的第一修正系数的乘积;

确定所得到的乘积与第n个第一维度的第二修正系数之和;

将所确定的和与第n个第一维度的第一因子的乘积,作为第n个第一维度的第二因子。

在一些可能的实施方式中,至少一个维度包括第一平面内第一方向的第一移动维度、第一平面内第二方向的第二移动维度、以第三方向为中心轴旋转的偏航维度和以第二方向为中心轴旋转的旋转维度;至少一个维度的优先级为第一移动维度的优先级高于第二移动维度;第二移动维度的优先级高于偏航维度,且偏航维度的优先级高于旋转维度;

第三方向垂直于第一平面。

本公开实施例第二方面提供一种移动设备的运动控制装置,包括:

获取模块,用于获取第一控制指令及移动设备的当前运动状态;其中,第一控制指令,用于指示移动设备在各维度的运动速率;

生成模块,用于根据第一控制指令、移动设备在不同维度的运动响应优先级、移动设备的当前运动状态以及移动设备在不同维度的运动约束条件,生成第二控制指令;

控制模块,用于根据第二控制指令,控制移动设备运动。

在一些可能的实施方式中,生成模块在根据第一控制指令、移动设备在不同维度的运动响应优先级、移动设备的当前运动状态以及移动设备在不同维度的运动约束条件,生成第二控制指令时,具体用于:

根据第一控制指令,确定待移动设备响应的目标维度和目标维度的第一目标速率;

根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率;

根据第二目标速率,生成第二控制指令。

在一些可能的实施方式中,生成模块在根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率时,具体用于:

若目标维度为各维度内优先级最高的维度,根据目标维度的第一目标速率和运动约束条件对目标维度的速度限制,确定目标维度的第二目标速率。

在一些可能的实施方式中,生成模块在根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率时,具体用于:

确定第一维度的参考速率;其中,当第一维度不是目标维度时,第一维度的参考速率为第一维度的当前速率;或者,当第一维度是目标维度时,第一维度的参考速率为第一维度的第二目标速率;

根据运动约束条件及第一维度的参考速率,确定第二维度的目标速率范围;其中,第二维度的优先级低于第一维度;

若第二维度是目标维度,根据第二维度的第一目标速率和目标速率范围,将目标速率范围内与第一目标速率之间速率差最小的速率作为第二维度的第二目标速率。

在一些可能的实施方式中,生成模块在根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率时,具体用于:

若第二维度不是目标维度,确定第二维度的当前速率是否符合第二维度的目标速率范围;

若第二维度的当前速率不符合第二维度的目标速率范围,则将目标速率范围内与当前速率之间速率差最小的速率作为第二维度的第二目标速率。

在一些可能的实施方式中,生成模块在根据运动约束条件及第一维度的参考速率,确定第二维度的目标速率范围时,具体用于:

根据第一维度的参考速率,确定针对第二维度的尺度因子;

将运动约束条件限定的第二维度的最大初始速率与尺度因子的乘积作为目标最大速率;

将运动约束条件限定的第二维度的最小初始速率与尺度因子的乘积作为目标最小速率;

根据目标最大速率和目标最小速率确定目标速率范围。

在一些可能的实施方式中,根据生成模块在根据第一维度的参考速率确定针对第二维度的尺度因子时,具体用于:

根据第n个第一维度的参考速率与第n个第一维度的第一因子,得到第n-1个第一维度的第二因子;其中,n为小于或等于N的正整数;其中,N为比第二维度优先级高的第一维度的总个数;第n个第一维度的优先级比第n-1个第一维度的优先级高一级;

根据N个第一维度的第二因子的乘积,得到针对第二维度的尺度因子。

在一些可能的实施方式中,生成模块在根据当第n个第一维度的参考速率与第n个第一维度的第一因子,得到第n-1个第一维度的第二因子时,具体用于:

确定第n个第一维度的参考速率和第n个第一维度的第一修正系数的乘积;

确定所得到的乘积与第n个第一维度的第二修正系数之和;

将所确定的和与第n个第一维度的第一因子的乘积,作为第n-1个第一维度的第二因子。

在一些可能的实施方式中,至少一个维度包括第一平面内第一方向的第一移动维度、第一平面内第二方向的第二移动维度、以第三方向为中心轴旋转的偏航维度和以第二方向为中心轴旋转的旋转维度;至少一个维度的优先级为第一移动维度的优先级高于第二移动维度;第二移动维度的优先级高于偏航维度,且偏航维度的优先级高于旋转维度;

第三方向垂直于第一平面。

本公开实施例第三方面提供一种移动设备,包括:

用于存储处理器可执行指令的存储器;

处理器,与所述存储器连接;

其中,所述处理器被配置为执行如前述第一方面任意技术方案提供的移动设备的运动控制方法。

本公开实施例第四方面提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由计算机的处理器执行时,使得计算机能够执行前述第一方面任意技术方案提供的移动设备的运动控制方法。

本公开的实施例提供的技术方案可以包括以下有益效果:

通过所述第一控制指令、所述移动设备在不同维度的运动响应优先级、所述移动设备的当前运动状态以及所述移动设备在不同维度的运动约束条件,生成符合当前运动状态下的安全速率范围的第二控制指令,再根据第二控制指令控制移动设备运动,可以有效避免移动设备出现侧翻等不安全的情况。

此外,若第一控制指令中仅包括移动设备的部分目标维度,也考虑到了在尽量满足目标维度的情况下,比目标维度优先级低的维度的当前速率是否能继续维持,能在尽量满足第一控制指令的情况下,对移动设备的运动进行有效调整,从而避免出现侧翻。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为一个示例中移动设备高速运动的示意图;

图2为本申请实施例提供的移动设备的运动控制方法的流程示意图;

图3为本申请实施例提供的移动设备的运动控制方法的流程示意图;

图4为本申请一个示例中确定第二目标速率的方案的示意图;

图5为本申请一个示例中确定第二目标速率的方案的示意图;

图6为一个示例中移动设备的运动维度的示意图;

图7为本申请实施例提供的移动设备的运动控制装置的结构示意图;

图8为一个示例中移动设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置的例子。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“A和/或B”指示实现为“A”,或者实现为“A”,或者实现为“A和B”。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

移动设备通常包括多个不同维度的运动。以智能机器人为例,图1为四足机器人高速运动示意图,机器人在全维度运行过程中容易摔倒失控。如同人在高速上开车一样,前进维度权重最高,转向维度降低,若在高速情况下猛打方向盘,就容易出现甩尾翻车。

相关技术通过在任务空间进行零空间矢量投影进行控制,控制指令通过模型预测控制算出四足机器人足端力,根据控制任务通过全身控制算出四足机器人关节位置、速度、关节前馈力矩命令;然后通过全身的动力学运用凸优化理论优化出更合理的关节位置、速度、关节前馈力矩命令,并没有针对不同的运动维度进行控制。

在一些可能的实施方式中,本申请提供了一种移动设备的运动控制方法,可以应用于控制设备中,控制设备可以设置于移动设备中,如图2所示,可以包括:

步骤S201,获取第一控制指令及移动设备的当前运动状态。

其中,移动设备可以是基于指令进行移动的设备,可以通过指令指示设备移动的时间、方向、速率等。

具体的,移动设备可以是滚动方式、滑动方式、飞行方式,可以不限制移动设备的移动方式。例如,移动设备可以包括两足机器人、四足机器人、无人机,还可以是无人驾驶的车辆等等。

其中,第一控制指令,可为各种控制移动设备运动的指令,例如,该第一控制指令可为控制移动设备的运动速度的指令,或者单纯指示移动设备在各维度的运动速率的指令。不同维度可以包括不同的运动方向和不同的运动方式。

例如,不同维度可以包括不同运动方向,还可以包括平移、旋转或偏航等不同的运动方式。

具体的,第一控制指令可以是用户通过输入设备输入到运动控制设备中,例如通过遥控器,输入到移动设备的运动控制设备中。

其中,移动设备的当前运动状态,可以包括移动设备不同维度的当前速率。

具体的,可以通过运动感应装置、定位装置等监测移动设备的当前运动状态。

步骤S202,根据第一控制指令、移动设备在不同维度的运动响应优先级、移动设备的当前运动状态以及移动设备在不同维度的运动约束条件,生成第二控制指令。

其中,移动设备在不同维度的运响应优先级可以是预先设置的,维度的运动响应优先级越高,则会优先确定针对这一维度的第二目标速率,按照优先级从高到低的顺序依次确定各个维度的第二目标速率,生成第二控制指令。例如,第一控制指令包括:第一维度的目标速率是5m/s,第二维度的目标速率是4m/s,第一维度的优先级高于第二优先级,则会优先满足第一维度的目标速率,在第一维度的目标速率满足的情况下,判断第二维度这个目标速率是否可行。

其中,不同维度的运动约束条件,可以包括当移动设备处于静止状态时,不同维度的一个初始安全范围,初始安全范围可以是预先配置在控制移动设备进行运动的控制设备中,即每一维度的最大初始速率和最小初始速率。

具体的,若移动设备处于运动状态,则对应这个运动状态下的不同维度的安全范围可能会变化,此时需要根据设备的当前运动状态和运动约束条件确定目标速率范围,即当前运动状态下的安全速率范围,再根据第一控制指令和目标速率范围,确定第二控制指令,移动设备根据第二控制指令进行运动。

也就是说,第二控制指令可以尽可能满足第一控制指令、且保证移动设备可以安全移动,不会因为运动速率过大出现侧翻之类的情况。

例如,在静止状态下移动设备的运动约束条件为最大第一维度10m/s;第二维度为最大10m/s;当移动设备处于第一维度的当前速率为8m/s的情况下,第一控制指令为第二维度的目标速率为8m/s,且第一维度的优先级高于第二维度,那么需要考虑第一维度的目标速率保持8m/s的情况下,第二维度的目标速率是否能达到8m/s,生成第二控制指令,如第二控制指令为第一维度8m/s,第二维度为4m/s。

步骤S203,根据第二控制指令,控制移动设备运动。

其中,第二控制指令包括至少一个维度的第二目标速率,移动设备根据第二控制指令进行运动。

需要注意的是,第二控制指令中所包括的维度与第一控制指令中所包括的维度不一定相同,例如,在当前状态第一维度的当前速率为4m/s,第二维度的当前速率为8m/s,移动设备根据第一控制指令调整了第一维度的速率,调整到8m/s,此时如果第二维度仍维持8m/s将会不安全,则生成的第二控制指令为第一维度的第二目标速率为8m/s,第二维度的第二目标速率为4m/s。

上述实施例中,通过第一控制指令、移动设备在不同维度的运动响应优先级、移动设备的当前运动状态以及移动设备在不同维度的运动约束条件,生成符合当前运动状态下的安全速率范围的第二控制指令,再根据第二控制指令控制移动设备运动,可以有效避免移动设备出现侧翻等不安全的情况。

以下将结合具体实施方式阐述第二控制指令的具体生成过程。

在一些可能的实施方式中,如图3所示,步骤S202根据第一控制指令、移动设备在不同维度的运动响应的优先级、移动设备的当前运动状态以及移动设备在不同维度的运动约束条件,生成第二控制指令,可以包括:

步骤S210,根据第一控制指令,确定待移动设备响应的目标维度和目标维度的第一目标速率;

步骤S220,根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率;

步骤S230,根据第二目标速率,生成第二控制指令。

其中,目标维度可以包括第一控制指令指示需要调整运动速率的维度,第一目标速率是第一控制指令中所指示的目标维度的速率。

其中,第二目标速率是控制移动设备运动的最终速率。

具体的,先根据设备的当前运动状态和第一控制指令确定目标速率范围,即当前运动状态下的安全速率范围,再根据第一控制指令和目标速率范围,确定第二目标速率,移动设备根据第二目标速率进行运动。

在一些可能的实施方式中,步骤S220根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率,可以包括:

若目标维度为优先级最高的维度,根据目标维度的第一目标速率和运动约束条件对目标维度的速度限制,确定目标维度的第二目标速率。

若目标维度为最高优先级的维度,则不需要考虑其他维度的第一目标速率对目标维度的限制,直接根据第一目标速率和运动约束条件对目标维度的速度限制,确定目标维度的第二目标速率

具体的,根据第一目标速率和运动约束条件对目标维度的速度限制,确定目标维度的第二目标速率,可以包括:

若第一目标速率大于该优先级的运动约束条件限定的最大初始速率,则将优先级最高维度的运动约束条件限定的最大初始速率确定为所述第二目标速率;

如图4所示,图4中运动约束条件包括最大初始速率和最小初始速率,若第一目标速率大于最大初始速率,则将最大初始速率确定为所述第二目标速率。

若第一目标速率小于该优先级最高维度的运动约束条件限定的最大速度,则将第一目标速率确定为所述第二目标速率。

如图5所示,图5中运动约束条件包括最大初始速率和最小初始速率,若第一目标速率小于最大初始速率且大于最小初始速率,则将第二目标速率确定为所述第二目标速率。

也就是说,若第一目标速率符合运动约束条件对目标维度的速度限制,则将第一目标速率作为第二目标速率;若第一目标速率不符合运动约束条件对目标维度的速度限制,则从运动约束条件对目标维度的速度限制中,选取最接近第一目标速率的值,作为第二目标速率。

例如,目标维度为最高优先级的维度,第一目标速率为8m/s,针对目标维度的运动约束条件为最大初始速率为10m/s,则第二目标速率为8m/s。

若目标维度不是最高优先级的维度,则根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率。此时确定第二目标速率可以包括:

a、确定第一维度的参考速率。

其中,当第一维度不是目标维度时,第一维度的参考速率为第一维度的当前速率;或者,当第一维度是目标维度时,第一维度的参考速率为第一维度的第二目标速率。

也就是说,当第一控制指令中并没有指示第一维度时,可以根据第一维度的当前速率来确定第一维度的第二目标速率;当第一控制指令中指示了第一维度时,先计算第一维度的第二目标速率,再根据第一维度的第二目标速率来确定第二维度的目标速率范围。

b、根据运动约束条件及第一维度的参考速率,确定第二维度的目标速率范围。

其中,第二维度的优先级低于第一维度。

需要注意的是,若第二维度是目标维度,则需要确定第二维度的目标速率范围;若第二维度不是目标维度,则说明比第二维度优先级更高的第一维度是目标维度,这时候第一维度的当前状态发生改变,优先满足的第一维度的第二目标速率的情况下,需要考虑第二维度的当前速率是否可以保证安全,因此,还是需要确定第二维度的目标速率范围,也就是说,无论第二维度是否为目标维度,都需要确定第二维度的目标速率范围。

在一些可能的实施方式中,根据运动约束条件及第一维度的参考速率,确定第二维度的目标速率范围,可以包括:

根据第一维度的参考速率,确定针对第二维度的尺度因子;

将运动约束条件限定的第二维度的最大初始速率与尺度因子的乘积作为目标最大速率;

将运动约束条件限定的第二维度的最小初始速率与尺度因子的乘积作为目标最小速率;

根据目标最大速率和目标最小速率确定目标速率范围。

其中,第二维度的尺度因子,可以用于针对第二维度的运动约束条件进行调整,使调整后得到的目标速率范围,可以保证移动设备的安全运动。

具体针对第二维度的尺度因子的计算过程,将在下文进行进一步详细阐述。

c、若第二维度是目标维度,根据第二维度的第一目标速率和目标速率范围,将目标速率范围内与第一目标速率之间速率差最小的速率作为第二维度的第二目标速率。

具体的,若第二维度是目标维度,则第二目标速率要尽可能满足第一目标速率,且保证安全,则可以将目标速率范围内最接近第一目标速率的速率作为第二目标速率。

d、若第二维度不是目标维度,确定第二维度的当前速率是否符合第二维度的目标速率范围;若第二维度的当前速率不符合第二维度的目标速率范围,则将目标速率范围内与当前速率之间速率差最小的速率作为第二维度的第二目标速率。

具体的,若第二维度不是目标维度,即第一控制指令并没有针对第二维度,则需要考虑第二维度的当前速率是否符合第二维度的目标速率范围;若第二维度的当前速率符合第二维度的目标速率范围,则可以继续维持第二维度的当前速率;若第二维度的当前速率不符合第二维度的目标速率范围,则需要调整当前速率,使得调整后的第二目标速率在保证安全的同时,尽可能接近当前速率,即将目标速率范围内最接近当前速率的速率作为第二目标速率。

上述实施例中,若第一控制指令中仅包括移动设备的部分目标维度,也考虑到了在尽量满足目标维度的情况下,比目标维度优先级低的维度的当前速率是否能继续维持,能在尽量满足第一控制指令的情况下,对移动设备的运动进行有效调整,从而避免出现侧翻。

以下将结合具体实施例进一步阐述第一维度的参考速率确定针对第二维度的尺度因子的具体过程。

在一些可能的实施方式中,根据第一维度的参考速率确定针对第二维度的尺度因子,包括:

根据第n个第一维度的参考速率与第n个第一维度的第一因子,得到第n个第一维度的第二因子;其中,n为小于或等于N的正整数;其中,N为比第二维度优先级高的第一维度的总个数;第n个第一维度的优先级比第n-1个第一维度的优先级高一级;

根据N个第一维度的第二因子的乘积,得到针对第二维度的尺度因子。

在具体实施过程中,可以按照优先级从高到低的顺序,依次计算每一维度的参考速率,然后根据每一维度的参考速率和对应的第一因子,计算优先级低一级的维度的第一因子。

例如,优先级从高到低有四个维度,维度1、维度2、维度3和维度4,其中,维度1的优先级大于维度2的优先级大于维度3的优先级大于维度4的优先级,则首先确定维度1的参考速率;根据维度1的参考速率和维度1预设的第一因子,确定维度1的第二因子,维度1的第二因子即为维度2的尺度因子;确定维度2的参考速率,根据维度2的参考速率和维度2预设的第一因子,确定维度2的第二因子;将维度1的第二因子和维度2的第二因子的乘积,作为维度3的尺度因子;确定维度3的参考速率,根据维度3的参考速率和维度3预设的第一因子,确定维度3的第二因子,将维度1、维度2和维度3的第二因子的乘积,作为维度4的尺度因子。

在一些可能的实施方式中,根据第n个第一维度的参考速率与第n个第一维度的第一因子,得到第n个第一维度的第二因子,可以包括:

确定第n个第一维度的参考速率和第n个第一维度的第一修正系数的乘积;

确定所得到的乘积与第n个第一维度的第二修正系数之和;

将所确定的和与第n个第一维度的第一因子的乘积,作为第n个第一维度的第二因子。

在一些可能的实施方式中,至少一个维度包括第一平面内第一方向的第一移动维度、第一平面内第二方向的第二移动维度、以第三方向为中心轴旋转的偏航维度和以第二方向为中心轴旋转的旋转维度;至少一个维度的优先级为第一移动维度的优先级高于第二移动维度;第二移动维度的优先级高于偏航维度,且偏航维度的优先级高于旋转维度;

第三方向垂直于第一平面。

如图6所示,以智能机器人为例,图6为智能机器人的运动维度示意图,包括水平X轴前进、水平Y轴横移、绕自身Z轴旋转和绕Y轴俯仰旋转。

在一些可能的实施方式中,步骤S203根据第二控制指令,控制移动设备运动,可以包括:

基于第二控制指令以及所述移动设备在各维度上支持的加速度,生成至少两个第三控制指令;

基于至少两个第三控制指令,依次控制移动设备运动。

具体的,可以根据移动设备的当前状态和第二控制指令所指示的第二目标速度生成多个子目标速度,根据多个子目标速度生成第三控制指令,再依次控制移动设备运动。

例如,第二控制指令为X轴的第二目标速率为10m/s,移动设备的X轴的当前速率为2m/s,则可以按照速度依次递增,生成多个子目标速度4m/s、6m/s、8m/s、10m/s,根据多个子目标速度生成对应的多个第三控制指令。

具体的,当移动设备的当前状态达到子目标速度时,则对应执行下一个子目标速度;也可以是根据移动设备的当前状态,依次将大于当前速率的子目标速率发给移动设备,控制移动设备移动;还可以在设定的间隔时间,依次发送子目标速度到移动设备,上述过程可以控制移动设备的速度按照预设的间隔时间增加,控制移动设备的加速度。

该时间间隔可为:根据移动设备在对应维度上支持的加速度以及相邻两个子目标速度之间的差值确定的。移动设备在不同维度上支持的加速度可能相同或者不同。

该加速度包括:速度增加的加速度和/或降速的加速度。

在一些实施例中,移动设备包:主控模组、驱动控制模组以及驱动模组。

驱动模组,用于提供移动设备运动的驱动力;驱动控制模组,与驱动模组连接,用于控制驱动模组的驱动力输出。

主控模组与驱动控制模组连接,用于控制驱动模组的工作。

在一些实施例中,主控模组包括但不限于中央处理器、微处理器或者嵌入式控制器等。

驱动控制模组可包括:驱动芯片和/或驱动控制电路等。

在一个实施例中,主控模组生成第二控制指令,将第二控制指令发送给驱动控制模组;驱动控制模组根据移动设备在各维度上支持的加速度,将第二控制指令拆分成多个第三控制指令,并确定各个第三控制指令的执行时刻,再在确定的执行时刻分别根据各个第三控制指令,控制驱动模组的工作。

在另一个实施例中,主控模组生成第二控制指令之后,会根据移动设备在各维度上支持的加速度,将第二控制指令拆分成多个第三控制指令,并确定各个第三控制指令的执行时刻,再在确定的执行时刻将第三控制指令发送给驱动控制模组,触发驱动控制模组控制驱动模组的工作。为了更清楚的阐述本申请的移动设备的运动控制方法,以下将结合示例对本申请的移动设备的运动控制方法进行进一步说明。

在一个示例中,移动设备的运动控制方法可以包括:

移动设备的运动维度包括X轴移动、Y轴移动、绕自身Z轴旋转的偏航维度(yaw)和绕Y轴俯仰的旋转维度(pitch);X轴移动的优先级高于Y轴移动优先级高于偏航维度高于旋转维度。

获取第一控制指令,包括指示移动设备的X轴的第一目标速率v

获取移动设备的当前状态,包括移动设备的X轴的当前速率v

根据X轴的第一目标速率v

v

其中,v

X轴的参考速率v

v

其中,v

根据Y轴的尺度因子确定Y轴的目标速率范围,根据Y轴的目标速率范围、Y轴的第一目标速率确定Y轴的第二目标速率,可以参考如下公式:

v

其中,v

Y轴的参考速率v

v

其中,v

根据偏航维度yaw的尺度因子确偏航维度yaw的目标速率范围,根据偏航维度yaw的目标速率范围、偏航维度yaw的第一目标速率确定偏航维度yaw的第二目标速率,可以参考如下公式:

v

其中,v

偏航维度yaw的参考速率v

V

其中,v

根据旋转维度pitch的尺度因子确旋转维度pitch的目标速率范围,根据旋转维度pitch的目标速率范围、旋转维度pitch的第一目标速率确定旋转维度pitch的第二目标速率,可以参考如下公式:

v

其中,v

上述的移动设备的运动控制方法,通过第一控制指令、移动设备在不同维度的运动响应优先级、移动设备的当前运动状态以及移动设备在不同维度的运动约束条件,生成符合当前运动状态下的安全速率范围的第二控制指令,再根据第二控制指令控制移动设备运动,可以有效避免移动设备出现侧翻等不安全的情况。

此外,若第一控制指令中仅包括移动设备的部分目标维度,也考虑到了在尽量满足目标维度的情况下,比目标维度优先级低的维度的当前速率是否能继续维持,能在尽量满足第一控制指令的情况下,对移动设备的运动进行有效调整,从而避免出现侧翻。

在一些可能的实施方式中,提供了一种移动设备的运动控制装置70,包括:

获取模块701,用于获取第一控制指令及移动设备的当前运动状态;其中,第一控制指令,用于指示移动设备在各维度的运动速率;

生成模块702,用于根据第一控制指令、移动设备在不同维度的运动响应优先级、移动设备的当前运动状态以及移动设备在不同维度的运动约束条件,生成第二控制指令;

控制模块703,用于根据第二控制指令,控制移动设备运动。

在一些可能的实施方式中,生成模块702在根据第一控制指令、移动设备在不同维度的运动响应优先级、移动设备的当前运动状态以及移动设备在不同维度的运动约束条件,生成第二控制指令时,具体用于:

根据第一控制指令,确定待移动设备响应的目标维度和目标维度的第一目标速率;

根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率;

根据第二目标速率,生成第二控制指令。

在一些可能的实施方式中,生成模块702在根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率时,具体用于:

若目标维度为各维度内优先级最高的维度,根据目标维度的第一目标速率和运动约束条件对目标维度的速度限制,确定目标维度的第二目标速率。

在一些可能的实施方式中,生成模块702在根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率时,具体用于:

确定第一维度的参考速率;其中,当第一维度不是目标维度时,第一维度的参考速率为第一维度的当前速率;或者,当第一维度是目标维度时,第一维度的参考速率为第一维度的第二目标速率;

根据运动约束条件及第一维度的参考速率,确定第二维度的目标速率范围;其中,第二维度的优先级低于第一维度;

若第二维度是目标维度,根据第二维度的第一目标速率和目标速率范围,将目标速率范围内与第一目标速率之间速率差最小的速率作为第二维度的第二目标速率。

在一些可能的实施方式中,生成模块702在根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率时,具体用于:

若第二维度不是目标维度,确定第二维度的当前速率是否符合第二维度的目标速率范围;

若第二维度的当前速率不符合第二维度的目标速率范围,则将目标速率范围内与当前速率之间速率差最小的速率作为第二维度的第二目标速率。

在一些可能的实施方式中,生成模块702在根据运动约束条件及第一维度的参考速率,确定第二维度的目标速率范围时,具体用于:

根据第一维度的参考速率,确定针对第二维度的尺度因子;

将运动约束条件限定的第二维度的最大初始速率与尺度因子的乘积作为目标最大速率;

将运动约束条件限定的第二维度的最小初始速率与尺度因子的乘积作为目标最小速率;

根据目标最大速率和目标最小速率确定目标速率范围。

在一些可能的实施方式中,根据生成模块702在根据第一维度的参考速率确定针对第二维度的尺度因子时,具体用于:

根据第n个第一维度的参考速率与第n个第一维度的第一因子,得到第n个第一维度的第二因子;其中,n为小于或等于N的正整数;其中,N为比第二维度优先级高的第一维度的总个数;第n个第一维度的优先级比第n-1个第一维度的优先级高一级;

根据N个第一维度的第二因子的乘积,得到针对第二维度的尺度因子。

在一些可能的实施方式中,生成模块702在根据当第n个第一维度的参考速率与第n个第一维度的第一因子,得到第n个第一维度的第二因子时,具体用于:

确定第n个第一维度的参考速率和第n个第一维度的第一修正系数的乘积;

确定所得到的乘积与第n个第一维度的第二修正系数之和;

将所确定的和与第n个第一维度的第一因子的乘积,作为第n-1个第一维度的第二因子。

在一些可能的实施方式中,至少一个维度包括第一平面内的移动维度、第一平面内的偏航维度和旋转维度;至少一个维度的优先级为水平移动维度的优先级高于偏航维度,且偏航维度的优先级高于旋转维度;

旋转维度的旋转轴垂直于第一平面。

上述的移动设备的运动控制装置,通过第一控制指令、移动设备在不同维度的运动响应优先级、移动设备的当前运动状态以及移动设备在不同维度的运动约束条件,生成符合当前运动状态下的安全速率范围的第二控制指令,再根据第二控制指令控制移动设备运动,可以有效避免移动设备出现侧翻等不安全的情况。

此外,若第一控制指令中仅包括移动设备的部分目标维度,也考虑到了在尽量满足目标维度的情况下,比目标维度优先级低的维度的当前速率是否能继续维持,能在尽量满足第一控制指令的情况下,对移动设备的运动进行有效调整,从而避免出现侧翻。

图8是根据一示例性实施例示出的一种移动设备800的框图。例如,移动设备800可以包含在移动电话、移动电脑等终端设备或者服务器等设备内。

参照图8,移动设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,多媒体数据组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。

处理组件802通常控制移动设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。

存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在移动设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件806为移动设备800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为移动设备800生成、管理和分配电力相关联的组件。

多媒体组件808包括在移动设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作状态,如拍摄状态或视频状态时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

多媒体数据组件810被配置为输出和/或输入多媒体数据信号。例如,多媒体数据组件810包括一个麦克风(MIC),当移动设备800处于操作状态,如呼叫状态、记录状态和语音识别状态时,麦克风被配置为接收外部多媒体数据信号。所接收的多媒体数据信号可以被进一步存储在存储器804或经由通信组件816发送。

在一些实施例中,多媒体数据组件810还包括一个扬声器,用于输出多媒体数据信号。

I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,操作钮等。这些操作钮可包括但不限于:主页操作钮、音量操作钮、启动操作钮和锁定操作钮。

传感器组件814包括一个或多个传感器,用于为移动设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如组件为移动设备800的显示器和小键盘,传感器组件814还可以检测移动设备800或移动设备800一个组件的位置改变,用户与移动设备800接触的存在或不存在,移动设备800方位或加速/减速和移动设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件816被配置为便于移动设备800和其他设备之间有线或无线方式的通信。移动设备800可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述信息处理方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

上述指令被处理器820执行之后可包括:

获取第一控制指令及移动设备的当前运动状态;其中,第一控制指令,用于指示移动设备在各维度的运动速率;

根据第一控制指令、移动设备在不同维度的运动响应优先级、移动设备的当前运动状态以及移动设备在不同维度的运动约束条件,生成第二控制指令;

根据第二控制指令,控制移动设备运动。

可以理解的,根据第一控制指令、移动设备在不同维度的运动响应优先级、移动设备的当前运动状态以及移动设备在不同维度的运动约束条件,生成第二控制指令,包括:

根据第一控制指令,确定待移动设备响应的目标维度和目标维度的第一目标速率;

根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率;

根据第二目标速率,生成第二控制指令。

可以理解的,根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率,包括:

若目标维度为各维度内优先级最高的维度,根据目标维度的第一目标速率和运动约束条件对目标维度的速度限制,确定目标维度的第二目标速率。

可以理解的,根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率,包括:

确定第一维度的参考速率;其中,当第一维度不是目标维度时,第一维度的参考速率为第一维度的当前速率;或者,当第一维度是目标维度时,第一维度的参考速率为第一维度的第二目标速率;

根据运动约束条件及第一维度的参考速率,确定第二维度的目标速率范围;其中,第二维度的优先级低于第一维度;

若第二维度是目标维度,根据第二维度的第一目标速率和目标速率范围,将目标速率范围内与第一目标速率之间速率差最小的速率作为第二维度的第二目标速率。

可以理解的,根据移动设备在不同维度的优先级、移动设备的当前运动状态、运动约束条件以及目标维度的第一目标速率,确定至少一个维度的第二目标速率,包括:

若第二维度不是目标维度,确定第二维度的当前速率是否符合第二维度的目标速率范围;

若第二维度的当前速率不符合第二维度的目标速率范围,则将目标速率范围内与当前速率之间速率差最小的速率作为第二维度的第二目标速率。

可以理解的,根据运动约束条件及第一维度的参考速率,确定第二维度的目标速率范围,包括:

根据第一维度的参考速率,确定针对第二维度的尺度因子;

将运动约束条件限定的第二维度的最大初始速率与尺度因子的乘积作为目标最大速率;

将运动约束条件限定的第二维度的最小初始速率与尺度因子的乘积作为目标最小速率;

根据目标最大速率和目标最小速率确定目标速率范围。

可以理解的,根据第一维度的参考速率确定针对第二维度的尺度因子,包括:

根据第n个第一维度的参考速率与第n个第一维度的第一因子,得到第n个第一维度的第二因子;其中,n为小于或等于N的正整数;其中,N为比第二维度优先级高的第一维度的总个数;第n个第一维度的优先级比第n-1个第一维度的优先级高一级;

根据N个第一维度的第二因子的乘积,得到针对第二维度的尺度因子。

可以理解的,根据第n个第一维度的参考速率与第n个第一维度的第一因子,得到第n个第一维度的第二因子,包括:

确定第n个第一维度的参考速率和第n个第一维度的第一修正系数的乘积;

确定所得到的乘积与第n个第一维度的第二修正系数之和;

将所确定的和与第n个第一维度的第一因子的乘积,作为第n个第一维度的第二因子。

可以理解的,至少一个维度包括第一平面内第一方向的第一移动维度、第一平面内第二方向的第二移动维度、以第三方向为中心轴旋转的偏航维度和以第二方向为中心轴旋转的旋转维度;至少一个维度的优先级为第一移动维度的优先级高于第二移动维度;第二移动维度的优先级高于偏航维度,且偏航维度的优先级高于旋转维度;

第三方向垂直于第一平面。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术分类

06120116459091