欢迎光临小豌豆知识网!
当前位置:首页 > 物理技术 > 调节控制> 可移动平台的控制方法、设备、可移动平台及存储介质独创技术69253字

可移动平台的控制方法、设备、可移动平台及存储介质

2021-02-25 06:49:10

可移动平台的控制方法、设备、可移动平台及存储介质

  技术领域

  本发明实施例涉及运动学控制领域,尤其涉及一种可移动平台的控制方法、设备、可移动平台及存储介质。

  背景技术

  现有技术中可移动平台,例如,可移动机器人、可移动小车、无人驾驶车辆等,可以由用户设备进行控制。具体的,用户通过该用户设备向该可移动平台发送控制指令,该可移动平台中的控制器根据该控制指令控制该可移动平台运动。

  当该可移动平台以较大的速度平移时,该可移动平台的底盘上的轮子的转速相应较大,如果在该底盘以较大速度平移的同时,该控制器又接收到该用户设备发送的转动指令,为了完成该转动指令所对应的转向运动,每个轮子需要在原有转速的基础上额外输出一个转速,假如某个轮子的原有转速已经接近该轮子的最大转速,那么该轮子在原有转速的基础上可输出的剩余转速将有可能小于该轮子完成该转向运动需要额外输出的转速,从而导致该可移动平台的运动状态无法达到用户期望的运动状态,以及导致该可移动平台无法保持稳定的运动状态。

  发明内容

  本发明实施例提供一种可移动平台的控制方法、设备、可移动平台及存储介质,以解决可移动平台的动力系统由于动力饱和而导致可移动平台无法保持稳定运动的问题,同时保证可移动平台的运动方向与用户所期望的可移动平台的运动方向相同。

  本发明实施例的第一方面是提供一种可移动平台的控制方法,所述可移动平台包括动力系统,所述动力系统用于驱动所述可移动平台运动,所述动力系统包括至少一个电机控制器、多个电机以及与所述电机一一对应的多个全向轮,所述至少一个电机控制器用于控制多个所述电机转动,多个所述电机分别用于驱动对应的全向轮转动,所述方法包括:

  获取用于控制所述可移动平台运动的用户指令;

  根据所述用户指令,确定用于控制所述可移动平台运动的输入控制量;

  当确定所述动力系统直接基于所述输入控制量执行将处于动力饱和状态时,根据所述输入控制量,重新确定所述用于控制所述可移动平台运动的目标控制量,其中,所述动力系统直接基于所述目标控制量执行将处于动力非饱和状态;

  根据所述目标控制量,控制所述可移动平台运动;

  其中,所述输入控制量指示的所述可移动平台的运动方向与所述目标控制量指示的所述可移动平台的运动方向相同。

  本发明实施例的第二方面是提供一种可移动平台的控制设备,所述可移动平台包括动力系统,所述动力系统用于驱动所述可移动平台运动,所述动力系统包括至少一个电机控制器、多个电机以及与所述电机一一对应的多个全向轮,所述至少一个电机控制器用于控制多个所述电机转动,多个所述电机分别用于驱动对应的全向轮转动,包括:所述控制设备包括:存储器和处理器;

  所述存储器用于存储程序代码;

  所述处理器,调用所述程序代码,当程序代码被执行时,用于执行以下操作:

  获取用于控制所述可移动平台运动的用户指令;

  根据所述用户指令,确定用于控制所述可移动平台运动的输入控制量;

  当确定所述动力系统直接基于所述输入控制量执行将处于动力饱和状态时,根据所述输入控制量,重新确定所述用于控制所述可移动平台运动的目标控制量,其中,所述动力系统直接基于所述目标控制量执行将处于动力非饱和状态;

  根据所述目标控制量,控制所述可移动平台运动;

  其中,所述输入控制量指示的所述可移动平台的运动方向与所述目标控制量指示的所述可移动平台的运动方向相同。

  本发明实施例的第三方面是提供一种可移动平台,包括:

  机身;

  动力系统,安装在所述机身,用于驱动所述可移动平台运动,所述动力系统包括至少一个电机控制器、多个电机以及与所述电机一一对应的多个全向轮,所述至少一个电机控制器用于控制多个所述电机转动,多个所述电机分别用于驱动对应的全向轮转动;

  以及第二方面所述的控制设备。

  本发明实施例的第四方面是提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。

  本实施例提供的可移动平台的控制方法、设备、可移动平台及存储介质,通过用户控制可移动平台运动的用户指令所对应的用于控制该可移动平台运动的输入控制量,确定该可移动平台的动力系统直接执行该输入控制量时是否将处于动力饱和状态,如果是,则根据该输入控制量,重新确定用于控制该可移动平台运动的目标控制量,使得动力系统直接基于该目标控制量执行将处于动力非饱和状态,也就是说,在可移动平台的动力不足以执行该用户指令对应的输入控制量时,通过该目标控制量来控制可移动平台运动可有效避免该动力系统由于动力饱和而导致可移动平台无法保持稳定运动的问题,另外,输入控制量指示的该可移动平台的运动方向与该目标控制量指示的该可移动平台的运动方向相同,即重新确定的目标控制量可保证可移动平台的运动方向与用户所期望的可移动平台的运动方向相同。

  附图说明

  为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

  图1为本发明实施例提供的一种应用场景的示意图;

  图2为本发明实施例提供的一种动力系统的结构示意图;

  图3为本发明实施例提供的一种全向轮的示意图;

  图4为本发明实施例提供的一种全向轮底盘的示意图;

  图5为本发明实施例提供的可移动平台的控制方法的流程图;

  图6为本发明实施例提供的一种机体坐标系的示意图;

  图7为本发明实施例提供的另一种机体坐标系的示意图;

  图8为本发明另一实施例提供的可移动平台的控制方法的流程图;

  图9为本发明实施例提供的控制设备的结构图。

  附图标记:

  11:可移动机器人;12:用户终端;71:辊子;

  80:控制设备;

  81:存储器;82:处理器;83:通讯接口。

  具体实施方式

  下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。

  除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

  下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

  本发明实施例提供一种可移动平台的控制方法。所述可移动平台包括动力系统,所述动力系统用于驱动所述可移动平台运动,所述动力系统包括至少一个电机控制器、多个电机以及与所述电机一一对应的多个全向轮,所述至少一个电机控制器用于控制多个所述电机转动,多个所述电机分别用于驱动对应的全向轮转动。

  本实施例所述的可移动平台具体可以是可移动机器人、可移动小车、无人驾驶车辆等。下面以如图1所示的可移动机器人11为例进行示意性说明。如图1所示,该可移动机器人11可以由用户终端12进行控制。例如,用户可通过用户终端12向可移动机器人11发送控制指令,可移动机器人11根据该控制指令进行移动。本实施例并不限定用户终端12的产品形态,该用户终端12具体可以是智能手机、平板电脑、笔记本电脑等。

  可移动机器人11包括动力系统,该动力系统用于驱动可移动机器人11运动,可移动机器人11运动包括可移动机器人11平移和转动中的至少一种。具体的,该动力系统包括至少一个电机控制器、多个电机以及与所述电机一一对应的多个全向轮,如图2所示,假设该动力系统包括一个电机控制器、4个电机和4个全向轮。其中,该电机控制器与该4个电机分别连接,该电机控制器用于控制该4个电机转动,该4个电机与该4个全向轮一一对应,每个电机用于驱动与该电机连接的全向轮转动。在其他实施例中,该动力系统还可以包括多个电机控制器,例如,一个电机连接有一个电机控制器。此外,电机和全向轮的个数也不限于是4个,例如,可以是3个、6个、8个等。在本实施例中,电机控制器具体可以是电子调速器。

  在本实施例中,该全向轮具体可以是麦克纳姆轮,或者是瑞典轮,图3所示是麦克纳姆轮的一个示意图,如图3所示,麦克纳姆轮包括辊子和轮毂,对于麦克纳姆轮而言,辊子和轮毂成45度夹角。对于瑞典轮而言,辊子和轮毂成90度夹角。图4所示为基于麦克纳姆轮的全向轮底盘。

  本实施例以麦克纳姆轮为例介绍一种可移动平台的控制方法,另外,当该可移动平台的全向轮是瑞典轮时对可移动平台的控制方法与麦克纳姆轮场景下对可移动平台的控制方法原理是类似的。

  图5为本发明实施例提供的可移动平台的控制方法的流程图。如图5所示,本实施例中的方法,可以包括:

  步骤S501、获取用于控制所述可移动平台运动的用户指令。

  本实施例方法的执行主体可以是可移动平台的控制设备,该可移动平台具体可以是图1所示的可移动机器人11。该可移动机器人11的控制设备具体可以是如图2所示的底盘主控。如图2所示,该底盘主控可以与该电机控制器通信连接,该底盘主控可获取用于控制所述可移动平台运动的用户指令。

  所述获取用于控制所述可移动平台运动的用户指令,包括:接收用户终端发送的用于控制所述可移动平台运动的用户指令。

  如图2所示,该底盘主控可接收用户终端发送的用户指令,该用户终端和该底盘主控可以直接进行通信,也可以通过其他的通信设备或网元进行通信,例如,其他通信设备或网元将该用户终端发送的用户指令转发给该底盘主控。其中,该用户指令可以是用户通过该用户终端生成的用于控制可移动机器人11运动的用户指令。

  步骤S502、根据所述用户指令,确定用于控制所述可移动平台运动的输入控制量。

  当该底盘主控接收到该用户指令后,可以将该用户指令转化为用于控制可移动机器人11运动的控制量,此处,将由该用户指令转化得到的控制量记为输入控制量,即由该用户指令转化得到的控制量是用于控制可移动机器人11运动的输入控制量。可选的,所述输入控制量包括如下至少一种:所述可移动平台的速度、所述可移动平台的角速度。

  在本实施例中,用于控制可移动机器人11运动的输入控制量包括:该可移动机器人11的输入速度和输入角速度中的至少一个。其中,该可移动机器人11的输入速度可以理解为该用户对底盘的期望速度,该期望速度是该用户期望底盘平移的速度。该可移动机器人11的输入角速度可以理解为该用户对底盘的期望角速度,该期望角速度是该用户期望底盘转动的角速度。在一些场景下,该输入控制量可能只包括输入速度,此时,底盘可能只进行平移。在另一些场景下,该输入控制量可能只包括输入角速度,此时,底盘可能只进行转动。在其他一些场景下,该输入控制量可能同时包括输入速度和输入角速度,此时,底盘可能同时进行平移和转动。

  步骤S503、当确定所述动力系统直接基于所述输入控制量执行将处于动力饱和状态时,根据所述输入控制量,重新确定所述用于控制所述可移动平台运动的目标控制量,其中,所述动力系统直接基于所述目标控制量执行将处于动力非饱和状态。

  其中,所述输入控制量指示的所述可移动平台的运动方向与所述目标控制量指示的所述可移动平台的运动方向相同。

  当该底盘主控将该用户指令转化为用于控制可移动机器人11运动的输入控制量之后,该底盘主控进一步确定可移动机器人11的动力系统直接执行该输入控制量时,该动力系统是否将处于动力饱和状态。如果该底盘主控确定该动力系统直接执行该输入控制量时将处于动力饱和状态,则该底盘主控可以根据该输入控制量,重新确定用于控制可移动机器人11运动的控制量,此处,将该底盘主控重新确定的用于控制可移动机器人11运动的控制量记为目标控制量。该目标控制量需要满足的条件是:可移动机器人11的动力系统直接执行该目标控制量时,该动力系统将处于动力非饱和状态,并且该输入控制量指示的可移动机器人11的运动方向与该目标控制量指示的可移动机器人11的运动方向相同。也就是说,该底盘主控重新确定的用于控制可移动机器人11运动的目标控制量需要保证该可移动机器人11的运动方向与用户所期望的可移动机器人11的运动方向相同。

  本实施例不限定底盘主控确定所述动力系统直接基于所述输入控制量执行时是否将处于动力饱和状态的方法,作为一种可行的实现方式,该方法包括:根据所述可移动平台的输入控制量,确定多个所述电机中每个所述电机需要达到的第一转速;当多个所述电机中至少一个所述电机需要达到的第一转速大于所述电机的最大转速时,则确定所述动力系统直接基于所述输入控制量执行将处于动力饱和状态。

  例如,该输入控制量包括:输入速度和输入角速度。如图6所示,X轴和Y轴构成的坐标系可以是可移动机器人11的机体坐标系,也可以是世界坐标系,如果该坐标系是机体坐标系,则该机体坐标系的坐标原点可以是可移动机器人11的几何中心。如果该坐标系是世界坐标系,则该世界坐标系的坐标原点可以是某一个预先固定的点。可以理解,机体坐标系会随着可移动机器人11的位置的变化而变化。而世界坐标系不会随着可移动机器人11的位置的变化而变化。此处,以可移动机器人11的机体坐标系为例进行示意性说明。如图6所示,V表示该输入速度,则该输入速度V可以在机体坐标系的X轴上有一个分量,在机体坐标系的Y轴上有一个分量。可选的,将该输入速度V在机体坐标系的X轴上的分量记为Vx,将该输入速度V在机体坐标系的Y轴上的分量记为Vy,也就是说,V是Vx和Vy的合速度。另外,将输入角速度记为ω。进一步,将Vx、Vy、ω代入如下所示的公式即运动学方程中,可确定出为了使可移动机器人11的速度达到该输入速度,并且使该可移动机器人11的角速度达到该输入角速度,该可移动机器人11的底盘的4个电机中每个电机需要达到的第一转速。该4个电机中每个电机需要达到的第一转速可理解成用户对该4个电机中每个电机的期望转速。可以理解,电机的转速和全向轮的转速是相同的,因此,4个电机中每个电机的期望转速也就是4个全向轮中每个全向轮的期望转速。具体的,可以将电机1的期望转速记为ω1,将电机2的期望转速记为ω2,将电机3的期望转速记为ω3,将电机4的期望转速记为ω4。

  

  其中,r表示全向轮的半径。α1表示全向轮1的辊子和轮毂的夹角,α2表示全向轮2的辊子和轮毂的夹角,α3表示全向轮3的辊子和轮毂的夹角,α4表示全向轮4的辊子和轮毂的夹角。通常情况下,α1、α2、α3、α4是相同的,在一些场景中,也有可能不同。l1表示底盘的运动学中心与全向轮1的圆心之间的距离,l2表示底盘的运动学中心与全向轮2的圆心之间的距离,l3表示底盘的运动学中心与全向轮3的圆心之间的距离,l4表示底盘的运动学中心与全向轮4的圆心之间的距离,通常情况下,l1、l2、l3、l4是相同的,在一些场景中,也有可能不同。

  如图7所示,XOY是可移动机器人11的机体坐标系,x’o’y’是可移动机器人11的任意一个全向轮的坐标系,71表示该全向轮上的任意一个辊子,lix表示该全向轮的坐标系的坐标原点o’在该机体坐标系X轴上的坐标,liy示该全向轮的坐标系的坐标原点o’在该机体坐标系Y轴上的坐标。当该全向轮是如上所述的全向轮1时,αi=α1,当该全向轮是如上所述的全向轮2时,αi=α2,以此类推。

  如图7所示,该全向轮的坐标系的坐标原点o’与该机体坐标系的坐标原点O之间的距离可以是底盘的运动学中心与该全向轮的圆心之间的距离。当该全向轮是如上所述的全向轮1时,o’与O之间的距离为l1,当该全向轮是如上所述的全向轮2时,o’与O之间的距离为l2,l3和l4以此类推。

  如图7所示,该全向轮的坐标系的x’轴相对于该机体坐标系X轴的夹角为θi,当该全向轮是如上所述的全向轮1时,θi=θ1,当该全向轮是如上所述的全向轮2时,θi=θ2,θ3和θ4以此类推。通常情况下,θ1、θ2、θ3、θ4是相同的,在一些场景中,也有可能不同。

  另外,如图7所示,经过该全向轮的坐标系的坐标原点o’和该机体坐标系的坐标原点O的直线相对于该机体坐标系X轴的夹角为βi,当该全向轮是如上所述的全向轮1时,βi=β1,当该全向轮是如上所述的全向轮2时,βi=β2,β3和β4以此类推。通常情况下,β1、β2、β3、β4是相同的,在一些场景中,也有可能不同。

  当底盘主控通过上述公式计算出电机1的期望转速ω1、电机2的期望转速ω2、电机3的期望转速ω3、电机4的期望转速ω4后,进一步,确定电机1的期望转速ω1是否大于电机1的最大转速、电机2的期望转速ω2是否大于电机2的最大转速、电机3的期望转速ω3是否大于电机3的最大转速、以及电机4的期望转速ω4是否大于电机4的最大转速,如果该4个电机中至少有一个电机的期望转速大于该电机的最大转速,则确定该动力系统直接基于所述输入控制量执行将处于动力饱和状态。

  当该底盘主控确定该动力系统直接基于所述输入控制量执行将处于动力饱和状态时,进一步根据所述输入控制量,重新确定所述用于控制所述可移动平台运动的目标控制量。可选的,所述输入控制量以及所述目标控制量包括如下至少一种:所述可移动平台的速度、所述可移动平台的角速度。

  步骤S504、根据所述目标控制量,控制所述可移动平台运动。

  当该底盘主控确定出该目标控制量后,根据该目标控制量控制可移动平台,例如,可移动机器人11运动。

  可选的,所述根据所述目标控制量,控制所述可移动平台运动,包括:根据所述目标控制量,确定多个所述电机中每个所述电机的目标转速;根据多个所述电机中每个所述电机的目标转速,控制对应的电机转动,以控制所述可移动平台运动。

  例如,该底盘主控根据该目标控制量,确定可移动机器人11的4个电机中每个电机的目标转速,进一步,根据该4个电机中每个电机的目标转速,控制对应的电机转动,以控制可移动机器人11运动。

  可选的,所述目标控制量包括所述可移动平台的目标速度以及所述可移动平台的目标角速度。所述根据所述目标控制量,确定多个所述电机中每个所述电机的目标转速,包括:根据所述可移动平台的目标速度和所述可移动平台的目标角速度,确定多个所述电机中每个所述电机的目标转速。

  例如,该目标速度可以类似于输入速度,在机体坐标系的X轴上有一个分量,在机体坐标系的Y轴上有一个分量。将该目标速度在X轴上的分量、该目标速度在Y轴上的分量、以及该目标角速度代入到如上所述的公式中,即可确定出该4个电机中每个电机的目标转速。

  可选的,所述根据多个所述电机中每个所述电机的目标转速,控制对应的电机转动,包括:将多个所述电机中每个所述电机的目标转速发送给至少一个所述电机控制器,以使得至少一个所述电机控制器控制每个所述电机转动到相应的目标转速。

  如图2所示,当底盘主控确定出可移动机器人11的4个电机中每个电机的目标转速后,可将该4个电机中每个电机的目标转速发送给电机控制器,由该电机控制器根据每个电机的目标转速控制相应的电机转动,使得4个电机分别转动到相应的目标转速。在其他实施例中,每个电机可以连接有一个电机控制器,该底盘主控确定出可移动机器人11的4个电机中每个电机的目标转速后,可以将该4个电机中每个电机的目标转速发送给相应电机所连接的电机控制器,由每个电机对应的电机控制器控制相应的电机转动。

  本实施例通过用户控制可移动平台运动的用户指令所对应的用于控制该可移动平台运动的输入控制量,确定该可移动平台的动力系统直接执行该输入控制量时是否将处于动力饱和状态,如果是,则根据该输入控制量,重新确定用于控制该可移动平台运动的目标控制量,使得动力系统直接基于该目标控制量执行将处于动力非饱和状态,也就是说,在可移动平台的动力不足以执行该用户指令对应的输入控制量时,通过该目标控制量来控制可移动平台运动可有效避免该动力系统由于动力饱和而导致可移动平台无法保持稳定运动的问题,另外,输入控制量指示的该可移动平台的运动方向与该目标控制量指示的该可移动平台的运动方向相同,即重新确定的目标控制量可保证可移动平台的运动方向与用户所期望的可移动平台的运动方向相同。

  本发明实施例提供一种可移动平台的控制方法。图8为本发明另一实施例提供的可移动平台的控制方法的流程图。如图8所示,在上述实施例的基础上,所述根据所述输入控制量,重新确定所述用于控制所述可移动平台运动的目标控制量,包括:

  步骤S701、根据所述输入控制量,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的运动状态。

  可选的,所述输入控制量包括所述可移动平台的输入速度以及所述可移动平台的输入角速度。

  如上所述,当底盘主控根据输入速度V的两个分量Vx和Vy、以及输入角速度ω,通过上述公式计算出4个电机中每个电机需要达到的第一转速,即电机1的期望转速ω1、电机2的期望转速ω2、电机3的期望转速ω3、电机4的期望转速ω4后,假设ω1是4900转每秒,ω2是5100转每秒,ω3是5200转每秒,ω4是5300转每秒,且每个电机的最大转速是5000转每秒,则该底盘主控确定该可移动机器人的动力系统如果直接执行该输入控制量,将导致该动力系统处于动力饱和状态。此时,该底盘主控可以确定在该4个电机中每个电机均不出现动力饱和时,该可移动机器人可达到的运动状态。

  在一种可能的方式中,所述根据所述输入控制量,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的运动状态,包括:根据所述可移动平台的输入速度以及所述可移动平台的输入角速度,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的第一速度和第一角速度。

  例如,底盘主控可根据输入速度V的两个分量Vx和Vy、以及输入角速度ω,确定该可移动机器人的该4个电机中每个电机均不出现动力饱和时,该可移动机器人可达到的第一速度和第一角速度,此处,将该第一速度记为V’,将第一角速度记为ω’。

  可选的,所述根据所述可移动平台的输入速度以及所述可移动平台的输入角速度,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的第一速度和第一角速度,包括:根据所述可移动平台的输入速度和所述可移动平台的输入角速度,确定多个所述电机中每个所述电机需要达到的第一转速;根据多个所述电机中每个所述电机需要达到的第一转速,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的第一速度和第一角速度。

  如上所述,可移动机器人的输入速度为V,V的两个分量为Vx和Vy,可移动机器人的输入角速度为ω,将Vx、Vy、ω代入如上所述的公式中,即可确定出该可移动机器人11的底盘的4个电机中每个电机需要达到的第一转速,即如上所述的电机1的期望转速ω1、电机2的期望转速ω2、电机3的期望转速ω3、电机4的期望转速ω4。具体的,底盘主控可根据电机1的期望转速ω1、电机2的期望转速ω2、电机3的期望转速ω3、电机4的期望转速ω4,确定该可移动机器人的该4个电机中每个电机均不出现动力饱和时,该可移动机器人可达到的第一速度V’和第一角速度ω’。

  可选的,所述根据多个所述电机中每个所述电机需要达到的第一转速,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的第一速度和第一角速度,包括:根据多个所述电机中每个所述电机需要达到的第一转速,确定多个所述电机中每个所述电机的第二转速,所述第二转速小于或等于所述电机的最大转速;根据多个所述电机中每个所述电机的第二转速,确定所述可移动平台可达到的第一速度和第一角速度。

  例如,底盘主控根据电机1的期望转速ω1、电机2的期望转速ω2、电机3的期望转速ω3、电机4的期望转速ω4,确定该可移动机器人的该4个电机中每个电机均不出现动力饱和时,该可移动机器人可达到的第一速度V’和第一角速度ω’的具体方式可以为:可根据电机1的期望转速ω1、电机2的期望转速ω2、电机3的期望转速ω3、电机4的期望转速ω4,确定该4个电机中每个电机的第二转速,使得每个电机的第二转速小于或等于该电机的最大转速。也就是说,当ω1是4900转每秒,ω2是5100转每秒,ω3是5200转每秒,ω4是5300转每秒,且每个电机的最大转速是5000转每秒时,该底盘主控需要对ω1、ω2、ω3、ω4进行调整,得到调整后的ω1’、ω2’、ω3’、ω4’,使得ω1’、ω2’、ω3’、ω4’均小于或等于5000转每秒,此处,可以将ω1’记为电机1的第二转速,将ω2’记为电机2的第二转速,将ω3’记为电机3的第二转速,将ω4’记为电机4的第二转速;进一步,根据ω1’、ω2’、ω3’、ω4’确定该可移动机器人可达到的第一速度V’和第一角速度ω’。

  可选的,所述根据多个所述电机中每个所述电机需要达到的第一转速,确定多个所述电机中每个所述电机的第二转速,包括:确定多个所述电机中每个所述电机需要达到的第一转速与所述电机的最大转速的转速差,得到多个转速差中的最大转速差;根据多个所述电机中每个所述电机需要达到的第一转速与所述最大转速差,确定多个所述电机中每个所述电机的第二转速。

  例如,底盘主控根据电机1的期望转速ω1、电机2的期望转速ω2、电机3的期望转速ω3、电机4的期望转速ω4,确定该4个电机中每个电机的第二转速时,可确定该4个电机中每个电机的期望转速与该电机的最大转速的转速差,例如,电机1的期望转速ω1和电机1的最大转速对应有一个转速差Δω1,电机2的期望转速ω2和电机2的最大转速对应有一个转速差Δω2,电机3的期望转速ω3和电机3的最大转速对应有一个转速差Δω3,电机4的期望转速ω4和电机4的最大转速对应有一个转速差Δω4。进一步,从Δω1、Δω2、Δω3、Δω4中选出一个最大转速差,并将该最大转速差记为Δωmax。当ω1是4900转每秒,ω2是5100转每秒,ω3是5200转每秒,ω4是5300转每秒,且每个电机的最大转速是5000转每秒时,Δω1=-100转每秒,Δω2=100转每秒,Δω3=200转每秒,Δω4=300转每秒,其中,Δω4最大,则Δωmax=Δω4。进一步,根据ω1、ω2、ω3、ω4、以及Δωmax,确定ω1’、ω2’、ω3’、ω4’。

  在一种可能的情况中,多个所述电机中每个所述电机的第二转速是所述电机的第一转速与所述最大转速差的差值。

  例如,ω1’=ω1-Δωmax,ω2’=ω2-Δωmax,ω3’=ω3-Δωmax,ω4’=ω4-Δωmax,相应的,ω1是4900转每秒,ω2是5100转每秒,ω3是5200转每秒,ω4是5300转每秒,Δωmax=300转每秒时,ω1’=4600转每秒,ω2’=4800转每秒,ω3’=4900转每秒,ω4’=5000转每秒,即该4个电机中每个电机的第二转速均小于或等于该电机的最大转速。

  在另一种可能的情况中,所述根据多个所述电机中每个所述电机需要达到的第一转速与所述最大转速差,确定多个所述电机中每个所述电机的第二转速,包括:确定多个所述电机中需要达到的第一转速最大的目标电机;所述目标电机的第二转速为所述目标电机需要达到的第一转速与所述最大转速差的差值;与所述目标电机位于所述可移动平台同一侧的第一电机的第二转速为所述第一电机需要达到的第一转速;与所述目标电机位于所述可移动平台不同侧的第二电机的第二转速为所述第二电机需要达到的第一转速与所述最大转速差的差值;与所述第二电机位于所述可移动平台同一侧的第三电机的第二转速为所述第三电机需要达到的第一转速。

  如图2所示,假设电机1和电机2在该可移动机器人的左侧,电机3和电机4在该可移动机器人的右侧,假设该4个电机中只有一个电机的期望转速大于该电机的最大转速,例如,ω1是4900转每秒,ω2是4800转每秒,ω3是4700转每秒,ω4是5300转每秒,根据上述计算Δωmax的方法可知Δωmax=300转每秒。当该底盘主控根据ω1、ω2、ω3、ω4、以及Δωmax,确定ω1’、ω2’、ω3’、ω4’时,该底盘主控可先确定出ω1、ω2、ω3、ω4中的最大者,例如,ω4是ω1、ω2、ω3、ω4中最大的。进一步,该底盘主控确定电机4的第二转速ω4’=ω4-Δωmax,确定与该电机4位于该可移动机器人同一侧的电机3的第二转速ω3’=ω3,从与电机4位于该可移动机器人不同侧的两个电机即电机1和电机2中随机选取一个电机,例如选取电机1,确定该电机1的第二转速ω1’=ω1-Δωmax,并确定与该电机1位于该可移动机器人同一侧的电机2的第二转速ω2’=ω2。

  步骤S702、根据所述可移动平台可达到的运动状态,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度。

  例如,当底盘主控根据可移动机器人的输入速度V的两个分量Vx和Vy、以及输入角速度ω,确定出该4个电机中每个电机均不出现动力饱和时,该可移动机器人可达到的运动状态时,进一步,根据该可移动机器人可达到的运动状态,确定该可移动机器人的目标速度和该可移动机器人的目标角速度,此处,可以将该可移动机器人的目标速度记为V″,将该可移动机器人的目标角速度记为ω″。

  可选的,所述根据所述可移动平台可达到的运动状态,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度,包括:根据所述可移动平台可达到的第一速度和第一角速度,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度。

  例如,该底盘主控可具体根据如上所述的可移动机器人可达到的第一速度V’和第一角速度ω’,确定该可移动机器人的目标速度V″和该可移动机器人的目标角速度ω″。

  可选的,所述根据所述可移动平台可达到的第一速度和第一角速度,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度,包括:根据所述可移动平台可达到的第一速度和所述可移动平台的输入速度,确定所述可移动平台的目标速度,其中,所述目标速度的大小等于所述第一速度的大小,所述目标速度的方向与所述输入速度的方向一致;根据所述可移动平台可达到的第一角速度和所述可移动平台的输入角速度,确定所述可移动平台的目标角速度。

  例如,当该底盘主控根据如上所述的可移动机器人可达到的第一速度V’和第一角速度ω’,确定该可移动机器人的目标速度V″和该可移动机器人的目标角速度ω″时,可根据该可移动机器人可达到的第一速度V’和该可移动机器人的输入速度即V,确定该可移动机器人的目标速度V″。具体的,该可移动机器人的目标速度V″的大小与该可移动机器人可达到的第一速度V’的大小相同,该可移动机器人的目标速度V″的方向与该可移动机器人的输入速度V的方向相同。同时,根据该可移动机器人可达到的第一角速度ω’和该可移动机器人的输入角速度ω,确定该可移动机器人的目标角速度ω″。

  可选的,所述根据所述可移动平台可达到的第一角速度和所述可移动平台的输入角速度,确定所述可移动平台的目标角速度,包括:如果所述可移动平台可达到的第一角速度小于或等于所述可移动平台的输入角速度,则所述可移动平台的目标角速度为所述第一角速度;如果所述可移动平台可达到的第一角速度大于所述可移动平台的输入角速度,则所述可移动平台的目标角速度为所述输入角速度。

  例如,在根据该可移动机器人可达到的第一角速度ω’和该可移动机器人的输入角速度ω,确定该可移动机器人的目标角速度ω″时,如果该可移动机器人可达到的第一角速度ω’小于或等于该可移动机器人的输入角速度ω,则该可移动机器人的目标角速度ω″=ω’。如果该可移动机器人可达到的第一角速度ω’大于该可移动机器人的输入角速度ω,则该可移动机器人的目标角速度ω″=ω。

  可以理解,该可移动机器人的目标速度V″可以在如上所述的机体坐标系的X轴和Y轴上分别有一个分量,当该底盘主控确定出该可移动机器人的目标速度V″和目标角速度ω″,可将该目标速度V″在机体坐标系的X轴和Y轴上的分量、以及目标角速度ω″代入到如上所述的公式中,即可确定出可移动机器人11的4个电机中每个电机的目标转速,此处,可以将电机1的目标转速记为ω1″,将电机2的目标转速记为ω2″,将电机3的目标转速记为ω3″,将电机4的目标转速记为ω4″,进一步,将该4个电机中每个电机的目标转速发送给电机控制器,由该电机控制器根据每个电机的目标转速控制相应的电机转动,使得4个电机分别转动到相应的目标转速。

  本实施例通过根据所述可移动平台的输入速度以及所述可移动平台的输入角速度,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的第一速度和第一角速度,并根据所述可移动平台可达到的第一速度和第一角速度,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度,实现了根据所述输入控制量,重新确定所述用于控制所述可移动平台运动的目标控制量的方法,在可移动平台的动力不足以执行该用户指令对应的输入控制量时,通过该目标控制量来控制可移动平台运动可有效避免该动力系统由于动力饱和而导致可移动平台无法保持稳定运动的问题。

  本发明实施例提供一种可移动平台的控制方法。在上述实施例中介绍了根据所述输入控制量,重新确定所述用于控制所述可移动平台运动的目标控制量时,具体可根据所述输入控制量,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的运动状态;并根据所述可移动平台可达到的运动状态,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度。

  在本实施例中,所述输入控制量包括所述可移动平台的输入速度和所述可移动平台的输入角速度中的至少一个。例如,如上所述的可移动机器人的输入控制量包括输入速度V和输入角速度ω中的至少一个。

  作为另一种可能的实现方式,所述根据所述输入控制量,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的运动状态,包括:根据所述可移动平台的输入角速度,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的最大速度。

  例如,底盘主控可根据该可移动机器人的输入角速度ω,确定该可移动机器人的4个电机中每个电机均不出现动力饱和时,该可移动机器人可达到的最大速度,此处,将该可移动机器人可达到的最大速度记为Vmax。可以理解,该可移动机器人的总动力是有限的,当可移动机器人将其部分动力用于做转动运动时,则该可移动机器人剩余的动力可用于做平移运动。具体的,底盘主控根据用户对该可移动机器人的期望角速度即输入角速度ω,确定该可移动机器人按照该输入角速度ω进行转动运动时,需要消耗的该可移动机器人的动力,进一步,根据该可移动机器人的剩余动力,确定该可移动机器人在不发生动力饱和的情况下,该可移动机器人可达到的最大速度。该可移动机器人可达到的最大速度可以理解为:将可移动机器人的剩余动力全部用于该可移动机器人进行平移运动时,该可移动机器人可达到的平移速度。

  可选的,所述根据所述可移动平台的输入角速度,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的最大速度,包括:根据所述可移动平台的输入角速度,确定所述可移动平台的左侧轮子和右侧轮子的轮速差,所述可移动平台的输入角速度与所述轮速差正相关;根据所述可移动平台的左侧轮子和右侧轮子的轮速差,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的最大速度。

  在本实施例中,可预先建立该可移动机器人的左右两侧全向轮的轮速差与该可移动机器人的最大速度之间的对应关系。

  假设该可移动机器人包括如图2所示的4个全向轮,全向轮1和全向轮2在该可移动机器人的左侧,全向轮3和全向轮4在该可移动机器人的右侧,该可移动机器人的左右两侧全向轮的轮速差可以理解为全向轮1和全向轮2的总轮速与全向轮3和全向轮4的总轮速的差值。其中,全向轮的轮速具体是指该全向轮的转速。假设每个全向轮的最大轮速是5000转每秒,当全向轮沿正方向转动时,该全向轮的最大轮速是正的5000转每秒。当全向轮沿反方向转动时,该全向轮的最小轮速是负的5000转每秒。此处,全向轮沿正方向转动具体可以是全向轮沿顺时针方向转动,全向轮沿反方向转动具体可以是全向轮沿逆时针方向转动。

  假设同一侧全向轮的转动方向一致。因此,该可移动机器人的左右两侧全向轮的最大轮速差可以是正的20000转每秒,该可移动机器人的左右两侧全向轮的最小轮速差可以是负的20000转每秒。可以理解,当可移动机器人的左右两侧全向轮的轮速差为正的20000转每秒或负的20000转每秒时,说明该可移动机器人的总动力都用于该可移动机器人进行转动,而该可移动机器人不进行平移,此时,该可移动机器人可达到的最大速度为0。当可移动机器人的左右两侧全向轮的轮速差为0时,说明该可移动机器人的总动力都用于该可移动机器人进行平移,此时,将该可移动机器人可达到的最大速度记为Vmax1。当可移动机器人的左右两侧全向轮的轮速差大于0、且小于20000转每秒时,说明该可移动机器人的部分动力用于该可移动机器人进行转动,剩余部分动力用于该可移动机器人进行平移。例如,当可移动机器人的左右两侧全向轮的轮速差为正的15000转每秒时,该可移动机器人可达到的最大速度为Vmax2,确定当可移动机器人的左右两侧全向轮的轮速差为正的10000转每秒时,该可移动机器人可达到的最大速度为Vmax3,以此类推,可确定出可移动机器人的左右两侧全向轮的轮速差与该可移动机器人可达到的最大速度之间的对应关系。其中,Vmax1是Vmax1、Vmax2、Vmax3中最大的。

  可以理解,可移动机器人的角速度与该可移动机器人的左右两侧全向轮的轮速差正相关,也就是说,可移动机器人的左右两侧全向轮的轮速差越大时,该可移动机器人的角速度越大。

  具体的,可移动机器人的角速度、该可移动机器人的左右两侧全向轮的轮速差、以及该可移动机器人的最大速度之间的对应关系具体如下表1所示:

  表1

  

  因此,当底盘主控根据用户指令,确定出该可移动机器人的输入角速度时,根据该可移动机器人的输入角速度,从如上所述的表1中查询与该输入角速度匹配的角速度,再根据表1所示的可移动机器人的角速度与该可移动机器人的左右两侧全向轮的轮速差之间的关系,可确定出该可移动机器人的输入角速度所对应的该可移动机器人的左右两侧全向轮的轮速差,进一步,根据可移动机器人的左右两侧全向轮的轮速差与该可移动机器人的最大速度之间的对应关系,即可确定出该可移动机器人的输入角速度所对应的该可移动机器人的最大速度。

  相应的,作为另一种可能的实现方式,所述根据所述可移动平台可达到的运动状态,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度,包括:获取所述可移动平台可达到的最大角速度,并根据所述可移动平台可达到的最大速度和所述可移动平台可达到的最大角速度,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度。

  可以理解,可移动机器人的左右两侧全向轮的轮速差为正的20000转每秒或负的20000转每秒时,说明该可移动机器人的总动力都用于该可移动机器人进行转动,而该可移动机器人不进行平移,此时,该可移动机器人可达到的最大速度为0,该可移动机器人可达到的角速度最大,此处,将该可移动机器人可达到的最大角速度记为ωmax。进一步,根据该可移动机器人可达到的最大速度Vmax和该可移动机器人可达到的最大角速度ωmax,确定该可移动机器人的目标速度V″和该可移动机器人的目标角速度ω″。

  可选的,所述根据所述可移动平台可达到的最大速度和所述可移动平台可达到的最大角速度,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度,包括:根据所述可移动平台可达到的最大速度和所述可移动平台的输入速度,确定所述可移动平台的目标速度,所述目标速度的大小与所述最大速度的大小相同,所述目标速度的方向与所述输入速度的方向一致;根据所述可移动平台可达到的最大角速度和所述可移动平台的输入角速度,确定所述可移动平台的目标角速度。

  例如,当底盘主控根据如上所述的该可移动机器人可达到的最大速度Vmax和该可移动机器人可达到的最大角速度ωmax,确定该可移动机器人的目标速度V″和该可移动机器人的目标角速度ω″时,可根据该可移动机器人可达到的最大速度Vmax和该可移动机器人的输入速度即V,确定该可移动机器人的目标速度V″。具体的,该可移动机器人的目标速度V″的大小与该可移动机器人可达到的最大速度Vmax的大小相同,该可移动机器人的目标速度V″的方向与该可移动机器人的输入速度V的方向相同。同时,根据该可移动机器人可达到的最大角速度ωmax和该可移动机器人的输入角速度ω,确定该可移动机器人的目标角速度ω″。

  可选的,所述根据所述可移动平台可达到的最大角速度和所述可移动平台的输入角速度,确定所述可移动平台的目标角速度,包括:在所述可移动平台的输入角速度大于所述可移动平台可达到的最大角速度时,确定所述可移动平台的目标角速度为所述可移动平台可达到的最大角速度;在所述可移动平台的输入角速度不大于所述可移动平台可达到的最大角速度时,确定所述可移动平台的目标角速度为所述可移动平台的输入角速度。

  例如,在根据该可移动机器人可达到的最大角速度ωmax和该可移动机器人的输入角速度ω,确定该可移动机器人的目标角速度ω″时,如果该可移动机器人可达到的最大角速度ωmax小于该可移动机器人的输入角速度ω,则该可移动机器人的目标角速度ω″=ωmax。如果该可移动机器人可达到的最大角速度ωmax大于或等于该可移动机器人的输入角速度ω,则该可移动机器人的目标角速度ω″=ω。

  例如,该可移动机器人的输入角速度对应的该可移动机器人的左右两侧全向轮的轮速差大于正的20000转每秒时,可以将该可移动机器人的目标角速度ω″确定为ωmax,将该可移动机器人的目标速度V″确定为与该正的20000转每秒的轮速差所对应的该可移动机器人可达到的最大速度即0。进一步,根据将该目标速度V″在机体坐标系的X轴和Y轴上的分量、以及目标角速度ω″代入到如上所述的公式中,即可确定出可移动机器人11的4个电机中每个电机的目标转速,此处,可以将电机1的目标转速记为ω1″,将电机2的目标转速记为ω2″,将电机3的目标转速记为ω3″,将电机4的目标转速记为ω4″,进一步,将该4个电机中每个电机的目标转速发送给电机控制器,由该电机控制器根据每个电机的目标转速控制相应的电机转动,使得4个电机分别转动到相应的目标转速。

  本实施例通过根据所述可移动平台的输入角速度,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的最大速度,获取所述可移动平台可达到的最大角速度,并根据所述可移动平台可达到的最大速度和所述可移动平台可达到的最大角速度,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度,实现了根据所述输入控制量,重新确定所述用于控制所述可移动平台运动的目标控制量的方法,在可移动平台的动力不足以执行该用户指令对应的输入控制量时,通过该目标控制量来控制可移动平台运动可有效避免该动力系统由于动力饱和而导致可移动平台无法保持稳定运动的问题。

  可以理解,如上所述的根据所述输入控制量,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的运动状态的两种可实现方式中,均采用了根据可移动平台的输入速度V得到一个中间值V’,再根据该中间值V’得到可移动机器人的目标速度V″的过程。两种可实现方式不同之处在于,一种实现方式中的中间值V’是该可移动机器人的该4个电机中每个电机均不出现动力饱和时,该可移动机器人可达到的第一速度V’。另一种实现方式中的中间值V’是该可移动机器人的4个电机中每个电机均不出现动力饱和时,该可移动机器人可达到的最大速度Vmax。

  综上,以可移动平台为可移动小车为例,当可移动小车的底盘处于最大前进速度Vmax期间,当前的单个轮子的速度为θ0,接近满速θmax,则在维持当前速度的情况下增加一个转向指令w时,对于完成该转向运动所需的转速为θ1,而当单个轮子剩余输出转速θ2=θmax-θ0<θ1时,此时底盘将无法保证航向和维持住当前的速度且进行转向,姿态将出现大幅度震荡。一般来说,可以停止输入最大前进速度Vmax,使得可移动小车可以恢复正常,进入稳定状态。但利用本申请实施例的上述方案,可以支持以能够达到的最大速度前进的同时进行转向,以实现在急速的情况下稳定地急转弯。

  本发明实施例提供一种可移动平台的控制设备。所述可移动平台包括动力系统,所述动力系统用于驱动所述可移动平台运动,所述动力系统包括至少一个电机控制器、多个电机以及与所述电机一一对应的多个全向轮,所述至少一个电机控制器用于控制多个所述电机转动,多个所述电机分别用于驱动对应的全向轮转动。图9为本发明实施例提供的控制设备的结构图,如图9所示,控制设备80包括:存储器81和处理器82。其中,所述存储器用于存储程序代码;处理器82,调用所述程序代码,当程序代码被执行时,用于执行以下操作:获取用于控制所述可移动平台运动的用户指令;根据所述用户指令,确定用于控制所述可移动平台运动的输入控制量;当确定所述动力系统直接基于所述输入控制量执行将处于动力饱和状态时,根据所述输入控制量,重新确定所述用于控制所述可移动平台运动的目标控制量,其中,所述动力系统直接基于所述目标控制量执行将处于动力非饱和状态;根据所述目标控制量,控制所述可移动平台运动;其中,所述输入控制量指示的所述可移动平台的运动方向与所述目标控制量指示的所述可移动平台的运动方向相同。

  可选的,处理器82根据所述目标控制量,控制所述可移动平台运动时,具体用于:根据所述目标控制量,确定多个所述电机中每个所述电机的目标转速;根据多个所述电机中每个所述电机的目标转速,控制对应的电机转动,以控制所述可移动平台运动。

  可选的,所述输入控制量以及所述目标控制量包括如下至少一种:所述可移动平台的速度、所述可移动平台的角速度。

  可选的,所述目标控制量包括所述可移动平台的目标速度以及所述可移动平台的目标角速度,处理器82根据所述目标控制量,确定多个所述电机中每个所述电机的目标转速时,具体用于:根据所述可移动平台的目标速度和所述可移动平台的目标角速度,确定多个所述电机中每个所述电机的目标转速。

  可选的,处理器82根据所述输入控制量,重新确定所述用于控制所述可移动平台运动的目标控制量时,具体用于:根据所述输入控制量,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的运动状态;根据所述可移动平台可达到的运动状态,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度。

  可选的,所述输入控制量包括所述可移动平台的输入速度以及所述可移动平台的输入角速度;处理器82根据所述输入控制量,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的运动状态时,具体用于:根据所述可移动平台的输入速度以及所述可移动平台的输入角速度,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的第一速度和第一角速度;处理器82根据所述可移动平台可达到的运动状态,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度时,具体用于:根据所述可移动平台可达到的第一速度和第一角速度,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度。

  可选的,处理器82根据所述可移动平台的输入速度以及所述可移动平台的输入角速度,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的第一速度和第一角速度时,具体用于:根据所述可移动平台的输入速度和所述可移动平台的输入角速度,确定多个所述电机中每个所述电机需要达到的第一转速;根据多个所述电机中每个所述电机需要达到的第一转速,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的第一速度和第一角速度。

  可选的,处理器82根据所述可移动平台可达到的第一速度和第一角速度,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度时,具体用于:根据所述可移动平台可达到的第一速度和所述可移动平台的输入速度,确定所述可移动平台的目标速度,其中,所述目标速度的大小等于所述第一速度的大小,所述目标速度的方向与所述输入速度的方向一致;根据所述可移动平台可达到的第一角速度和所述可移动平台的输入角速度,确定所述可移动平台的目标角速度。

  可选的,处理器82根据所述可移动平台可达到的第一角速度和所述可移动平台的输入角速度,确定所述可移动平台的目标角速度时,具体用于:如果所述可移动平台可达到的第一角速度小于或等于所述可移动平台的输入角速度,则所述可移动平台的目标角速度为所述第一角速度;如果所述可移动平台可达到的第一角速度大于所述可移动平台的输入角速度,则所述可移动平台的目标角速度为所述输入角速度。

  可选的,处理器82根据多个所述电机中每个所述电机需要达到的第一转速,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的第一速度和第一角速度时,具体用于:根据多个所述电机中每个所述电机需要达到的第一转速,确定多个所述电机中每个所述电机的第二转速,所述第二转速小于或等于所述电机的最大转速;根据多个所述电机中每个所述电机的第二转速,确定所述可移动平台可达到的第一速度和第一角速度。

  可选的,处理器82根据多个所述电机中每个所述电机需要达到的第一转速,确定多个所述电机中每个所述电机的第二转速时,具体用于:确定多个所述电机中每个所述电机需要达到的第一转速与所述电机的最大转速的转速差,得到多个转速差中的最大转速差;根据多个所述电机中每个所述电机需要达到的第一转速与所述最大转速差,确定多个所述电机中每个所述电机的第二转速。

  可选的,多个所述电机中每个所述电机的第二转速是所述电机的第一转速与所述最大转速差的差值。

  可选的,处理器82根据多个所述电机中每个所述电机需要达到的第一转速与所述最大转速差,确定多个所述电机中每个所述电机的第二转速时,具体用于:确定多个所述电机中需要达到的第一转速最大的目标电机;所述目标电机的第二转速为所述目标电机需要达到的第一转速与所述最大转速差的差值;与所述目标电机位于所述可移动平台同一侧的第一电机的第二转速为所述第一电机需要达到的第一转速;与所述目标电机位于所述可移动平台不同侧的第二电机的第二转速为所述第二电机需要达到的第一转速与所述最大转速差的差值;与所述第二电机位于所述可移动平台同一侧的第三电机的第二转速为所述第三电机需要达到的第一转速。

  可选的,所述输入控制量包括所述可移动平台的输入速度和所述可移动平台的输入角速度中的至少一个;处理器82根据所述输入控制量,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的运动状态时,具体用于:根据所述可移动平台的输入角速度,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的最大速度;处理器82根据所述可移动平台可达到的运动状态,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度时,具体用于:获取所述可移动平台可达到的最大角速度,并根据所述可移动平台可达到的最大速度和所述可移动平台可达到的最大角速度,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度。

  可选的,处理器82根据所述可移动平台可达到的最大速度和所述可移动平台可达到的最大角速度,确定所述可移动平台的目标速度以及所述可移动平台的目标角速度时,具体用于:根据所述可移动平台可达到的最大速度和所述可移动平台的输入速度,确定所述可移动平台的目标速度,所述目标速度的大小与所述最大速度的大小相同,所述目标速度的方向与所述输入速度的方向一致;根据所述可移动平台可达到的最大角速度和所述可移动平台的输入角速度,确定所述可移动平台的目标角速度。

  可选的,处理器82根据所述可移动平台可达到的最大角速度和所述可移动平台的输入角速度,确定所述可移动平台的目标角速度时,具体用于:在所述可移动平台的输入角速度大于所述可移动平台可达到的最大角速度时,确定所述可移动平台的目标角速度为所述可移动平台可达到的最大角速度;在所述可移动平台的输入角速度不大于所述可移动平台可达到的最大角速度时,确定所述可移动平台的目标角速度为所述可移动平台的输入角速度。

  可选的,处理器82根据所述可移动平台的输入角速度,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的最大速度时,具体用于:根据所述可移动平台的输入角速度,确定所述可移动平台的左侧轮子和右侧轮子的轮速差,所述可移动平台的输入角速度与所述轮速差正相关;根据所述可移动平台的左侧轮子和右侧轮子的轮速差,确定多个所述电机中每个所述电机不出现动力饱和时,所述可移动平台可达到的最大速度。

  可选的,处理器82还用于:根据所述可移动平台的输入控制量,确定多个所述电机中每个所述电机需要达到的第一转速;当多个所述电机中至少一个所述电机需要达到的第一转速大于所述电机的最大转速时,则确定所述动力系统直接基于所述输入控制量执行将处于动力饱和状态。

  可选的,所述控制设备还包括:通讯接口83;处理器82获取用于控制所述可移动平台运动的用户指令时,具体用于:通过通讯接口83接收用户终端发送的用于控制所述可移动平台运动的用户指令。

  可选的,处理器82根据多个所述电机中每个所述电机的目标转速,控制对应的电机转动时,具体用于:通过通讯接口83将多个所述电机中每个所述电机的目标转速发送给至少一个所述电机控制器,以使得至少一个所述电机控制器控制每个所述电机转动到相应的目标转速。

  本实施例通过用户控制可移动平台运动的用户指令所对应的用于控制该可移动平台运动的输入控制量,确定该可移动平台的动力系统直接执行该输入控制量时是否将处于动力饱和状态,如果是,则根据该输入控制量,重新确定用于控制该可移动平台运动的目标控制量,使得动力系统直接基于该目标控制量执行将处于动力非饱和状态,也就是说,在可移动平台的动力不足以执行该用户指令对应的输入控制量时,通过该目标控制量来控制可移动平台运动可有效避免该动力系统由于动力饱和而导致可移动平台无法保持稳定运动的问题,另外,输入控制量指示的该可移动平台的运动方向与该目标控制量指示的该可移动平台的运动方向相同,即重新确定的目标控制量可保证可移动平台的运动方向与用户所期望的可移动平台的运动方向相同。

  另外,本实施例还提供一种可移动平台。该可移动平台包括:机身、动力系统和上述实施例所述的控制设备。其中,动力系统,安装在所述机身,用于驱动所述可移动平台运动,所述动力系统包括至少一个电机控制器、多个电机以及与所述电机一一对应的多个全向轮,所述至少一个电机控制器用于控制多个所述电机转动,多个所述电机分别用于驱动对应的全向轮转动;该控制设备可执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

  可选的,所述可移动平台包括如下至少一种:可移动机器人、可移动小车、无人驾驶车辆。

  另外,本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的可移动平台的控制方法。

  在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

  所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

  另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

  上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

  本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

  最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

《可移动平台的控制方法、设备、可移动平台及存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)