发明内容
本发明实施例的目的是提供一种基于光流传感器的测速方法、打滑检测方法、可移动电子设备、路径纠正方法及装置,能有效克服现有技术仅简单检测万向轮是否运动对机器人的驱动轮是否打滑进行判断存在的缺陷,对不同状态下的打滑现象进行快速判定。
为实现上述目的,本发明实施例提供了一种基于光流传感器的测速方法,其适用于一移动电子设备,所述移动电子设备上安装有一光流传感器,包括步骤:
获取所述光流传感器当前时刻采集到的所述移动电子设备所在的表面的图像;其中,所述光流传感器的光敏面与所述移动电子设备所在的表面相对;
将所述光流传感器当前时刻采集到的图像与前n个时刻采集到的历史图像进行计算,获取所述移动电子设备的当前时刻相对于前第n时刻的位移;n≥1;
根据所述移动电子设备的当前时刻相对于前第n时刻的位移计算所述移动电子设备的当前速度。
与现有技术相比,本发明公开的基于光流传感器的测速方法通过光流传感器以预设的采集频率获取所述移动电子设备所在的表面的图像,然后根据当前时刻采集到的图像与前n个时刻采集的历史图像进行计算,获取所述移动电子设备的当前时刻相对于前第n时刻的位移和方向,最后根据所述移动电子设备的当前时刻相对于前第n时刻的位移计算所述移动电子设备的速度,将该移动电子设备的速度应用于移动电子设备驱动轮和从动轮/支撑轮的速度的比对,可有效判定所述移动电子设备是否发生打滑。
作为上述方案的改进,所述采集频率为100次/秒~1500次/秒。
作为上述方案的改进,所述光流传感器的光学分辨率为100dpi~1000dpi。
作为上述方案的改进,所述移动电子设备为机器人。
作为上述方案的改进,所述机器人底部设有一驱动轮,所述光流传感器设于所述驱动轮的一侧。
作为上述方案的改进,所述光流传感器的光敏面的轴线与所述驱动轮的轴线平行。
作为上述方案的改进,所述光流传感器和所述驱动轮的距离小于或者等于5cm。
作为上述方案的改进,所述光流传感器安装于所述机器人底部设有一从动轮/支撑轮,所述光流传感器设于所述从动轮/支撑轮的一侧。
作为上述方案的改进,所述光流传感器的光敏面的轴线与所述从动轮/支撑轮的轴线平行。
作为上述方案的改进,所述光流传感器和所述从动轮/支撑轮的距离小于或者等于5cm。
作为上述方案的改进,所述将所述光流传感器当前时刻采集到的图像与前n个时刻采集到的历史图像进行计算,获取所述移动电子设备的当前时刻相对于前第n时刻的位移具体为:
采用梯度的方法、匹配的方法、基于能量的方法或基于相位的方法对当前时刻采集到的图像与前n个时刻采集的历史图像进行计算,获取所述移动电子设备的当前时刻相对于前第n时刻的位移。
本发明方案还对应提供了一种基于光流传感器的测速装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述的基于光流传感器的测速方法。
本发明方案还提供了一种打滑检测方法,适用于一移动电子设备,所述移动电子设备底部设有第一驱动轮和第一光流传感器,所述第一光流传感器位于所述第一驱动轮的一侧,所述第一驱动轮上安装有第一编码器,所述第一编码器用于检测所述第一驱动轮的速度;所述方法包括步骤:
获取所述第一光流传感器当前时刻采集到的所述移动电子设备所在的表面的图像;
根据所述第一光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备当前时刻相对于前第n时刻的第一实际位移;n≥1;
根据所述第一编码器获取到的所述第一驱动轮的速度获取所述移动电子设备当前时刻相对于前第n时刻的第一理论位移;
获取所述第一实际位移和所述第一理论位移的第一位移差值,当所述第一位移差值大于预设的第一位移阈值时,检测所述第一差值大于所述第一位移阈值的第一持续时间;和
当所述第一持续时间大于预设的第一时间阈值时,确定所述移动电子设备存在打滑现象。
作为上述方案的改进,所述移动电子设备底部还设有第二驱动轮和第二光流传感器,所述第二光流传感器位于所述第二驱动轮的一侧,所述第二驱动轮上安装有第二编码器,所述编码器用于检测所述第二驱动轮的速度;所述方法还包括步骤:
获取所述第二光流传感器当前时刻采集到的所述移动电子设备所在的表面的图像;
根据所述第二光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备当前时刻相对于前第n时刻的第二实际位移;
根据所述第二编码器获取到的所述第二驱动轮的速度获取所述移动电子设备的备当前时刻相对于前第n时刻的第二理论位移;
获取所述第二实际位移和第二理论位移的第二位移差值,当判断所述第二位移差值大于预设的第二位移阈值时,检测所述第二位移差值大于所述第二位移阈值的第二持续时间;和
当所述第二持续时间大于预设的第二时间阈值时,确定所述移动电子设备存在打滑现象。
作为上述方案的改进,获取所述移动电子设备当前时刻相对于前第n时刻的第一实际位移具体为:
根据所述第一光流传感器的X轴位移和Y轴位移计算所述移动电子设备当前时刻相对于前第n时刻的第一实际位移;
获取所述移动电子设备当前时刻相对于前第n时刻的第二实际位移具体为:
根据所述第二光流传感器的X轴位移和Y轴位移计算所述移动电子设备当前时刻相对于前第n时刻的第二实际位移。
作为上述方案的改进,所述第一光流传感器的光敏面的轴线与所述第一驱动轮的轴线平行;所述第二光流传感器的光敏面的轴线与所述第二驱动轮的轴线平行。
作为上述方案的改进,所述第一光流传感器和所述第一驱动轮的距离小于或者等于5cm;所述第二光流传感器和所述第二驱动轮的距离小于或者等于5cm。
作为上述方案的改进,所述根据所述第一光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备当前时刻相对于前第n时刻的第一实际位移具体为:
采用梯度的方法、匹配的方法、基于能量的方法或相位的方法对所述第一光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像进行计算,获取所述移动电子设备的当前时刻相对于前第n时刻的第一实际位移;
所述根据所述第二光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备当前时刻相对于前第n时刻的第二实际位移:
采用梯度的方法、匹配的方法、基于能量的方法或相位的方法对所述第二光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像进行计算,获取所述移动电子设备的当前时刻相对于前第n时刻的第二实际位移。
本发明实施例还对应提供了一种打滑检测方法,适用于一移动电子设备,所述移动电子设备底部设有第一驱动轮和第一光流传感器,所述第一光流传感器位于所述第一驱动轮的一侧,所述第一驱动轮上安装有第一编码器,所述第一编码器用于检测所述第一驱动轮的速度;所述方法包括步骤:
获取所述第一光流传感器当前时刻采集到的所述移动电子设备所在的表面的图像;
根据第一光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像进行计算,获取所述移动电子设备当前时刻相对于前第n时刻的第一实际位移,基于所述第一位移获取所述移动电子设备当前时刻的第一实际速度;n≥1;
根据所述第一编码器实时获取到的所述第一驱动轮的速度,获取所述移动电子设备当前时刻的第一理论速度;
获取所述第一实际速度和第一理论速度的第一速度差值,当任意时刻判断所述第一速度差值大于预设的第一速度阈值时,检测所述第一速度差值大于大于所述第一速度阈值的第三持续时间;和
当所述第三持续时间大于预设的第三时间阈值时,确定所述移动电子设备存在打滑现象。
作为上述方案的改进,所述移动电子设备底部还设有第二驱动轮和第二光流传感器,所述第二光流传感器位于所述第二驱动轮的一侧,所述第二驱动轮上安装有第二编码器,所述第二编码器用于检测所述第二驱动轮的速度;所述方法还包括步骤:
获取所述第二光流传感器当前时刻采集到的所述移动电子设备所在的表面的图像;
根据所述第二光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备当前时刻相对于前第n时刻的第二实际位移,基于所述第二实际位移获取所述移动电子设备当前时刻的第二实际速度;
根据所述第二编码器实时获取到的所述第二驱动轮的速度,获取所述移动电子设备当前时刻的第二理论速度;
获取所述第二实际速度和第二理论速度的第二速度差值,当任意时刻判断所述第二速度差值大于预设的第二速度阈值时,检测所述第二速度差值大于所述第二速度阈值的第四持续时间;和
当所述第四持续时间大于预设的第四时间阈值时,确定所述移动电子设备存在打滑现象。
作为上述方案的改进,获取所述移动电子设备当前时刻相对于前第n时刻的第一实际位移具体为:
根据所述第一光流传感器的X轴位移和Y轴位移计算所述移动电子设备当前时刻相对于前第n时刻的第一实际位移;
获取所述移动电子设备当前时刻相对于前第n时刻的第二实际位移具体为:
根据所述第二光流传感器的X轴位移和Y轴位移计算所述移动电子设备当前时刻相对于前第n时刻的第二实际位移。
作为上述方案的改进,所述第一光流传感器的光敏面的轴线与所述第一驱动轮的轴线平行;所述第二光流传感器的光敏面的轴线与所述第二驱动轮的轴线平行。
作为上述方案的改进,所述第一光流传感器和所述第一驱动轮的距离小于或者等于5cm;所述第二光流传感器和所述第二驱动轮的距离小于或者等于5cm。
作为上述方案的改进,所述根据所述第一光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备当前时刻相对于前第n时刻的第一实际位移具体为:
采用梯度的方法、匹配的方法、基于能量的方法或相位的方法对所述第一光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像进行计算,获取所述移动电子设备的当前时刻相对于前第n时刻的第一实际位移;
所述根据所述第二光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备当前时刻相对于前第n时刻的第二实际位移:
采用梯度的方法、匹配的方法、基于能量的方法或相位的方法对所述第二光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像进行计算,获取所述移动电子设备的当前时刻相对于前第n时刻的第二实际位移。
本发明实施例还提供了一种打滑检测方法,适用于一移动电子设备,所述移动电子设备底部设有第一驱动轮、第二驱动轮、从动轮/支撑轮和第三光流传感器,所述第三光流传感器位于所述从动轮/支撑轮的一侧,所述第一驱动轮上安装有用于检测所述第一驱动轮的速度的第一编码器,所述第二驱动轮上安装有用于检测所述第二驱动轮的速度的第二编码器;所述方法包括步骤:
获取所述第三光流传感器当前时刻采集到的所述移动电子设备所在的表面的图像;
根据第三光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备当前时刻相对于前第n时刻的第三实际位移;n≥1;
根据所述第一编码器获取到的所述第一驱动轮的速度,以及所述第二编码器获取到的所述第二驱动轮的速度,计算所述移动电子设备当前时刻相对于前第n时刻的第三理论位移;
获取所述第三实际位移和第三理论位移的第三位移差值,当判断所述第三位移差值大于预设的第三位移阈值时,检测所述第三位移差值大于所述第三位移阈值的第五持续时间;和
当所述第五持续时间大于预设的第五时间阈值时,确定所述移动电子设备存在打滑现象。
作为上述方案的改进,根据所述第一编码器获取到的所述第一驱动轮的速度,以及所述第二编码器获取到的所述第二驱动轮的速度,计算所述移动电子设备当前时刻相对于前第n时刻的第三理论位移具体包括步骤:
当所述第一驱动轮的速度和所述第二驱动轮的速度的差值小于预设的第四速度阈值时,则确定所述可移动电子设备做直线运动;当所述第一驱动轮的速度和所述第二驱动轮的速度的差值大于预设的第四速度阈值时,则确定所述可移动电子设备做曲线运动;
若确定所述可移动电子设备做直线运动,以所述第一驱动轮/第二驱动轮的速度和n的乘积作为所述移动电子设备当前时刻相对于前第n时刻的第三理论位移;
若确定所述可移动电子设备做曲线运动,确定所述曲线运动的圆心,以所述第一驱动轮的速度、第一比例关系和n的乘积作为所述移动电子设备当前时刻相对于前第n时刻的第三理论位移;或,以所述第二驱动轮的速度、第二比例关系和n的乘积作为所述移动电子设备当前时刻相对于前第n时刻的第三理论位移;其中,所述第一比例关系为所述从动轮/支撑轮至所述圆心的距离与所述第一驱动轮至所述圆心的距离的比例,所述第二比例关系为所述从动轮/支撑轮至所述圆心的距离与所述第二从动轮/支撑轮至所述圆心的距离的比例。
作为上述方案的改进,获取所述移动电子设备当前时刻相对于前第n时刻的第三实际位移具体为:
根据所述第三光流传感器的X轴位移和Y轴位移计算所述移动电子设备当前时刻相对于前第n时刻的第三实际位移。
作为上述方案的改进,所述第三光流传感器的光敏面的轴线与所述从动轮/支撑轮的轴线平行。
作为上述方案的改进,所述第三光流传感器和所述从动轮/支撑轮的距离小于或者等于5cm。
作为上述方案的改进,所述根据所述第三光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备当前时刻相对于前第n时刻的第三实际位移具体为:
采用梯度的方法、匹配的方法、基于能量的方法或相位的方法对所述第三光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像进行计算,获取所述移动电子设备的当前时刻相对于前第n时刻的第三实际位移。
本发明实施例还提供了一种打滑检测方法,适用于一种移动电子设备,所述移动电子设备底部设有第一驱动轮、第二驱动轮、从动轮/支撑轮和第三光流传感器,所述第三光流传感器位于所述从动轮/支撑轮的一侧,所述第一驱动轮上安装有用于检测所述第一驱动轮的速度的第一编码器,所述第二驱动轮上安装有用于检测所述第二驱动轮的速度的第二编码器;所述方法包括步骤:
以预设的采集频率通过所述第三光流传感器获取所述移动电子设备所在的表面的图像;
根据第三光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像进行计算,获取所述移动电子设备当前时刻相对于前第n时刻的第三实际位移;n≥1;
根据所述移动电子设备当前时刻相对于前第n时刻的第三实际位移计算所述移动电子设备的第三实际速度;
根据所述第一编码器获取到的所述第一驱动轮的速度,以及所述第二编码器获取到的所述第二驱动轮的速度,计算所述移动电子设备的第三理论速度;
获取所述第三实际速度和第三理论速度的第三速度差值,当判断所述第三速度差值大于预设的第三速度阈值时,检测所述第三速度差值大于所述第三速度阈值的第六持续时间;和
当所述第六持续时间大于预设的第六时间阈值时,确定所述移动电子设备存在打滑现象。
作为上述方案的改进,根据所述第一编码器获取到的所述第一驱动轮的速度,以及所述第二编码器获取到的所述第二驱动轮的速度,计算所述移动电子设备的第三理论速度具体包括步骤:
当所述第一驱动轮的速度和所述第二驱动轮的速度的差值小于预设的第四速度阈值时,则确定所述可移动电子设备做直线运动;当所述第一驱动轮的速度和所述第二驱动轮的速度的差值大于预设的第四速度阈值时,则确定所述可移动电子设备做曲线运动;
若确定所述可移动电子设备做直线运动,以所述第一驱动轮/第二驱动轮的速度作为所述移动电子设备的第三理论速度;
若确定所述可移动电子设备做曲线运动,确定所述曲线运动的圆心,以所述第一驱动轮的速度和第一比例关系的乘积作为所述移动电子设备的第三理论速度;或,以所述第二驱动轮的速度和第二比例关系的乘积作为所述移动电子设备第三理论速度;其中,所述第一比例关系为所述从动轮/支撑轮至所述圆心的距离与所述第一驱动轮至所述圆心的距离的比例,所述第二比例关系为所述从动轮/支撑轮至所述圆心的距离与所述第二从动轮/支撑轮至所述圆心的距离的比例。
作为上述方案的改进,获取所述移动电子设备当前时刻相对于前第n时刻的第三实际位移具体为:
根据所述第三光流传感器的光感面的X轴位移和Y轴位移计算所述移动电子设备当前时刻相对于前第n时刻的第三实际位移。
作为上述方案的改进,所述第三光流传感器的光敏面的轴线与所述从动轮/支撑轮的轴线平行。
作为上述方案的改进,所述第三光流传感器和所述从动轮/支撑轮的距离小于或者等于5cm。
作为上述方案的改进,所述根据所述第三光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备当前时刻相对于前第n时刻的第三实际位移具体为:
采用梯度的方法、匹配的方法、基于能量的方法或相位的方法对所述第三光流传感器当前时刻采集到的图像与前n个时刻采集的历史图像进行计算,获取所述移动电子设备的当前时刻相对于前第n时刻的第三实际位移。
本发明实施例还对应提供了一种打滑检测装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现以上任意一项所述的打滑检测方法。
本发明实施例还对应提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行以上任意一项所述的打滑检测方法。
发明实施例还提供了一种可移动电子设备,所述移动电子设备包括第一驱动轮、第一光流传感器和处理器,所述第一光流传感器位于所述第一驱动轮的一侧,所述第一驱动轮上安装有第一编码器;其中,
所述第一编码器,用于检测所述第一驱动轮的速度;
所述第一光流传感器,用于以预设的采集频率获取所述移动电子设备所在的表面的图像;
所述处理器,用于执行如上述其中一项所述的打滑检测方法。
作为上述方案的改进,所述移动电子设备还包括第二驱动轮和第二光流传感器,所述第二光流传感器位于所述第二驱动轮的一侧,所述第二驱动轮上安装有用于检测所述第二驱动轮的速度的第二编码器;
所述第二编码器,用于检测所述第二驱动轮的速度;
所述第二光流传感器,用于以预设的采集频率获取所述移动电子设备所在的表面的图像;
所述处理器,还用于执行以上任意一项所述的打滑检测方法。
发明实施例还提供了另一种可移动电子设备,包括第一驱动轮、第二驱动轮、从动轮/支撑轮和第三光流传感器,所述第三光流传感器位于所述从动轮/支撑轮的一侧,所述第一驱动轮上安装有用于检测所述第一驱动轮的速度的第一编码器,所述第二驱动轮上安装有用于检测所述第二驱动轮的速度的第二编码器;
所述第一编码器,用于检测所述第一驱动轮的速度;
所述第二编码器,用于检测所述第二驱动轮的速度;
所述第三光流传感器,用于以预设的采集频率获取所述移动电子设备所在的表面的图像;
所述处理器,还用于执行以上任意一项所述的打滑检测方法。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明其中一实施例提供了一种基于光流传感器的测速方法,其适用于一种移动电子设备,所述移动电子设备上安装有一光流传感器,该方法包括步骤:
S11、通过所述光流传感器以预设的采集频率获取所述移动电子设备所在的表面的图像;其中,所述光流传感器的光敏面与所述移动电子设备所在的表面相对;
在步骤S11中,所述采集频率为100次/秒~1500次/秒。可以理解的,采集的频率越高,计算得到的位移和方向就越准确。而另一个用于衡量定位精度的指数为光学分辨率,即DPI(dots per inch),其用于衡量鼠标每移动一英寸所能检测出的点数,dpi越小,用来定位的点数就越少,定位精度就低;dpi越大,用来定位点数就多,定位精度就高。优选地,所述光流传感器的光学分辨率为100dpi~1000dpi。
S12、根据当前时刻采集到的图像与前n个时刻采集的历史图像进行计算,获取所述移动电子设备的当前时刻相对于前第n时刻的位移和方向;n≥1;
S13、根据所述移动电子设备的当前时刻相对于前第n时刻的位移计算所述移动电子设备的速度。
在本实施例中,光流传感器以预设的采集频率连续采集表面图像,再由处理器对所产生的图像数据矩阵进行分析。由于相邻的两幅图像总会存在相同的特征,通过对比这些特征点的位置变化信息,便可以判断出移动电子设备相对其所在的表面的平均运动。
优选地,所述移动电子设备还包括发光二极管和光学透镜组件。所述光学透镜组件发光二极管发出的光线传送至所述移动电子设备所在的表面,该表面发射光线至所述光流传感器中成像。则当所述移动电子设备移动时,其移动轨迹会被记录为一组高速拍摄的连贯图像,对这一系列的图像进行分析处理,通过对这些图像上特征点位置的变化进行分析,来判断所述移动电子设备的移动方向和移动距离。
例如,联合分析分析时刻t和时刻t+5时刻内获取到的所有图像,即可获取所述移动电子设备的t+5时刻相对于t时刻的位移和方向;然后根据所述移动电子设备的t+5时刻相对于t时刻的位移计算所述移动电子设备的速度。
此外,计算所述移动电子设备的t+5时刻相对于t时刻的位移和方向需要引入光流计算方法。例如,对于特征点A在第t帧的位置为(x1,y1),而获取其在第t+5帧的位置就涉及到光流定点的问题。光流计算最常用的方法是基于梯度,基于匹配,基于能量和基于相位。除此之外,由于基于匹配和基于相位的方法有较高的运算负担,还可采用Lucas-Kanada算法实现光流定点。
另外,在计算移动电子设备的移动位移和方向的过程中,通常以光敏面的两条中轴线作为坐标系的X轴和Y轴,因此,在计算任一特征点的位移时,需要计算其在X轴上的位移和在Y轴上的位移。例如,如图2所示,以光敏面的两条中轴线作为坐标系的X轴和Y轴,特征点A在第t帧的位置为(x1,y1),特征点A在第t+1帧的位置为(x2,y2),分别计算x2-x1和y2-y1作为X轴上的位移和在Y轴上的位移。
将上述基于光流传感器的测速方法应用于机器人上,例如,如图3所示,所述机器人100底部设有一驱动轮K,所述光流传感器R设于所述驱动轮K的一侧。则当所述光流传感器和所述驱动轮的距离f1不超过一定的阈值时,可根据所述光流传感器R测出的速度与该驱动轮K的速度进行比对,从而快速获取所述机器人100的打滑信息。优选地,将所述光流传感器R的光敏面R’的轴线R”与所述驱动轮K的轴线K’平行,使得建立的坐标系的X轴或Y轴与驱动轮的轴线平行,则在计算移动位移的过程中,仅需获取特征点在X轴上的位移或者在Y轴上的位移,无需分别获取X轴的位移在驱动轮轴线上的投影和Y轴位移在驱动轮轴线的投影,更快速有效,节约运算资源。
此外,如图4所示,当所述机器人100底部设有从动轮/支撑轮M时,还可将光流传感器R设于所述机器人的从动轮/支撑轮M的一侧,同样地,当所述光流传感器R与所述从动轮/支撑轮M的距离f2不超过一定的阈值时,可将所述光流传感器R测出的速度与驱动轮M的速度进行比对,从而快速获取所述机器人100的打滑信息。下面,将具体介绍如何通过以上的基于光流传感器的测速方法获取所述可移动电子设备的打滑信息。优选地,将所述光流传感器R的光敏面R’的轴线R”与所述从动轮/支撑轮M的轴线M’平行。在本发明中,所述从动轮/支撑轮M包括万向轮或定向轮,所述万向轮的结构允许水平360度旋转,而所述定向轮的轮子方向是固定的。
参见图5,是本发明其中一实施例提供了一种打滑检测方法,其适用于一种移动电子设备,如图6所示,所述移动电子设备200底部设有第一驱动轮K1和第一光流传感器R1,所述第一光流传感器R1位于所述第一驱动轮K1的一侧,所述第一驱动轮K1上安装有第一编码器Q1,所述第一编码器Q1用于检测所述第一驱动轮K1的速度;所述方法包括步骤:
S21、通过所述第一光流传感器R1以预设的采集频率获取所述移动电子设备200所在的表面的图像;
在步骤S21中,所述采集频率为100次/秒~1500次/秒;所述光流传感器R1的光学分辨率为100dpi~1000dpi。
S22、根据所述第一光流传感器R1当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备200当前时刻相对于前第n时刻的第一实际位移;n≥1;
在步骤S22中,根据所述第一光流传感器R1的X轴位移和Y轴位移计算所述移动电子设备200当前时刻相对于前第n时刻的第一实际位移,即在所述第一光流传感器R1的光敏面上构建直角坐标系,根据特征点在该光面上的X轴位移和Y轴位移即可计算所述移动电子设备200当前时刻相对于前第n时刻的第一实际位移;
S23、根据所述第一编码器Q1获取到的所述第一驱动轮K1的速度获取所述移动电子设备200当前时刻相对于前第n时刻的第一理论位移;
在步骤S23中,以所述第一驱动轮K1的速度和n个单元时刻的乘积作为所述移动电子设备200当前时刻相对于前第n时刻的第一理论位移;
S24、获取所述第一实际位移和所述第一理论位移的第一位移差值,当所述第一位移差值大于预设的第一位移阈值时,检测所述第一差值大于所述第一位移阈值的第一持续时间;和
S25、当所述第一持续时间大于预设的第一时间阈值时,确定所述移动电子设备200存在打滑现象。
需要说明的是,移动电子设备的打滑现象所表现出的状态具体为,驱动轮发生空转,其并未对移动电子设备的移动起到贡献作用。例如,在本实施例中,移动电子设备200停止移动时,所述第一驱动轮K1仍在转动,这种转动不能驱动所述移动电子设备200发生移动。另外,当所述第一驱动轮K1空转时,第一编码器Q1正常记录第一驱动轮K1的转动速度,因此,根据所述第一编码器Q1记录的速度进行定位和地图构建存在误差。由此可见,及时检测移动电子设备200是否发生打滑,对于准确定位和构建精准的地图尤为重要。通过本实施例的方案,由第一编码器Q1实时记录第一驱动轮K1的速度进而获得第一理论位移,并通过第一光流传感器R1实时计算所述可移动电子设备200的第一实际位移,通过计算两者的差值是否大于预设的第一位移阈值,当大于时,检测这种状态的第一持续时间,当所述第一持续时间大于预设的第一时间阈值时,即可判定所述移动电子设备200存在打滑现象。在本发明实施例中,判定打滑由所述第一持续时间大于第一时间阈值的条件下触发,而不是在所述第一实际位移和所述第一理论位移的差值大于预设的第一位移阈值的瞬间触发,可排除发生颠簸而产生误判的情况。
在另一优选实施例中,参见图6和7,所述移动电子设备200底部还设有第二驱动轮K2和第二光流传感器R2,所述第二光流传感器R2位于所述第二驱动轮K2的一侧,所述第二驱动轮K2上安装有用于检测所述第二驱动轮K2的速度的第二编码器Q2;所述方法还包括步骤:
S26、通过所述第二光流传感器R2以预设的采集频率获取所述移动电子200设备所在的表面的图像;
S27、根据所述第二光流传感器R2当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备200当前时刻相对于前第n时刻的第二实际位移;
在步骤S27中,根据所述第二光流传感器200的X轴位移和Y轴位移计算所述移动电子设备200当前时刻相对于前第n时刻的第二实际位移;
S28、根据所述第二编码器Q2获取到的所述第二驱动轮K2的速度获取所述移动电子设备的备当前时刻相对于前第n时刻的第二理论位移;
在步骤S23中,以所述第二驱动轮K2的速度和n个单元时刻的乘积作为所述移动电子设备200当前时刻相对于前第n时刻的第二理论位移;
S29、获取所述第二实际位移和第二理论位移的第二位移差值,当判断所述第二位移差值大于预设的第二位移阈值时,检测所述第二位移差值大于所述第二位移阈值的第二持续时间;和
S30、当所述第二持续时间大于预设的第二时间阈值时,确定所述移动电子设备200存在打滑现象。
优选地,所述第一光流传感器R1的光敏面R11的轴线R111与所述第一驱动轮K1的轴线K11平行;所述第二光流传感器R2的光敏面R21的轴线R211与所述第二驱动轮K2的轴线K21平行,通过上述设置,可减少运算量,计算过程更简单。
优选地,所述第一光流传感器R1和所述第一驱动轮K1的距离d1小于或者等于5cm;所述第二光流传感器R2和所述第二驱动轮K2的距离d2小于或者等于5cm。当第一光流传感器R1和第一驱动轮K1的距离越近时,所得到的第一实际位移越接近第一驱动轮K1带动可移动电子设备200的实际运行距离,所得到第一实际位移也更有参考价值;同时,当第二光流传感器R2和第二驱动轮K2的距离越近时,所得到的第二实际位移越接近第二驱动轮K2带动可移动电子设备200的实际运行距离,所得到第二实际位移也更有参考价值。
另外,在计算第一实际位移和第二实际位移的过程中,可采用梯度的方法、匹配的方法、基于能量的方法或基于相位的方法。
现有的机器人,例如扫地机器人、仓储机器人和早教机器人等,更多的是使用两个驱动轮进行移动。当具有两个驱动轮时,打滑的情况会更加复杂,主要可分为三种情况:(1)机器人遇到障碍物停止移动,两个驱动轮以同样的速度发生空转;(2)机器人遇到障碍物后尝试转弯但实际并未发生移动,两个驱动轮以不同的速度发生空转(例如分别以+10米/秒和-10米/秒的速度空转);(3)其中一个驱动轮卡入凹坑中,机器人以该驱动轮为定点发生转动,该驱动轮发生空转。
本发明实施例将所述第一光流传感器R1设于所述第一驱动轮K1的一侧,并将第二光流传感器R2设于所述第二驱动轮K2的一侧,分别计算第一实际位移和第二实际位移,并通过第一编码器Q1和第二编码器Q2分别计算可移动电子设备的第一理论位移和第二理论位移。当所述第一实际位移和所述第一理论位移的差值大于预设的第一位移阈值时,且所述第一实际位移和所述第一理论位移的差值大于预设的第一位移阈值的第一持续时间大于预设的第一时间阈值时,确定所述移动电子设备200存在打滑现象;或者,当所述第二实际位移和第二理论位移的差值大于预设的第二位移阈值时,且所述第二实际位移和第二理论位移的差值大于所述第二位移阈值的第二持续时间大于预设的第二时间阈值时,确定所述移动电子设备200存在打滑现象。通过双重判定,可有效检测上述任意一种打滑现象。例如,当机器人遇到障碍物后尝试转弯但实际并未发生移动,两个驱动轮以不同的速度发生空转(例如分别以+10米/秒和-10米/秒的速度空转)时,通过第一光流传感器或第二光流传感器均可触发所述可移动电子设备发生打滑的判定;又例如,第一驱动轮卡入凹坑中,机器人以第一驱动轮为定点发生转动,第一驱动轮发生空转。在后者的情况下,即使机器人仍在运动,但第一驱动轮对机器人的运动是没有贡献的,因此通过第一光流传感器可触发所述可移动电子设备发生打滑的判定。需要说明的是,对于机器人以第一驱动轮为定点发生转动的情况,由于第二驱动轮对机器人的运动具有驱动作用,因此,通过第二光流传感器无法触发所述可移动电子设备发生打滑的判定。
除了可利用位移数据对打滑现象进行判定外,还可利用速度数据获取可移动电子设备的打滑信息。参见图8,是本发明实施例4提供了一种打滑检测方法,其适用于一种移动电子设备,如图6所示,所所述移动电子设备200底部设有第一驱动轮K1和第一光流传感器R1,所述第一光流传感器R1位于所述第一驱动轮K1的一侧,所述第一驱动轮K1上安装有第一编码器Q1,所述第一编码器Q1用于检测所述第一驱动轮K1的速度;所述方法包括步骤:
S41、通过所述第一光流传感器R1以预设的采集频率获取所述移动电子设备200所在的表面的图像;
S42、根据第一光流传感器R1当前时刻采集到的图像与前n个时刻采集的历史图像进行计算,获取所述移动电子设备200当前时刻相对于前第n时刻的第一实际位移,基于所述第一位移获取所述移动电子设备200当前时刻的第一实际速度;n≥1;
S43、根据所述第一编码器Q1实时获取到的所述第一驱动轮K1的速度,获取所述移动电子设备200当前时刻的第一理论速度;
在步骤S43中,以所述第一编码器Q1实时获取到的所述第一驱动轮K1的速度作为所述移动电子设备200当前时刻的第一理论速度;
S44、获取所述第一实际速度和第一理论速度的第一速度差值,当判断所述第一速度差值大于预设的第一速度阈值时,检测所述第一速度差值大于所述第一速度阈值的第三持续时间;和
S45、当所述第三持续时间大于预设的第三时间阈值时,确定所述移动电子设备200存在打滑现象。
在另一优选实施例中,参见图9和图6,所述移动电子设备200底部还设有第二驱动轮K2和第二光流传感器R2,所述第二光流传感器R2位于所述第二驱动轮K2的一侧,所述第二驱动轮K2上安装有用于检测所述第二驱动轮K2的速度的第二编码器Q2;所述方法还包括步骤:
S46、通过所述第二光流传感器R2以预设的采集频率获取所述移动电子设备200所在的表面的图像;
S47、根据所述第二光流传感器R2当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备200当前时刻相对于前第n时刻的第二实际位移,基于所述第二实际位移获取所述移动电子设备200当前时刻的第二实际速度;
在步骤S407中,根据公式
计算所述移动电子设备200当前时刻的第二实际速度,其中l为所述移动电子设备200当前时刻相对于前第n时刻的第二实际位移.
S48、根据所述第二编码器Q2实时获取到的所述第二驱动轮K2的速度,获取所述移动电子设备200当前时刻的第二理论速度;
在步骤S408中,以所述第二编码器Q2实时获取到的所述第二驱动轮K2的速度作为所述移动电子设备200当前时刻的第二理论速度。
S49、获取所述第二实际速度和第二理论速度的第二速度差值,当任意时刻判断所述第二速度差值大于预设的第二速度阈值时,检测所述第二速度差值大于所述第二速度阈值的第四持续时间;和
S50、当所述第四持续时间大于预设的第四时间阈值时,确定所述移动电子设备200存在打滑现象。
优选地,所述第一光流传感器R1的光敏面R11的轴线R111与所述第一驱动轮K1的轴线K11平行;所述第二光流传感器R2的光敏面R21的轴线R211与所述第二驱动轮K2的轴线K21平行,通过上述设置,可减少运算量,计算过程更简单。
优选地,所述第一光流传感器R1和所述第一驱动轮K1的距离d1小于或者等于5cm;所述第二光流传感器R2和所述第二驱动轮K2的距离d2小于或者等于5cm。当第一光流传感器R1和第一驱动轮K1的距离越近时,所得到的第一实际位移越接近第一驱动轮K1带动可移动电子设备200的实际运行距离,所得到第一实际位移也更有参考价值;同时,当第二光流传感器R2和第二驱动轮K2的距离越近时,所得到的第二实际位移越接近第二驱动轮K2带动可移动电子设备200的实际运行距离,所得到第二实际位移也更有参考价值。
另外,在计算第一实际位移和第二实际位移的过程中,可采用梯度的方法、匹配的方法、基于能量的方法或基于相位的方法。
本实施例的实施过程和工作原理可参考对实施例3的描述,在此不再赘述。
对于还设有从动轮/支撑轮的可移动电子设备,除了可在驱动轮的一侧设置光流传感器对打滑现象进行检测外,还可在从动轮/支撑轮的一侧设置光流传感器获取打滑信息。
参见图10,是本发明其中一实施例提供了一种打滑检测方法,其适用于一种移动电子设备300,如图11所示,所述移动电子设备底部设有第一驱动轮K1、第二驱动轮K2、从动轮/支撑轮K3和第三光流传感器R3,所述第三光流传感器R3位于所述从动轮/支撑轮K3的一侧,所述第一驱动轮K1上安装有用于检测所述第一驱动轮K1的速度的第一编码器Q1,所述第二驱动轮C上安装有用于检测所述第二驱动轮K2的速度的第二编码器Q2;所述方法包括步骤:
S61、通过所述第三光流传感器R3以预设的采集频率获取所述移动电子设备300所在的表面的图像;
S62、根据第三光流传感器R3当前时刻采集到的图像与前n个时刻采集的历史图像,获取所述移动电子设备300当前时刻相对于前第n时刻的第三实际位移;n≥1;
在步骤S62中,根据所述第三光流传感器R3的X轴位移和Y轴位移计算所述移动电子设备300当前时刻相对于前第n时刻的第三实际位移;
S63、根据所述第一编码器Q1获取到的所述第一驱动轮K1的速度,以及所述第二编码器Q2获取到的所述第二驱动轮K2的速度,计算所述移动电子设备300当前时刻相对于前第n时刻的第三理论位移;
S64、获取所述第三实际位移和第三理论位移的第三位移差值,当判断所述第三位移差值大于预设的第三位移阈值时,检测所述第三位移差值大于所述第三位移阈值的第五持续时间;和
S65、当所述第五持续时间大于预设的第五时间阈值时,确定所述移动电子设备300存在打滑现象。
需要说明的是,该方法适用于轮式移动机器人(Wheeled Mobile Robot,WMR),轮式移动机器人由车体、两个驱动轮和一个随动轮组成,随动轮在运动过程中起支撑作用,其在之前的运动学模型中的影响忽略不计,近年来开始研究其的运动状态以检测机器人打滑或遇到障碍物而停止的现象。通过控制左驱动轮、右驱动轮的电动机的转动速度和方向可控制轮式移动机器人的行驶方向和速度,当左驱动轮和右驱动轮存在速度差时,且该速度差大于预设的阈值时轮式移动机器人会发生转弯,例如,左驱动轮的速度为-50cm/s,右驱动轮的速度为50cm/s,轮式移动机器人以其中心做转弯运动;而当左驱动轮和右驱动轮的速度均为50cm/s时,轮式移动机器人以其中轴线做直线向前运动。
优选地,所述第三光流传感器R3的光敏面R31的轴线与所述从动轮/支撑轮K3的轴线平行;所述第三光流传感器R3和所述从动轮/支撑轮K3的距离d3小于或者等于5cm。另外,在计算第三实际位移的过程中,可采用梯度的方法、匹配的方法、基于能量的方法或基于相位的方法。
优选地,步骤S63具体包括步骤:
S631、当所述第一驱动轮K1的速度和所述第二驱动轮K2的速度的差值小于预设的第四速度阈值时,则确定所述可移动电子设备300做直线运动;当所述第一驱动轮K1的速度和所述第二驱动轮K2的速度的差值大于预设的第四速度阈值时,则确定所述可移动电子设备300做曲线运动;
S632、若确定所述可移动电子设300备做直线运动,以所述第一驱动轮K1/第二驱动轮K2的速度和n的乘积作为所述移动电子设备300当前时刻相对于前第n时刻的第三理论位移;
S633、若确定所述可移动电子设备300做曲线运动,确定所述曲线运动的圆心,以所述第一驱动轮K1的速度、第一比例关系和n的乘积作为所述移动电子设备300当前时刻相对于前第n时刻的第三理论位移;或,以所述第二驱动轮K2的速度、第二比例关系和n的乘积作为所述移动电子设备300当前时刻相对于前第n时刻的第三理论位移;其中,所述第一比例关系为所述从动轮/支撑轮K3至所述圆心的距离与所述第一驱动轮K1至所述圆心的距离的比例,所述第二比例关系为所述从动轮/支撑轮K3至所述圆心的距离与所述第二驱动轮K2至所述圆心的距离的比例。
需要说明的是,在步骤S6033中,虽然曲线运动并不一定是圆周运动,但在非常短的距离内仍然可以认为其以一圆心做圆周运动,因此,假设所述可移动电子设备做圆周运动,确定其做圆周运动的圆心,并由此根据第一比例关系和第二比例关系计算第三理论位移,仍能快速、准确判定所述可移动电子设备是否发生打滑。
在本实施例中,通过先确定可移动电子设备的不同运动状态,例如直线运动或曲线运动,再分情况具体分析可移动电子设备是否打滑。当任意时刻检测到所述第一驱动轮K1的速度和第二驱动轮K2的速度的差值小于预设的第四速度阈值时,则确定所述可移动电子设备做直线运动;当任意时刻检测到第一驱动轮K1的速度和第二驱动轮K2的速度的差值大于预设的第四速度阈值,则确定所述可移动电子设备做曲线运动。当可移动电子设备300做直线运动,根据所述第一编码器Q1获取到的所述第一驱动轮K1的速度v1或所述第二编码器Q2获取到的所述第二驱动轮K2的速度v2,计算所述移动电子设备300当前时刻相对于前第n时刻的第三理论位移,例如,当n=1,则通过计算v1×1个单元时刻即可得到第三理论位移。与此同时,通过第三光流传感器R3采集到的图像比对当前时刻与上一时刻的特征点位置,即可获得第三实际位移。将所述第三理论位移和第三实际位移求差值,当判断所述第三实际位移和第三理论位移的差值大于预设的第三位移阈值时,且所述第三实际位移和第三理论位移的差值大于预设的第三位移阈值的第五持续时间大于预设的第五时间阈值时,确定所述移动电子设备存在打滑现象。
通过准确量化从动轮/支撑轮的速度,并将其应用于打滑判断中,不仅能检测从动轮/支撑轮停止转动而驱动轮空转的情况,还能检测从动轮/支撑轮仍然转动但其滚动距离和驱动轮滚动距离不一致的情况,功能更完善,符合实际应用的需求。
下面,以从动轮/支撑轮K3为万向轮K3为例对对可移动电子设备300做曲线运动的打滑检测进行说明。如图12所示,设第一驱动轮为图中的左驱动轮K1,第二驱动轮为图中的左驱动轮K2。当左驱动轮K1的速度为50cm/s,右驱动轮K2的速度为100cm/s,则可确定所述可移动电子设备300以O点进行左转弯时,则根据各点和O点的距离比例关系,计算各点的相对位移。例如前端万向轮K3到O点的距离s1为80cm,右驱动轮K2到O点的距离s3为100cm,则可知万向轮K3的第三理论位移和右驱动轮K2的理论位移比为80/100=4/5;计算所述移动电子设备300当前时刻相对于前第n时刻的第三理论位移,例如,当n=1,则通过计算公式(1)100Ⅹ4/5Ⅹ1个单元时刻即可得到第三理论位移。通过第三光流传感器R3采集到的图像比对当前时刻与上一时刻的特征点位置,即可获得第三实际位移。将所述第三理论位移和第三实际位移求差值,当判断所述第三实际位移和第三理论位移的差值大于预设的第三位移阈值时,且所述第三实际位移和第三理论位移的差值大于预设的第三位移阈值的第五持续时间大于预设的第五时间阈值时,确定所述移动电子设备300存在打滑现象。
在上述实施例的基础上,当检测到可移动电子设备发生打滑时,需要预设的避开策略摆脱打滑状态,例如,当任意时刻检测到所述可移动电子设备发生打滑,且所述可移动电子设备向前做直线运动时,控制所述可移动电子设备后退K1cm后转弯P1°避开;
当任意时刻检测到所述可移动电子设备发生打滑,且所述可移动电子设备向后做直线运动时,控制所述可移动电子设备前进K2cm后转弯P2°避开;
当任意时刻检测到所述可移动电子设备发生打滑,所述可移动电子设备向前做曲线线运动时,控制所述可移动电子设备后退K3cm后转弯P3°避开;
当任意时刻检测到所述可移动电子设备发生打滑,且所述可移动电子设备向后做曲线运动时,控制所述可移动电子设备前进K4cm后转弯P4°避开。
需要说明的是,本实施例提供的打滑检测方法均适用于上述列举过的三种打滑情况。因此,本实施例提供的打滑检测方法仅需利用一个光流传感器即可实现各种打滑现象的检测,快速有效,能使可移动电子设备及时获知打滑情况并作出相应的响应,避免可移动电子设备一直保持空转状态而消耗电量,从而所造成的资源浪费。
参见图13,是本发明其中一实施例提供了一种打滑检测方法,其适用于一种移动电子设备,如图11所示,所述移动电子设备300底部设有第一驱动轮K1、第二驱动轮K2、从动轮/支撑轮K3和第三光流传感器R3,所述第三光流传感器R3位于所述从动轮/支撑轮K3的一侧,所述第一驱动轮K1上安装有用于检测所述第一驱动轮K1的速度的第一编码器Q1,所述第二驱动轮C上安装有用于检测所述第二驱动轮K2的速度的第二编码器Q2:
S71、以预设的采集频率通过所述第三光流传感器R3获取所述移动电子设备300所在的表面的图像;
S72、根据第三光流传感器R3当前时刻采集到的图像与前n个时刻采集的历史图像进行计算,获取所述移动电子设备300当前时刻相对于前第n时刻的第三实际位移;n≥1;
在S72中,根据所述第三光流传感器R3的X轴位移和Y轴位移计算所述移动电子设备300当前时刻相对于前第n时刻的第三实际位移;
S73、根据所述移动电子设备300当前时刻相对于前第n时刻的第三实际位移计算所述移动电子设备300的第三实际速度;
S74、根据所述第一编码器Q1获取到的所述第一驱动轮K1的速度,以及所述第二编码器Q2获取到的所述第二驱动轮K2的速度,计算所述移动电子设备300的第三理论速度;
S75、获取所述第三实际速度和第三理论速度的第三速度差值,当判断所述第三速度差值大于预设的第三速度阈值时,检测所述第三速度差值大于所述第三速度阈值的第六持续时间;和
S76、当所述第六持续时间大于预设的第六时间阈值时,确定所述移动电子设备300存在打滑现象。
优选地,所述第三光流传感器R3的光敏面R31的轴线与所述从动轮/支撑轮K3的轴线平行;所述第三光流传感器R3和所述从动轮/支撑轮K3的距离d3小于或者等于5cm。另外,在计算第三实际位移的过程中,可采用梯度的方法、匹配的方法、基于能量的方法或基于相位的方法。
优选地,步骤S74具体包括步骤:
S741、当所述第一驱动轮K1的速度和所述第二驱动轮K2的速度的差值小于预设的第四速度阈值时,则确定所述可移动电子设备300做直线运动;当所述第一驱动轮K1的速度和所述第二驱动轮K2的速度的差值大于预设的第四速度阈值时,则确定所述可移动电子设备300做曲线运动;
S742、若确定所述可移动电子设备300做直线运动,以所述第一驱动轮K1/第二驱动轮K2的速度作为所述移动电子设备的第三理论速度;
S743、若确定所述可移动电子设备300做曲线运动,确定所述曲线运动的圆心,以所述第一驱动轮K1的速度和第一比例关系的乘积作为所述移动电子设备300的第三理论速度;或,以所述第二驱动轮K2的速度和第二比例关系的乘积作为所述移动电子设备300的第三理论速度;其中,所述第一比例关系为所述从动轮/支撑轮K3至所述圆心的距离与所述第一驱动轮K1至所述圆心的距离的比例,所述第二比例关系为所述从动轮/支撑轮K3至所述圆心的距离与所述第二从动轮/支撑轮K2至所述圆心的距离的比例。
在本发明中,所述从动轮/支撑轮K3包括万向轮或定向轮,所述万向轮的结构允许水平360度旋转,而所述定向轮的轮子方向是固定的。
参见实施例,可分别分析可移动电子设备直线运动和曲线运动时的打滑检测。关于可移动电子设备直线运动和曲线运动,在此不再赘述。当可移动电子设备做直线运动,获取所述第一编码器Q1获取到的所述第一驱动轮K1的速度v1或所述第二编码器Q2获取到的所述第二驱动轮K2的速度v2作为第三理论速度n。与此同时,通过第三光流传感器R3采集到的图像比对当前时刻与前第n时刻的特征点位置,即可获得第三实际速度。将所述第三理论速度和第三实际速度求差值,当判断所述第三实际速度和第三理论速度的差值大于预设的第三速度阈值时,且所述第三实际速度和第三实际速度的差值大于预设的第三速度阈值的第六持续时间大于预设的第六时间阈值时,确定所述移动电子设备300存在打滑现象。
下面,以从动轮/支撑轮K3为万向轮K3为例对对可移动电子设备300做曲线运动的打滑检测进行说明。如图12所示,,设第一驱动轮K1为图中的左驱动轮K1,第二驱动轮K2为图中的左驱动轮K2。当左驱动轮K1的速度为50cm/s,右驱动轮K2的速度为100cm/s,则可确定所述可移动电子设备300以O点进行左转弯时,则根据各点和O点的距离比例关系,计算各点的相对位移。例如前端万向轮K3到O点的距离s1为80cm,右驱动轮K2到O点的距离s3为100cm,则可知万向轮K3的第三理论速度和右驱动轮K2的速度比为80/100=4/5,因此,在正常行驶状态下,前端的万向轮K3的第三理论速度应为80cm/s;通过第三光流传感器R3采集到的图像比对当前时刻与前第n个时刻的特征点位置,即可获得第三实际位移,根据所述移动电子设备300当前时刻相对于前第n时刻的第三实际位移计算所述移动电子设备的第三实际速度。将所述第三理论速度和第三实际速度求差值,当判断所述第三实际速度和第三理论速度的差值大于预设的第三位移阈值时,且所述第三实际速度和第三实际速度的差值大于预设的第三速度阈值的第六持续时间大于预设的第六时间阈值时,确定所述移动电子设备300存在打滑现象。
另外,本发明实施例还提供了一种打滑检测装置,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现以上任意一实施例所公开的打滑检测方法。
另外,本发明实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行以上任意一实施例所公开的打滑检测方法。
参见图14,本发明实施例还提供了一种路径纠正方法,包括步骤:
S81、采用以上任意一项所述的打滑检测方法判断所述可移动电子设备是否发生打滑;
S82、当任意时刻判断所述可移动电子设备发生打滑时,记录所述可移动电子设备持续打滑的时间;
S83、根据所述可移动电子设备持续打滑的时间对所述可移动电子设备的路径进行纠正。
由于对于可移动电子设备而言,其路径记录时基于编码器进行的,当可移动电子设备发生打滑时,如果仍然以编码器记录的速度和位移记录路径,会导致定位误差的产生。因此,在所述可移动电子设备持续打滑的时间段内,停止采用编码器记录的速度和位移记录路径,可有效对可移动电子设备的路径进行纠正,对于后续的地图构建和准确定位具有重要作用。
本发明实施例还对应提供了一种路径纠正装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现以上所述的路径纠正方法。
本发明实施例还对应提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行以上所述的路径纠正方法。
参见图15,本发明实施例还提供了一种可移动电子设备500,包括第一驱动轮501、第一光流传感器502、处理器503和第一编码器504,所述第一光流传感器501位于所述第一驱动轮501的一侧,所述第一驱动轮501上安装有所述第一编码器504;其中,
所述第一编码器504,用于检测所述第一驱动轮501的速度;
所述第一光流传感器502,用于以预设的采集频率获取所述移动电子设备500所在的表面的图像;
所述处理器503,用于执行如图5或图9所述的打滑检测方法。
在另一优选实施例中,参见图16,所述可移动电子设备500还包括第二驱动轮506、第二光流传感器507和第二编码器508,所述第二光流传感器507位于所述第二驱动轮506的一侧;其中,
所述第二编码器508,用于检测所述第二驱动轮506的速度;
所述第二光流传感器507,用于以预设的采集频率获取所述移动电子设备所在的表面的图像;
所述处理器503,还用于执行如图7或图10所示的打滑检测方法。
优选地,所述处理503还用于执行图14所述的路径纠正方法。
参见图17,本发明其中一实施例还提供了一种可移动电子设备600,包括第一驱动轮601、第二驱动轮602、从动轮/支撑轮603、第三光流传感器604、第一编码器605、第二编码器606和处理器607,所述第三光流传感器604位于所述从动轮/支撑轮603的一侧;
所述第一编码器605,用于检测所述第一驱动轮601的速度;
所述第二编码器606,用于检测所述第二驱动轮602的速度;
所述第三光流传感器604,用于以预设的采集频率获取所述移动电子设备600所在的表面的图像;
所述处理器607,还用于执行如图11或14所述的打滑检测方法。
优选地,所述处理607还用于执行图14所述的路径纠正方法。
在本发明中,所述从动轮/支撑轮603包括万向轮或定向轮,所述万向轮的结构允许水平360度旋转,而所述定向轮的轮子方向是固定的。
本领域技术人员可以理解,所述示意图仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。