底盘定位方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及可移动平台领域,尤其涉及一种底盘定位方法、装置、设备及计算机可读存储介质。
背景技术
双轮差速底盘一般设置有两个动力车轮,两个动力车轮设置在双轮差速底盘两侧,两个车轮独立控制速度。由于其具有控制简单的优点,被广泛地应用在可移动平台领域。
双轮差速底盘在运动中,若要实现导航,则需要对底盘的位置进行定位。现有的定位方法一般都是首先确定两个车轮的转速、车轮的周长以及运行时间,通过转速、周长以及运行时间相乘,获得底盘行驶的里程积,进而能够根据该里程积实现对双轮差速底盘当前时刻位置的确定。
但是,由于双轮差速底盘在移动过程中,车轮的转速时刻发生变化,因此,采用上述方法计算获得的里程积并不够准确,从而无法确定当前时刻双轮差速底盘的精准位置,进而无法实现精准地导航。
发明内容
本发明提供一种底盘定位方法、装置、设备及计算机可读存储介质,用于解决现有的底盘定位方法无法确定双轮差速底盘的精准位置,进而无法进行精准导航的技术问题。
本发明的第一个方面是提供一种底盘定位方法,包括:
获取编码器输出的车轮旋转数据,所述编码器与电机机械连接,所述电机用于驱动双轮差速底盘上设置的车轮;
根据所述车轮旋转数据确定所述双轮差速底盘当前所处的位置信息;
将所述位置信息发送至与设置有所述双轮差速底盘的可移动平台通信连接的控制终端,以使用户根据所述位置信息对所述可移动平台进行调整。
本发明的另一个方面是提供一种底盘定位装置,包括:
获取模块,用于获取编码器输出的车轮旋转数据,所述编码器与电机机械连接,所述电机用于驱动双轮差速底盘上设置的车轮;
位置信息确定模块,用于根据所述车轮旋转数据确定所述双轮差速底盘当前所处的位置信息;
发送模块,用于将所述位置信息发送至与设置有所述双轮差速底盘的可移动平台通信连接的控制终端,以使用户根据所述位置信息对所述可移动平台进行调整。
本发明的又一个方面是提供一种底盘定位设备,其特征在于,包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为由所述处理器执行如上述的底盘定位方法。
本发明的又一个方面是提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述的底盘定位方法。
本发明提供的底盘定位方法、装置、设备及计算机可读存储介质,通过获取与电机机械连接的编码器采集到的车轮旋转信息,并根据该车轮旋转信息确定双轮差速底盘的位置信息,并将该位置信息发送至与设置有双轮差速底盘的可移动平台的控制终端,以使用户根据控制终端接收到的位置信息对可移动平台进行相应操作,从而能够获取更加精准地的底盘位置信息,进而能够根据该位置信息实现更加精准地导航。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明基于的网络架构示意图;
图2为本发明实施例一提供的底盘定位方法的流程示意图;
图3为本发明实施例三提供的底盘定位方法的流程示意图;
图4为本发明实施例三提供的底盘定位方法的流程示意图;
图5为本发明实施例四提供的底盘定位方法的流程示意图;
图6为本发明实施例五提供的底盘定位装置的结构示意图;
图7为本发明实施例六提供的底盘定位设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有的底盘定位方法无法确定双轮差速底盘的精准位置,进而无法进行精准导航的技术问题,本发明提供了一种底盘定位方法、装置、设备及计算机可读存储介质。
需要说明的是,本发明提供的底盘定位方法、装置、设备及计算机可读存储介质可以应用在任意一种底盘定位场景中。
图1为本发明基于的网络架构示意图,如图1所示,本发明基于的网络架构至少包括:控制终端1以及底盘定位装置2,其中,控制终端1与底盘定位装置2通信连接,从而能够进行信息交互。控制终端1可以为台式电脑、平板电脑等,底盘定位装置2采用C/C++、Java、Shell或Python等语言编写。
图2为本发明实施例一提供的底盘定位方法的流程示意图,如图2所示,所述方法包括:
步骤101、获取编码器输出的车轮旋转数据,所述编码器与电机机械连接,所述电机用于驱动双轮差速底盘上设置的车轮。
本实施例的执行主体为底盘定位装置。双轮差速底盘中设置有两个车轮,每一车轮均由一个电机驱动,通过电机的驱动实现车轮的旋转。因此,可以通过对电机旋转数据的监控,实现对车轮旋转数据的获取,举例来说,电机控制车轮旋转一圈,则双轮差速底盘行驶的距离即为车轮的周长,无需考虑车轮转速的因素,获得车轮行驶的精准移动距离。具体地,可以通过编码器实现对车轮旋转信息的获取,该编码器可以直接设置在电机上,与电机机械连接,当电机转动时,带动编码器一同转动,实现对电机旋转信息的获取,本发明在此不做限制。为了实现对车轮旋转信息的获取,可以获取编码器输出的车轮旋转数据。
进一步地,在上述任一实施例的基础上,所述获取编码器输出的车轮旋转数据,包括:
获取编码器按照预设的频率输出的车轮旋转数据。
在本实施例中,为了实现对双轮差速底盘位置的确定,可以获取编码器按照预设的频率输出的车轮旋转数据。为了提高定位的精准度,可以根据实际需求对该预设的频率进行设置,本发明在此不做限制。以实际应用举例来说,该预设的频率可以为20hz。
步骤102、根据所述车轮旋转数据确定所述双轮差速底盘当前所处的位置信息。
在本实施方式中,获取到编码器输出的车轮旋转信息之后,可以根据该车轮旋转信息确定双轮差速底盘当前所处的位置信息。具体地,可以根据车轮旋转信息以及预设的时间间隔确定双轮差速底盘在该时间间隔内行驶的里程信息。此外,可以根据两个车轮的车轮旋转信息确定双轮差速底盘的旋转角度。以实际应用举例来说,分别计算两个车轮的车轮旋转信息对应的行驶里程,若两个车轮的行驶里程一致,则表征双轮差速底盘当前进行直线行驶,此时可以确定旋转角度为0;若两个车轮的行驶里程不一致,则可以根据行驶里程之差实现对旋转角度的计算。需要说明的是,可以采用任意一种旋转角度计算方法实现对双轮差速底盘旋转角度的计算,本发明在此不做限制。
需要说明的是,可以预先建立运动学模型,获取到编码器输出的车轮旋转信息之后,可以将该车轮旋转信息输入至该运动学模型中,运动学模型可以按照上述计算方式对双轮差速底盘的位置信息进行计算。
进一步地,在上述任一实施例的基础上,所述获取编码器输出的车轮旋转数据之后,还包括:
根据所述车轮旋转数据对所述双轮差速底盘下一时刻的位置进行估计。
在本实施例中,获取到编码器输出的车轮旋转数据之后,还可以根据该车轮旋转数据对双轮差速底盘下一时刻的位置进行估计。具体地,可以针对历史多个时间间隔内的位置信息生成双轮差速底盘的移动轨迹,进一步地,可以根据该移动轨迹拟合出下一时刻双轮差速底盘的位置信息。进而能够根据该位置信息使用户对可移动平台进行更有效的控制。
步骤103、将所述位置信息发送至与设置有所述双轮差速底盘的可移动平台通信连接的控制终端,以使用户根据所述位置信息对所述可移动平台进行调整。
在本实施方式中,确定双轮差速底盘的位置信息之后,可以将该位置信息发送给用户,以使用户根据该位置信息进行相应操作。具体地,该底盘定位装置与双轮差速底盘可以同时设置在可移动平台上,作为一种可实现的方式,该双轮差速底盘可以设置在可移动平台上,底盘定位装置可以为一独立装置或设置在其他装置上,本发明在此不做限制。为了使用户能够及时对该位置信息进行了解,可以将该位置信息发送至与可移动平台通信连接的控制终端上。具体地,用户在控制终端获取到该位置信息之后,可以根据该位置信息对可移动平台进行相应调整。举例来说,控制终端还可以接收可移动平台上设置的图像采集装置采集到的图像信息,进而控制终端可以根据该位置信息以及图像信息进行人工避障;此外,用户还可以根据该图像信息以及位置信息对可移动平台上设置的图像采集装置的朝向进行调整,以使该图像采集装置能够采集到更加符合用户需求的图像信息。
本实施例提供的底盘定位方法,通过获取与电机机械连接的编码器采集到的车轮旋转信息,并根据该车轮旋转信息确定双轮差速底盘的位置信息,并将该位置信息发送至与设置有双轮差速底盘的可移动平台的控制终端,以使用户根据控制终端接收到的位置信息对可移动平台进行相应操作,从而能够获取更加精准地的底盘位置信息,进而能够根据该位置信息实现更加精准地导航。
图3为本发明实施例三提供的底盘定位方法的流程示意图,在上述任一实施例的基础上,所述根据所述车轮旋转数据确定所述双轮差速底盘当前所处的位置信息,包括:
步骤201、根据所述车轮旋转数据确定所述双轮差速底盘当前的旋转角度以及移动里程;
步骤202、根据所述旋转角度以及所述移动里程确定所述双轮差速底盘当前所处的位置信息。
在本实施例中,获取到编码器输出的车轮旋转信息之后,可以根据该车轮旋转信息确定双轮差速底盘的位置信息。具体地,可以根据该车轮旋转信息确定双轮差速底盘的旋转角度可移动里程。可以根据车轮旋转信息以及预设的时间间隔确定双轮差速底盘在该时间间隔内行驶的里程信息。此外,可以根据两个车轮的车轮旋转信息之差确定双轮差速底盘的旋转角度。确定双轮差速底盘的旋转角度以及移动里程之后,即可以根据该旋转角度以及移动里程对双轮差速底盘的位置信息进行精准定位。
本实施例提供的底盘定位方法,通过根据所述车轮旋转数据确定所述双轮差速底盘当前的旋转角度以及移动里程,根据所述旋转角度以及所述移动里程确定所述双轮差速底盘当前所处的位置信息,从而能够精准地确定双轮差速底盘的位置信息,进而能够根据该位置信息实现更加精准地导航。
进一步地,在上述任一实施例的基础上,所述根据所述旋转角度以及所述移动里程确定所述双轮差速底盘当前所处的位置信息,包括:
以所述双轮差速底盘的初始位置为原点,行进方向、逆时针旋转预设角度为轴,建立世界坐标系;以所述双轮差速底盘车轮中心位置作为原点,行进方向、逆时针旋转预设角度为轴,建立底盘坐标系;
根据所述旋转角度以及所述移动里程确定所述底盘坐标系原点相对于所述世界坐标系原点的位置向量;
根据所述位置向量确定所述双轮差速底盘当前所处的位置信息。
在本实施例中,为了精准地对底盘进行定位,可以建立世界坐标系以及底盘坐标系,根据两个坐标系实现对底盘位置信息的确定。具体地,以双轮差速底盘初始位置为原点,并将行进方向作为X轴,逆时针旋转90为Y轴,建立世界坐标系。以双轮差速底盘车轮行进过程中的中心位置为原点,行进方向为X轴,逆时针旋转90度作为Y轴,建立底盘坐标系,根据旋转角度以及移动里程,确定底盘坐标系原点相对于世界坐标系原点的位置向量,根据该位置向量确定双轮差速底盘当前所处的位置信息。
具体地,在上述任一实施例的基础上,所述位置向量包括第一参数、第二参数以及第三参数,所述第一参数表示所述底盘坐标系原点相对于所述世界坐标系原点X轴的距离;所述第二参数表示所述底盘坐标系原点相对于所述世界坐标系原点Y轴的距离;所述第三参数表示所述底盘坐标系相对于所述世界坐标系的旋转角度。
本实施例提供的底盘定位方法,通过以所述双轮差速底盘的初始位置为原点,行进方向、逆时针旋转预设角度为轴,建立世界坐标系;以所述双轮差速底盘车轮中心位置作为原点,行进方向、逆时针旋转预设角度为轴,建立底盘坐标系,根据所述旋转角度以及所述移动里程确定所述底盘坐标系原点相对于所述世界坐标系原点的位置向量,根据所述位置向量确定所述双轮差速底盘当前所处的位置信息,从而能够精准地确定双轮差速底盘的位置信息,进而能够根据该位置信息实现更加精准地导航。
图4为本发明实施例三提供的底盘定位方法的流程示意图,在上述任一实施例的基础上,所述双轮差速底盘包括两个车轮,每一驱动所述车轮的电机各与一所述编码器机械连接;如图4所示,所述根据所述车轮旋转数据确定所述双轮差速底盘当前的旋转角度以及移动里程,包括:
步骤301、针对每一所述编码器,根据所述车轮旋转数据计算所述编码器对应的电机的旋转角度;
步骤302、根据所述电机的旋转角度以及所述车轮的周长计算所述双轮差速底盘当前的移动里程;
步骤303、计算两个编码器对应的车轮移动里程的差值;
步骤304、根据所述差值计算所述双轮差速底盘当前的旋转角度。
在本实施例中,针对每一个编码器,可以根据该编码器输出的车轮旋转数据计算编码器对应的电机的旋转角度,由于电机用于驱动车轮,因此,电机的旋转角度能够表征车轮的旋转角度。确定电机的旋转角度之后,可以根据该电机的旋转角度以及车轮的周长计算出双轮差速底盘当前的移动里程。以实际应用举例来说,若车轮的周长为一米,电机当前的旋转角度为720度,即表征电机当前旋转两圈,此时,可以确定编码器对应的车轮的移动里程为2米。进一步地,可以根据两个车轮的车轮旋转信息确定双轮差速底盘的旋转角度。以实际应用举例来说,分别计算两个车轮的车轮旋转信息对应的行驶里程,若两个车轮的行驶里程一致,则表征双轮差速底盘当前进行直线行驶,此时可以确定旋转角度为0;若两个车轮的行驶里程不一致,则可以根据行驶里程之差实现对旋转角度的计算。具体地,计算获得每个车轮的移动里程之后,可以计算两个车轮对应的移动里程之间的差值,根据该差值确定双轮差速底盘当前的旋转角度。需要说明的是,可以采用任意一种旋转角度计算方法实现对双轮差速底盘旋转角度的计算,本发明在此不做限制。
本实施例提供的底盘定位方法,通过针对每一编码器,根据车轮旋转数据计算编码器对应的电机的旋转角度,根据电机的旋转角度以及车轮的周长计算双轮差速底盘当前的移动里程,计算两个编码器对应的车轮移动里程的差值,根据差值计算双轮差速底盘当前的旋转角度,从而能够精准地计算双轮差速底盘的旋转角度以及移动里程,为后续双轮差速底盘的精准定位提供了基础。
图5为本发明实施例四提供的底盘定位方法的流程示意图,在上述任一实施例的基础上,如图5所示,所述根据所述车轮旋转数据确定所述双轮差速底盘当前所处的位置信息之后,还包括:
步骤401、获取所述双轮差速底盘当前的摩擦系数;
步骤402、根据所述摩擦系数确定所述双轮差速底盘对应的移动误差;
步骤403、根据所述位置信息以及所述移动误差确定所述双轮差速底盘当前所处的目标位置。
在本实施例中,由于双轮差速底盘的车轮在行驶过程中会与地面产生摩擦,会影响移动速度,进而导致定位不准确。因此,为了进一步地提高双轮差速底盘定位的精准度,可以获取双轮差速底盘当前的摩擦系数,并根据该摩擦系数以及预设的误差公式计算出双轮差速底盘对应的移动误差。因此,在根据车轮旋转数据确定双轮差速底盘当前所处的位置信息之后,可以根据位置信息以及移动误差对双轮差速底盘当前所处的位置进行进一步地计算,获得目标位置。由于考虑到摩擦力产生的移动误差,从而获得的目标位置能够更加接近双轮差速底盘的精准位置。
进一步地,在上述任一实施例的基础上,所述获取所述双轮差速底盘当前的摩擦系数,包括:
根据所述双轮差速底盘的车轮材质信息、运行场地信息以及所述双轮差速底盘当前的负载信息计算所述双轮差速底盘当前的摩擦系数。
在本实施例中,由于车轮与地面的摩擦力分别于车轮自身材质、运动场地的材质以及双轮差速底盘当前的负载有关联,因此,可以根据双轮差速底盘的车轮材质信息、运行场地信息以及所述双轮差速底盘当前的负载信息对摩擦系数进行计算。
本实施例提供的底盘定位方法,通过获取所述双轮差速底盘当前的摩擦系数,根据所述摩擦系数确定所述双轮差速底盘对应的移动误差,根据所述位置信息以及所述移动误差确定所述双轮差速底盘当前所处的目标位置,从而能够进一步地提高目标位置的精准度,为后续可移动平台的导航提供了基础。
图6为本发明实施例五提供的底盘定位装置的结构示意图,如图6所示,所述底盘定位装置包括:
获取模块51,用于获取编码器输出的车轮旋转数据,所述编码器与电机机械连接,所述电机用于驱动双轮差速底盘上设置的车轮;
位置信息确定模块52,用于根据所述车轮旋转数据确定所述双轮差速底盘当前所处的位置信息;
发送模块53,用于将所述位置信息发送至与设置有所述双轮差速底盘的可移动平台通信连接的控制终端,以使用户根据所述位置信息对所述可移动平台进行调整。
本实施例提供的底盘定位装置,通过获取与电机机械连接的编码器采集到的车轮旋转信息,并根据该车轮旋转信息确定双轮差速底盘的位置信息,并将该位置信息发送至与设置有双轮差速底盘的可移动平台的控制终端,以使用户根据控制终端接收到的位置信息对可移动平台进行相应操作,从而能够获取更加精准地的底盘位置信息,进而能够根据该位置信息实现更加精准地导航。
进一步地,在上述任一实施例的基础上,所述获取模块包括:
获取单元,用于获取编码器按照预设的频率输出的车轮旋转数据。
进一步地,在上述任一实施例的基础上,所述位置信息确定模块包括:
移动特征确定单元,用于根据所述车轮旋转数据确定所述双轮差速底盘当前的旋转角度以及移动里程;
位置信息确定单元,用于根据所述旋转角度以及所述移动里程确定所述双轮差速底盘当前所处的位置信息。
进一步地,在上述任一实施例的基础上,所述位置信息确定单元用于:
以所述双轮差速底盘的初始位置为原点,行进方向、逆时针旋转预设角度为轴,建立世界坐标系;以所述双轮差速底盘车轮中心位置作为原点,行进方向、逆时针旋转预设角度为轴,建立底盘坐标系;
根据所述旋转角度以及所述移动里程确定所述底盘坐标系原点相对于所述世界坐标系原点的位置向量;
根据所述位置向量确定所述双轮差速底盘当前所处的位置信息。
进一步地,在上述任一实施例的基础上,所述位置向量包括第一参数、第二参数以及第三参数,所述第一参数表示所述底盘坐标系原点相对于所述世界坐标系原点X轴的距离;所述第二参数表示所述底盘坐标系原点相对于所述世界坐标系原点Y轴的距离;所述第三参数表示所述底盘坐标系相对于所述世界坐标系的旋转角度。
进一步地,在上述任一实施例的基础上,所述双轮差速底盘包括两个车轮,每一驱动所述车轮的电机各与一所述编码器机械连接;
所述位置信息确定模块包括:
电机旋转角度计算单元,用于针对每一所述编码器,根据所述车轮旋转数据计算所述编码器对应的电机的旋转角度;
移动里程计算单元,用于根据所述电机的旋转角度以及所述车轮的周长计算所述双轮差速底盘当前的移动里程;
差值计算单元,用于计算两个编码器对应的车轮移动里程的差值;
旋转角度计算单元,用于根据所述差值计算所述双轮差速底盘当前的旋转角度。
进一步地,在上述任一实施例的基础上,所述装置包括:
摩擦系数计算模块,用于获取所述双轮差速底盘当前的摩擦系数;
误差计算模块,用于根据所述摩擦系数确定所述双轮差速底盘对应的移动误差;
目标位置确定模块,用于根据所述位置信息以及所述移动误差确定所述双轮差速底盘当前所处的目标位置。
进一步地,在上述任一实施例的基础上,所述摩擦系数计算模块包括:
摩擦系数计算单元,用于根据所述双轮差速底盘的车轮材质信息、运行场地信息以及所述双轮差速底盘当前的负载信息计算所述双轮差速底盘当前的摩擦系数。
进一步地,在上述任一实施例的基础上,所述装置还包括:
估计模块,用于根据所述车轮旋转数据对所述双轮差速底盘下一时刻的位置进行估计。
图7为本发明实施例六提供的底盘定位设备的结构示意图,如图7所示,所述底盘定位设备包括:存储器61,处理器62;
存储器61;用于存储所述处理器62可执行指令的存储器61;
其中,所述处理器62被配置为由所述处理器62执行如上述任一实施例所述的底盘定位方法。
本发明又一实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述任一实施例所述的底盘定位方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。