本发明涉及智能驾驶技术领域,尤其涉及一种车辆姿态的控制方法、设备及计算机可读存储介质。
背景技术:
随着智能技术的发展,自动化物流和仓储系统是未来的发展趋势,而智能车辆在其中起到了重要的作用。智能车辆除了需要自主导航外,还需要动态识别安放货物的托盘,同时确定托盘的位置和距离,精准完成自动搬运货物的任务。在仓库中,车辆有两种工作状态:取出托盘和存放托盘。在这两种状态下,都需要识别后面和周围托盘的位置和距离,避免车辆与托盘发生碰撞,保证车辆安全通过仓库中的通道,成功搬运货物。由此可知,如何识别仓库仓位上托盘的位置和距离是亟需解决的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现要素:
本发明的主要目的在于提供一种车辆姿态的控制方法、设备及计算机可读存储介质,旨在解决如何识别仓库仓位上托盘的位置和距离的技术问题。
为实现上述目的,本发明提供一种车辆姿态的控制方法,所述车辆姿态的控制方法包括以下步骤:
当检测到车辆与障碍物之间的距离小于或者等于预设距离时,触发停止指令,根据所述停止指令控制所述车辆处于停止运行状态;
在所述车辆处于停止运行状态时通过所述车辆的摄像装置获取深度图像,并生成与所述深度图像对应的背景环境模板图像;
根据所述背景环境模板图像、所述深度图像和所述摄像装置的摄像参数确定所述障碍物的轮廓数据,并根据所述轮廓数据控制所述车辆的姿态。
进一步地,所述根据所述背景环境模板图像、所述深度图像和所述摄像装置的摄像参数确定所述障碍物的轮廓数据的步骤包括:
获取所述背景环境模板图像的第一像素坐标,以及获取所述深度图像的第二像素坐标;
确定所述第二像素坐标和所述第一像素坐标之间的距离差值,保留所述距离差值小于零对应的第二像素坐标,得到差异像素坐标;
根据所述摄像装置的摄像参数对所述差异像素坐标进行极坐标转换,以得到所述障碍物转换后的极坐标;
根据转换后的极坐标确定所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据,其中,所述摄像装置所在位置为坐标原点。
进一步地,所述根据所述摄像装置的摄像参数对所述差异像素坐标进行极坐标转换,以得到所述障碍物转换后的极坐标的步骤包括:
读取所述摄像装置的安装高度、安装角度、垂直视场角度、水平视场角度、有效像素行数和有效像素列数,以及将所述差异像素坐标读取为测量点,并逐一对各所述测量点执行以下步骤:
检测所述测量点到所述摄像装置之间的深度值,以及所述测量点的所在像素行数和所在像素列数;
根据所述安装角度、垂直视场角度、所在像素行数、有效像素行数和所述深度值,确定所述测量点的极坐标模值;
根据所述水平视场角度、安装高度、安装角度、垂直视场角度、所在像素列数、有效像素列数、所在像素行数和有效像素行数,确定所述测量点的极坐标角度;
将所述极坐标模值和所述极坐标角度确定为所述测量点的极坐标,并在各所述测量点均生成极坐标后,将各所述极坐标确定为所述障碍物转换后的极坐标。
进一步地,所述根据转换后的极坐标确定所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据的步骤包括:
在预设角度范围选取所述转换后的极坐标生成极坐标集合,对应所述极坐标集合中的各元素依次进行中值滤波和均值滤波处理,生成处理结果;
对所述处理结果中的各元素进行合并,生成目标元素,并计算所述目标元素与所述摄像装置对应的角度和距离,对应得到所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据。
进一步地,所述确定所述第二像素坐标和所述第一像素坐标之间的距离差值的步骤包括:
确定所述第一像素坐标对应的阈值误差,计算所述第一像素坐标对应的第一模值与所述阈值误差之间的乘积;
将所述乘积与所述第一模值相加,得到第三模值,将所述第二像素坐标对应的第二模值减去所述第三模值,得到所述第二像素坐标和所述第一像素坐标之间的距离差值。
进一步地,所述生成与所述深度图像对应的背景环境模板图像的步骤包括:
对所述深度图像中的空洞数据进行填涂处理,得到填涂处理后的深度图像;
采用多帧平均法对填涂处理后的深度图像进行处理,得到多帧处理后的深度图像;
对多帧处理后的深度图像进行平滑处理,得到平滑处理后的二维图模板图像;
对所述二维图模板图像进行均值滤波,得到所述深度图像对应的背景环境模板图像。
进一步地,所述根据所述轮廓数据控制所述车辆的姿态的步骤包括:
根据所述轮廓数据生成所述障碍物与所述车辆之间的位置关系图;
根据所述位置关系图调整所述车辆的姿态,以控制所述车辆的姿态。
进一步地,所述当检测到车辆与障碍物之间的距离小于或者等于预设距离时,触发停止指令,根据所述停止指令控制所述车辆处于停止运行状态的步骤之前,还包括:
通过车辆中的摄像装置检测所述车辆与所述障碍物之间的距离。
此外,为实现上述目的,本发明还提供一种车辆姿态的控制设备,所述车辆姿态的控制设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的车辆姿态的控制程序,所述车辆姿态的控制程序被所述处理器执行时实现如上述的车辆姿态的控制方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有车辆姿态的控制程序,所述车辆姿态的控制程序被处理器执行时实现如上述的车辆姿态的控制方法的步骤。
本发明通过检测到车辆与障碍物之间的距离小于或者等于预设距离时,控制车辆处于停止运行状态,并在车辆处于停止运行状态时通过车辆的摄像装置获取深度图像,并生成与该深度图像对应的背景环境模板图像,根据该背景环境模板图像、深度图像和摄像装置的摄像参数确定障碍物的轮廓数据,并根据该轮廓数据控制车辆的姿态,实现了对于车辆所在复杂的环境背景,动态去除干扰因素,以清晰准确地确定障碍物的轮廓数据,即清晰准确地识别仓库仓位上托盘的位置和距离。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的车辆姿态的控制设备结构示意图;
图2为本发明车辆姿态的控制方法第一实施例的流程示意图;
图3为本发明实施例中车辆取出托盘和存放托盘的一种示意图;
图4为本发明实施例中计算出障碍物轮廓数据过程车辆和摄像装置对应变化的一种示意图;
图5为本发明车辆姿态的控制方法第四实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的车辆姿态的控制设备结构示意图。
如图1所示,该车辆姿态的控制设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,车辆姿态的控制设备还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动车辆姿态的控制设备移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动车辆姿态的控制姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动车辆姿态的控制设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的车辆姿态的控制设备结构并不构成对车辆姿态的控制设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及车辆姿态的控制程序。
在图1所示的车辆姿态的控制设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的车辆姿态的控制程序。
在本实施例中,车辆姿态的控制设备包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的车辆姿态的控制程序,其中,处理器1001调用存储器1005中存储的车辆姿态的控制程序时,并执行以下操作:
当检测到车辆与障碍物之间的距离小于或者等于预设距离时,触发停止指令,根据所述停止指令控制所述车辆处于停止运行状态;
在所述车辆处于停止运行状态时通过所述车辆的摄像装置获取深度图像,并生成与所述深度图像对应的背景环境模板图像;
根据所述背景环境模板图像、所述深度图像和所述摄像装置的摄像参数确定所述障碍物的轮廓数据,并根据所述轮廓数据控制所述车辆的姿态。
进一步地,所述根据所述背景环境模板图像、所述深度图像和所述摄像装置的摄像参数确定所述障碍物的轮廓数据的步骤包括:
获取所述背景环境模板图像的第一像素坐标,以及获取所述深度图像的第二像素坐标;
确定所述第二像素坐标和所述第一像素坐标之间的距离差值,保留所述距离差值小于零对应的第二像素坐标,得到差异像素坐标;
根据所述摄像装置的摄像参数对所述差异像素坐标进行极坐标转换,以得到所述障碍物转换后的极坐标;
根据转换后的极坐标确定所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据,其中,所述摄像装置所在位置为坐标原点。
进一步地,所述根据所述摄像装置的摄像参数对所述差异像素坐标进行极坐标转换,以得到所述障碍物转换后的极坐标的步骤包括:
读取所述摄像装置的安装高度、安装角度、垂直视场角度、水平视场角度、有效像素行数和有效像素列数,以及将所述差异像素坐标读取为测量点,并逐一对各所述测量点执行以下步骤:
检测所述测量点到所述摄像装置之间的深度值,以及所述测量点的所在像素行数和所在像素列数;
根据所述安装角度、垂直视场角度、所在像素行数、有效像素行数和所述深度值,确定所述测量点的极坐标模值;
根据所述水平视场角度、安装高度、安装角度、垂直视场角度、所在像素列数、有效像素列数、所在像素行数和有效像素行数,确定所述测量点的极坐标角度;
将所述极坐标模值和所述极坐标角度确定为所述测量点的极坐标,并在各所述测量点均生成极坐标后,将各所述极坐标确定为所述障碍物转换后的极坐标。
进一步地,所述根据转换后的极坐标确定所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据的步骤包括:
在预设角度范围选取所述转换后的极坐标生成极坐标集合,对应所述极坐标集合中的各元素依次进行中值滤波和均值滤波处理,生成处理结果;
对所述处理结果中的各元素进行合并,生成目标元素,并计算所述目标元素与所述摄像装置对应的角度和距离,对应得到所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据。
进一步地,所述确定所述第二像素坐标和所述第一像素坐标之间的距离差值的步骤包括:
确定所述第一像素坐标对应的阈值误差,计算所述第一像素坐标对应的第一模值与所述阈值误差之间的乘积;
将所述乘积与所述第一模值相加,得到第三模值,将所述第二像素坐标对应的第二模值减去所述第三模值,得到所述第二像素坐标和所述第一像素坐标之间的距离差值。
进一步地,所述生成与所述深度图像对应的背景环境模板图像的步骤包括:
对所述深度图像中的空洞数据进行填涂处理,得到填涂处理后的深度图像;
采用多帧平均法对填涂处理后的深度图像进行处理,得到多帧处理后的深度图像;
对多帧处理后的深度图像进行平滑处理,得到平滑处理后的二维图模板图像;
对所述二维图模板图像进行均值滤波,得到所述深度图像对应的背景环境模板图像。
进一步地,所述根据所述轮廓数据控制所述车辆的姿态的步骤包括:
根据所述轮廓数据生成所述障碍物与所述车辆之间的位置关系图;
根据所述位置关系图调整所述车辆的姿态,以控制所述车辆的姿态。
进一步地,所述当检测到车辆与障碍物之间的距离小于或者等于预设距离时,触发停止指令,根据所述停止指令控制所述车辆处于停止运行状态的步骤之前,处理器1001可以调用存储器1005中存储的车辆姿态的控制程序,还执行以下操作:
通过车辆中的摄像装置检测所述车辆与所述障碍物之间的距离。
本发明车辆姿态的控制设备具体实施方式与下述车辆姿态的控制方法各实施例基本相同,在此不再赘述。
本发明还提供一种车辆姿态的控制方法,参照图2,图2为本发明车辆姿态的控制方法第一实施例的流程示意图。
步骤s10,当检测到车辆与障碍物之间的距离小于或者等于预设距离时,触发停止指令,根据所述停止指令控制所述车辆处于停止运行状态。
在本发明实施例中,车辆为自动执行工作的机器终端,且车辆至少包括一个或者一个以上的机器终端,包括但不限于仓储机器、服务机器、无人驾驶汽车或者无人驾驶卡车等等。本实施例的车辆姿态的控制方法应用于在智能自动驾驶过程中,其中智能自动驾驶可适用于封闭环境的仓库货运、也可适用于开放环境的道路运输。为了便于理解,本实施例以仓库货运为例加以说明。具体地,实现自动驾驶的车辆车体上安装有摄像装置,该摄像装置优选为立体相机,如可为tof(timeofflight,飞行时间测距法)立体相机,该摄像装置优选安装在车辆车体的顶部;车辆在行驶过程中,立体相机对周边环境进行扫面检测,以准确识别仓库中仓位上托盘的位置和距离,以便于车辆准确地完成取出托盘和存放托盘的操作。可以理解的是,托盘是仓库中存放货物的物体。
具体地,可参照图3,在图3中,1.1表示车辆的车体,需要说明的是,后续附图中出现的叉车即为本申请中的车辆,1.2表示车辆中的摄像装置,1.3表示仓位上的托盘,1.4表示车辆上的托盘,1.5表示摄像装置的安装高度,2.1表示摄像装置安装面的俯视角度,2.2、2.3、2.4和2.5表示摄像装置的视场范围。在仓库中,车辆有两种工作状态,一种是取出托盘,如图3中左边附图所示;另一种是存放托盘,如图3中右边附图所示。在这两种工作状态下,都需要摄像装置来识别车辆后面以及周围托盘的位置和距离,避免车辆在行驶过程中与托盘碰撞。在仓库中,各个托盘之间的距离是预先设置好,如可以将各个托盘之间的距离设置为10cm(厘米),也可以将各个托盘之间的距离设置为15cm,或者将各个托盘之间的距离设置为8cm。由图3可知,在图3中,给出了车辆取出托盘时车辆本体与待运托盘的侧视图和顶视图,以及给出给了车辆存放托盘时车辆本体与待存放托盘的侧视图和顶视图。需要说明的是,在车辆本体中安装摄像装置之前,已经确定好了摄像装置的安装高度和摄像装置安装面的俯视角度。当成功将摄像装置安装在车辆本体中后,会根据摄像装置所采集的图像的视场调节摄像装置的安装高度和俯视角度,即车辆本体中安装摄像装置的安装位置设置有调节功能,可以在一定范围内调节摄像装置的安装高度和俯视角度。
在本实施例中,障碍物为车辆后面和周围的托盘,也可以为车辆所在区域内的其它物体,如人。实时或者定时检测车辆与障碍物之间的距离,当检测到车辆与障碍物之间的距离小于或者等于预设距离时,触发停止指令,根据停止指令控制车辆处于停止运行状态,其中,预设距离的大小可根据具体需要而设置,在本实施例中对预设距离的大小不做具体限制,如可将预设距离设置为45cm、50cm或者58cm等,定时对应的时长可由用户根据需要而设置,如可设置为1s(秒),或者设置为0.5s等。
步骤s20,在所述车辆处于停止运行状态时通过所述车辆的摄像装置获取深度图像,并生成与所述深度图像对应的背景环境模板图像。
当控制车辆处于停止运行状态时,在车辆处于停止运行状态时通过车辆的摄像装置获取深度图像,并生成与该深度图像对应的背景环境模板图像。需要说明的是,该深度图像是车辆处于停止运行状态时所拍摄的图像,在获取的深度图像中,会因为摄像装置的特性、拍摄时环境光线反光、折射等原因造成深度图像会存在空洞数据,空洞数据所在地方是无法获取深度数据的,即空洞数据对应的深度值为零。因此需要对深度图像进行处理,得到深度图像对应的背景环境模板图像。
进一步地,所述生成与所述深度图像对应的背景环境模板图像的步骤包括:
步骤a,对所述深度图像中的空洞数据进行填涂处理,得到填涂处理后的深度图像。
进一步地,生成与深度图像对应的背景环境模板图像的过程为:对深度图像中的空洞数据进行填涂处理,得到填涂处理后的深度图像。在本实施例中,采用opencv的标准函数,实现闭运算,先膨胀再腐蚀,以消除深度图像中的空洞数据,此时,控制opencv的标准函数size(尺寸)参数即可。
步骤b,采用多帧平均法对填涂处理后的深度图像进行处理,得到多帧处理后的深度图像。
当得到填涂处理后的深度图像后,采用多帧平均法对填涂处理后的深度图像进行处理,得到多帧处理后的深度图像。具体地,多帧平均法实质上是一种统计滤波的思想,是在一段时间内,将采集到的多帧图像相加,求其平均值,这个平均值就作为参考的背景模型。在本实施例中,在与获取深度图像的同一位置下采集多帧图像,在所采集的多帧图像中,在与填涂处理后的深度图像中深度数据的相同位置取深度值的平均值,将该平均值作为多帧处理后的深度图像对应位置的深度值,得到多帧处理后的深度图像。
步骤c,对多帧处理后的深度图像进行平滑处理,得到平滑处理后的二维图模板图像。
步骤d,对所述二维图模板图像进行均值滤波,得到所述深度图像对应的背景环境模板图像。
当得到多帧处理后的深度图像后,对多帧处理后的深度图像进行平滑处理,得到平滑处理后的二维模板图像。在本实施例中,平滑处理所采用的方法包括但不限于插值方法、线性平滑方法和卷积法。当得到平滑处理后的二维模板图像后,对二维模板图像进行均值滤波,得到均值滤波后的图像,该均值滤波后的图像即为深度图像对应的背景环境模板图像。
步骤s30,根据所述背景环境模板图像、所述深度图像和所述摄像装置的摄像参数确定所述障碍物的轮廓数据,并根据所述轮廓数据控制所述车辆的姿态。
当得到背景环境模板图像后,获取摄像装置的摄像参数,并根据背景环境模板图像、深度图像和摄像参数确定障碍物的轮廓数据,并根据该轮廓数据控制车辆姿态。其中,摄像参数包括但不限于摄像装置的安装高度、安装角度、垂直视场角度、水平视场角度、有效像素行数和有效像素列数;障碍物的轮廓数据为障碍物与车辆之间的距离和障碍物所在的位置,在本实施例中,障碍物所在位置采用坐标的形式表示。
进一步地,所述根据所述背景环境模板图像、所述深度图像和所述摄像装置的摄像参数确定所述障碍物的轮廓数据的步骤包括:
步骤e,获取所述背景环境模板图像的第一像素坐标,以及获取所述深度图像的第二像素坐标。
步骤f,确定所述第二像素坐标和所述第一像素坐标之间的距离差值,保留所述距离差值小于零对应的第二像素坐标,得到差异像素坐标。
进一步地,根据背景环境模板图像、深度图像和摄像参数确定障碍物的轮廓数据的过程为:获取背景环境模板图像的像素坐标,以及获取深度图像的像素坐标,为了便于区分,在本发明实施例中,将背景环境模板图像中的像素坐标记为第一像素坐标,将深度图像的像素坐标记为第二像素坐标。可以理解的是,在图像中,每一个像素点都是一个坐标点。当得到第一像素坐标和第二像素坐标后,确定第二像素坐标和第一像素坐标之间的距离差值,保留距离差值小于零对应的第二像素坐标,得到差异像素坐标,可以理解的是,距离差值小于零对应的第二像素坐标即为差异像素坐标。
在确定第二像素坐标和第一像素坐标之间的距离差值过程中,是先计算出第二像素坐标和第一像素坐标对应的模值,然后根据第二像素坐标的模值和第一像素坐标的模值对应确定第二像素坐标和第一像素坐标之间的距离差值。在得到距离差值过程中,是将深度图像和背景环境模板图像中同一位置的像素坐标进行计算的,如根据深度图像a1位置的第二像素坐标和背景环境模板图像a1位置的第一像素坐标确定a1位置对应的距离差值,根据深度图像a2位置的第二像素坐标和背景环境模板图像a2位置的第一像素坐标确定a2位置对应的距离差值,根据深度图像a3位置的第二像素坐标和背景环境模板图像a3位置的第一像素坐标确定a3位置对应的距离差值。进一步地,对应距离差值大于或者等于零对应的第二像素坐标,则记为零。
步骤g,根据所述摄像装置的摄像参数对所述差异像素坐标进行极坐标转换,以得到所述障碍物转换后的极坐标。
步骤h,根据转换后的极坐标确定所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据,其中,所述摄像装置所在位置为坐标原点。
当得到差异像素坐标后,根据摄像装置的摄像参数对差异像素坐标进行极坐标转换,以得到该障碍物转换后的极坐标,并根据转换后的极坐标确定障碍物相对于坐标原点的角度和距离,以得到障碍物的轮廓数据,其中,该坐标原点为摄像装置所在位置,即所得角度和距离是障碍物相对于车辆的角度和距离。需要说明的是,坐标原点与第一像素坐标和第二像素坐标所采用的坐标系是不一样的,不同坐标系之间的坐标是可以相互转换的。
具体地,参照图4,在图4中,1.1表示车辆本体,1.2表示摄像装置,1.3表示仓位上的托盘,1.4表示车辆上的托盘,5.1和5.2表示垂直视场上变化的深度数据,3.1和3.2表示水平视场上变化的深度数据,6.1和6.2表示检测目标的距离投影变化范围,即障碍物的距离投影变化范围,7.1和7.2表示车辆姿态控制的距离范围,4.1和4.2表示摄像装置深度视场范围。
本实施例通过检测到车辆与障碍物之间的距离小于或者等于预设距离时,控制车辆处于停止运行状态,并在车辆处于停止运行状态时通过车辆的摄像装置获取深度图像,并生成与该深度图像对应的背景环境模板图像,根据该背景环境模板图像、深度图像和摄像装置的摄像参数确定障碍物的轮廓数据,并根据该轮廓数据控制车辆的姿态,实现了对于车辆所在复杂的环境背景,动态去除干扰因素,以清晰准确地确定障碍物的轮廓数据,即清晰准确地识别仓库仓位上托盘的位置和距离。
进一步地,相对于现有的使用单纯的障碍物轮廓面计算障碍物的轮廓数据,计算结果会由于计算过程中参数的不确定而不准确。而在本发明实施例中,由于摄像装置的摄像参数和视场的非线性、环境干扰等原因,使用动态环境模板图像的方法,一次性解决摄像装置所有的摄像参数和摄像装置非线性等问题,提高了识别仓位上托盘位置和距离的准确度。
基于第一实施例提出本发明车辆姿态的控制方法的第二实施例,在本实施例中,步骤g包括:
步骤g1,读取所述摄像装置的安装高度、安装角度、垂直视场角度、水平视场角度、有效像素行数和有效像素列数,以及将所述差异像素坐标读取为测量点,并逐一对各所述测量点执行以下步骤。
步骤g2,检测所述测量点到所述摄像装置之间的深度值,以及所述测量点的所在像素行数和所在像素列数。
步骤g3,根据所述安装角度、垂直视场角度、所在像素行数、有效像素行数和所述深度值,确定所述测量点的极坐标模值。
步骤g4,根据所述水平视场角度、安装高度、安装角度、垂直视场角度、所在像素列数、有效像素列数、所在像素行数和有效像素行数,确定所述测量点的极坐标角度。
步骤g5,将所述极坐标模值和所述极坐标角度确定为所述测量点的极坐标,并在各所述测量点均生成极坐标后,将各所述极坐标确定为所述障碍物转换后的极坐标。
具体地,对摄像装置的摄像参数进行读取,摄像参数包括安装高度h、安装角度θ、垂直视场角度ωz、水平视场角度ωh、有效像素行数l和有效像素列数c;其中,有效像素行数为摄像装置在y轴方向的成像最大像素值,有效像素列数为立体相机在x轴方向的成像最大像素值。此后将差异像素坐标中所包含的各个像素点坐标读取为测量点,并逐一针对各测量点进行处理。处理时先检测测量点到摄像装置之间的深度值d,以及测量点的所在像素行数n和所在像素列数m;然后根据摄像装置的安装角度、垂直视场角度、所在像素行数、有效像素行数和深度值,确定测量点的极坐标模值,具体地,将安装角度θ、垂直视场角度ωz、所在像素行数n和有效像素行数l传输到公式(1)中,通过公式(1)计算,得到像素所在行的偏角α;其中公式(1)为:
α=θ-(ωz/2)+(ωz*n/l)(1)。
在通过公式(1)计算得到像素所在行的偏角α之后,将偏角α和深度值d传输到公式(2)中,通过公式(2)的计算,得到测量点的极坐标模值r;其中公式(2)为:
r=d*cos(α)(2)。
进一步地,对摄像装置成像的最远投影点的绝对值坐标(|xmax|,|ymax|)和最近投影点的绝对值坐标(|xmin|,|ymin|)进行计算;具体地,将水平视场角度ωh、安装高度h、安装角度θ、垂直视场角度ωz传输到公式(3)中,通过公式(3)的计算,得到最远投影点的绝对值坐标中|xmax|数值;将安装高度h、安装角度θ、垂直视场角度ωz传输到公式(4)中,通过公式(4)的计算,得到最远投影点的绝对值坐标中|ymax|数值;将水平视场角度ωh、安装高度h、安装角度θ、垂直视场角度ωz传输到公式(5)中,通过公式(5)的计算,得到最近投影的绝对值坐标中|xmin|数值;将安装高度h、安装角度θ、垂直视场角度ωz传输到公式(6)中,通过公式(6)的计算,得到最近投影的绝对值坐标中|ymin|数值。其中公式(3)、(4)、(5)、(6)分别为:
|xmax|=tan(0.5*ωh)*h/cos(θ-0.5*ωz)(3);
|ymax|=h/tan(θ-0.5*ωz)(4);
|xmin|=tan(0.5*ωh)*h/cos(θ+0.5*ωz)(5);
|ymin|=h/tan(θ+0.5*ωz)(6)。
更进一步地,对测量点坐标的绝对值坐标(|xc|,|yc|)进行计算,将所在像素列数m、有效像素列数c、|xmax|和|xmin|传输到公式(7)中,通过公式(7)的计算,得到测量点坐标的绝对值中|xc|数值,并将所在像素行数n、有效像素行数l、|ymax|和|ymin|传输到公式(8)中,通过公式(8)的计算,得到测量点坐标的绝对值中|yc|数值;其中公式(7)和(8)分别为:
|xc|=m/c*(|xmax|-|xmin|)+|xmin|(7);
|yc|=n/l*(|ymax|-|ymin|)+|ymin|(8)。
此后,将测量点坐标的绝对值传输到公式(9)中,通过公式(9)的计算,得到测量点的极坐标角度,其中公式(9)为:
=tan-1(|yc|/|xc|)(9)。
可理解地,经上述公式(1)到(9)计算得到的测量点的极坐标模值和极坐标角度,将极坐标模值和极坐标角度确定为对应测量点的极坐标,并在各个测量点均生成极坐标后,将各极坐标确定为障碍物转换后的极坐标,即障碍物转换后的极坐标至少为1个。
进一步地,步骤h包括:
步骤h1,在预设角度范围选取所述转换后的极坐标生成极坐标集合,对应所述极坐标集合中的各元素依次进行中值滤波和均值滤波处理,生成处理结果。
步骤h2,对所述处理结果中的各元素进行合并,生成目标元素,并计算所述目标元素与所述摄像装置对应的角度和距离,对应得到所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据。
在得到障碍物转换后的极坐标后,在预设角度范围内选取转换后的极坐标,将所选取的转换后的极坐标确定为一个极坐标集合,即选取在预设角度范围内的极坐标确定为极坐标集合,将极坐标集合将该坐标集合中的各个极坐标点作为极坐标集合中的各个元素,其中,预设角度范围是预先设置好的,在本实施例中对预设角度范围的大小不做具体限制。先对极坐标集合中的各个元素进行中值滤波处理,去除其中的椒盐噪声点;再通过设置距离坐标原点的最小值,将各元素中与坐标原点之间的距离大于最小值的元素进行去除;此后对经处理的各项元素进行均值滤波处理,生成处理结果。进而对处理结果中的各元素进行合并,将作为元素的各极坐标点合并为一个极坐标点,该合并得到的极坐标点即为目标元素。此后,计算目标元素相对于摄像装置对应的角度和距离,通过计算所得的距离和角度来确定车辆与障碍物之间的相对距离,得到障碍物相对于坐标原点的角度和距离,即得到障碍物的轮廓数据。可以理解的是,通过该轮廓数据就可确定与车辆距离最近的障碍物。
本实施例通过在计算轮廓数据过程中,根据摄像装置的摄像参数对差异像素坐标进行极坐标转换,进而滤波、去噪和计算的处理方式,提高了障碍物与车辆之间距离计算的准确性,从而进一步提高了识别仓位上托盘位置和距离的准确度。
进一步地,所述确定所述第二像素坐标和所述第一像素坐标之间的距离差值的步骤包括:
步骤f1,确定所述第一像素坐标对应的阈值误差,计算所述第一像素坐标对应的第一模值与所述阈值误差之间的乘积。
步骤f2,将所述乘积与所述第一模值相加,得到第三模值,将所述第二像素坐标对应的第二模值减去所述第三模值,得到所述第二像素坐标和所述第一像素坐标之间的距离差值。
进一步地,确定第二像素坐标和第一像素坐标之间的距离差值的过程为:确定第一像素坐标对应的阈值误差,计算第一像素坐标对应的第一模值与阈值误差之间的乘积,其中,阈值误差可根据具体需要而设置,如可设置为2%、2.5%或者设置为3.2%等,该阈值误差用于表示计算所得的距离差值的精度。当阈值误差设置为2.5%,表示计算所得距离差值可达到2.5cm的精度。当得到第一模值与阈值误差之间的乘积后,将该乘积与第一模值相加,得到第三模值,并将第二像素坐标对应的第二模值减去第三模值,得到第二像素坐标和第一像素坐标之间的距离差值。若距离差值用d1表示,d表示第二模值,d0表示第一模值,m%表示误差阈值,则d1=d-d0*(1+m%)。
本实施例通过在计算第一像素坐标和第二像素坐标之间的距离差值过程,先计算第一像素坐标对应的第一模值与阈值误差之间的乘积,以通过阈值误差确定计算所得距离差值的精度,进一步地提高了识别仓位上托盘位置和距离的准确度。
基于第一和/或第二实施例提出本发明车辆姿态的控制方法的第三实施例,在本实施例中,所述根据所述轮廓数据控制所述车辆的姿态的步骤包括:
步骤i,根据所述轮廓数据生成所述障碍物与所述车辆之间的位置关系图。
步骤j,根据所述位置关系图调整所述车辆的姿态,以控制所述车辆的姿态。
根据轮廓数据控制车辆的姿态的过程为:根据轮廓数据生成障碍物与车辆之间的位置关系图,即在根据轮廓数据确定车辆后面的障碍物位置后,会通过车辆中的slam(simultaneouslocalizationandmapping,即时定位与地图构建)导航系统生成一个障碍物与车辆本体之间的位置关系图,然后根据该位置关系图,通过slam导航系统进行匹配车辆的接近后方托盘货物时的停靠位置,根据该停靠位置调整车辆的姿态,以控制车辆的姿态,实现车辆准确地取出托盘和存放托盘。其中,基于自然环境的slam包括两大功能:定位与建图,建图的主要作用是对周边环境的理解,建立周边环境与空间的对应关系;定位的主要作用是根据建好的图,判断车辆车体在地图中的位置,从而得到环境中的信息。
本实施例通过轮廓数据生成障碍物与车辆之间的位置关系图,根据位置关系图调整车辆的姿态,实现了车辆准确地取出托盘和存放托盘,避免了车辆在取出托盘和存放托盘过程中与其它障碍物发生碰撞的情况出现。
基于第一、第二和/或第三实施例提出本发明车辆姿态的控制方法的第四实施例,参照图5,在本实施例中,所述车辆姿态的控制方法还包括:
步骤s40,通过车辆中的摄像装置检测所述车辆与所述障碍物之间的距离。
具体地,可通过车辆中的摄像装置检测车辆与障碍物之间的距离,摄像装置通过给障碍物连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到车辆与障碍物之间的距离。在检测到车辆与障碍物之间的距离后,判断车辆与障碍物之间的距离是否小于或者等于预设距离。
本实施例通过车辆中的摄像装置检测车辆与障碍物之间的距离,不需要在车辆中额外安装检测距离的装置,节省了检测车辆与障碍物之间距离的检测成本。
进一步地,也可以通过车辆本体中安装距离传感器,通过该车辆本体中的距离传感器检测车辆与障碍物之间的距离。可以理解的是,该距离传感器也可安装在摄像装置中。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有车辆姿态的控制程序,所述车辆姿态的控制程序被处理器执行时实现如下操作:
当检测到车辆与障碍物之间的距离小于或者等于预设距离时,触发停止指令,根据所述停止指令控制所述车辆处于停止运行状态;
在所述车辆处于停止运行状态时通过所述车辆的摄像装置获取深度图像,并生成与所述深度图像对应的背景环境模板图像;
根据所述背景环境模板图像、所述深度图像和所述摄像装置的摄像参数确定所述障碍物的轮廓数据,并根据所述轮廓数据控制所述车辆的姿态。
进一步地,所述根据所述背景环境模板图像、所述深度图像和所述摄像装置的摄像参数确定所述障碍物的轮廓数据的步骤包括:
获取所述背景环境模板图像的第一像素坐标,以及获取所述深度图像的第二像素坐标;
确定所述第二像素坐标和所述第一像素坐标之间的距离差值,保留所述距离差值小于零对应的第二像素坐标,得到差异像素坐标;
根据所述摄像装置的摄像参数对所述差异像素坐标进行极坐标转换,以得到所述障碍物转换后的极坐标;
根据转换后的极坐标确定所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据,其中,所述摄像装置所在位置为坐标原点。
进一步地,所述根据所述摄像装置的摄像参数对所述差异像素坐标进行极坐标转换,以得到所述障碍物转换后的极坐标的步骤包括:
读取所述摄像装置的安装高度、安装角度、垂直视场角度、水平视场角度、有效像素行数和有效像素列数,以及将所述差异像素坐标读取为测量点,并逐一对各所述测量点执行以下步骤:
检测所述测量点到所述摄像装置之间的深度值,以及所述测量点的所在像素行数和所在像素列数;
根据所述安装角度、垂直视场角度、所在像素行数、有效像素行数和所述深度值,确定所述测量点的极坐标模值;
根据所述水平视场角度、安装高度、安装角度、垂直视场角度、所在像素列数、有效像素列数、所在像素行数和有效像素行数,确定所述测量点的极坐标角度;
将所述极坐标模值和所述极坐标角度确定为所述测量点的极坐标,并在各所述测量点均生成极坐标后,将各所述极坐标确定为所述障碍物转换后的极坐标。
进一步地,所述根据转换后的极坐标确定所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据的步骤包括:
在预设角度范围选取所述转换后的极坐标生成极坐标集合,对应所述极坐标集合中的各元素依次进行中值滤波和均值滤波处理,生成处理结果;
对所述处理结果中的各元素进行合并,生成目标元素,并计算所述目标元素与所述摄像装置对应的角度和距离,对应得到所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据。
进一步地,所述确定所述第二像素坐标和所述第一像素坐标之间的距离差值的步骤包括:
确定所述第一像素坐标对应的阈值误差,计算所述第一像素坐标对应的第一模值与所述阈值误差之间的乘积;
将所述乘积与所述第一模值相加,得到第三模值,将所述第二像素坐标对应的第二模值减去所述第三模值,得到所述第二像素坐标和所述第一像素坐标之间的距离差值。
进一步地,所述生成与所述深度图像对应的背景环境模板图像的步骤包括:
对所述深度图像中的空洞数据进行填涂处理,得到填涂处理后的深度图像;
采用多帧平均法对填涂处理后的深度图像进行处理,得到多帧处理后的深度图像;
对多帧处理后的深度图像进行平滑处理,得到平滑处理后的二维图模板图像;
对所述二维图模板图像进行均值滤波,得到所述深度图像对应的背景环境模板图像。
进一步地,所述根据所述轮廓数据控制所述车辆的姿态的步骤包括:
根据所述轮廓数据生成所述障碍物与所述车辆之间的位置关系图;
根据所述位置关系图调整所述车辆的姿态,以控制所述车辆的姿态。
进一步地,所述当检测到车辆与障碍物之间的距离小于或者等于预设距离时,触发停止指令,根据所述停止指令控制所述车辆处于停止运行状态的步骤之前,所述车辆姿态的控制程序被处理器执行时还实现如下操作:
通过车辆中的摄像装置检测所述车辆与所述障碍物之间的距离。
本发明计算机可读存储介质具体实施方式与上述车辆姿态的控制方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
技术特征:
1.一种车辆姿态的控制方法,其特征在于,所述车辆姿态的控制方法包括以下步骤:
当检测到车辆与障碍物之间的距离小于或者等于预设距离时,触发停止指令,根据所述停止指令控制所述车辆处于停止运行状态;
在所述车辆处于停止运行状态时通过所述车辆的摄像装置获取深度图像,并生成与所述深度图像对应的背景环境模板图像;
根据所述背景环境模板图像、所述深度图像和所述摄像装置的摄像参数确定所述障碍物的轮廓数据,并根据所述轮廓数据控制所述车辆的姿态。
2.如权利要求1所述的车辆姿态的控制方法,其特征在于,所述根据所述背景环境模板图像、所述深度图像和所述摄像装置的摄像参数确定所述障碍物的轮廓数据的步骤包括:
获取所述背景环境模板图像的第一像素坐标,以及获取所述深度图像的第二像素坐标;
确定所述第二像素坐标和所述第一像素坐标之间的距离差值,保留所述距离差值小于零对应的第二像素坐标,得到差异像素坐标;
根据所述摄像装置的摄像参数对所述差异像素坐标进行极坐标转换,以得到所述障碍物转换后的极坐标;
根据转换后的极坐标确定所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据,其中,所述摄像装置所在位置为坐标原点。
3.如权利要求2所述的车辆姿态的控制方法,其特征在于,所述根据所述摄像装置的摄像参数对所述差异像素坐标进行极坐标转换,以得到所述障碍物转换后的极坐标的步骤包括:
读取所述摄像装置的安装高度、安装角度、垂直视场角度、水平视场角度、有效像素行数和有效像素列数,以及将所述差异像素坐标读取为测量点,并逐一对各所述测量点执行以下步骤:
检测所述测量点到所述摄像装置之间的深度值,以及所述测量点的所在像素行数和所在像素列数;
根据所述安装角度、垂直视场角度、所在像素行数、有效像素行数和所述深度值,确定所述测量点的极坐标模值;
根据所述水平视场角度、安装高度、安装角度、垂直视场角度、所在像素列数、有效像素列数、所在像素行数和有效像素行数,确定所述测量点的极坐标角度;
将所述极坐标模值和所述极坐标角度确定为所述测量点的极坐标,并在各所述测量点均生成极坐标后,将各所述极坐标确定为所述障碍物转换后的极坐标。
4.如权利要求2所述的车辆姿态的控制方法,其特征在于,所述根据转换后的极坐标确定所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据的步骤包括:
在预设角度范围选取所述转换后的极坐标生成极坐标集合,对应所述极坐标集合中的各元素依次进行中值滤波和均值滤波处理,生成处理结果;
对所述处理结果中的各元素进行合并,生成目标元素,并计算所述目标元素与所述摄像装置对应的角度和距离,对应得到所述障碍物相对于坐标原点的角度和距离,得到所述障碍物的轮廓数据。
5.如权利要求2所述的车辆姿态的控制方法,其特征在于,所述确定所述第二像素坐标和所述第一像素坐标之间的距离差值的步骤包括:
确定所述第一像素坐标对应的阈值误差,计算所述第一像素坐标对应的第一模值与所述阈值误差之间的乘积;
将所述乘积与所述第一模值相加,得到第三模值,将所述第二像素坐标对应的第二模值减去所述第三模值,得到所述第二像素坐标和所述第一像素坐标之间的距离差值。
6.如权利要求1所述的车辆姿态的控制方法,其特征在于,所述生成与所述深度图像对应的背景环境模板图像的步骤包括:
对所述深度图像中的空洞数据进行填涂处理,得到填涂处理后的深度图像;
采用多帧平均法对填涂处理后的深度图像进行处理,得到多帧处理后的深度图像;
对多帧处理后的深度图像进行平滑处理,得到平滑处理后的二维图模板图像;
对所述二维图模板图像进行均值滤波,得到所述深度图像对应的背景环境模板图像。
7.如权利要求1所述的车辆姿态的控制方法,其特征在于,所述根据所述轮廓数据控制所述车辆的姿态的步骤包括:
根据所述轮廓数据生成所述障碍物与所述车辆之间的位置关系图;
根据所述位置关系图调整所述车辆的姿态,以控制所述车辆的姿态。
8.如权利要求1至7任一项所述的车辆姿态的控制方法,其特征在于,所述当检测到车辆与障碍物之间的距离小于或者等于预设距离时,触发停止指令,根据所述停止指令控制所述车辆处于停止运行状态的步骤之前,还包括:
通过车辆中的摄像装置检测所述车辆与所述障碍物之间的距离。
9.一种车辆姿态的控制设备,其特征在于,所述车辆姿态的控制设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的车辆姿态的控制程序,所述车辆姿态的控制程序被所述处理器执行时实现如权利要求1至8中任一项所述的车辆姿态的控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有车辆姿态的控制程序,所述车辆姿态的控制程序被处理器执行时实现如权利要求1至8中任一项所述的车辆姿态的控制方法的步骤。
技术总结
本发明公开了一种车辆姿态的控制方法,包括如下步骤:当检测到车辆与障碍物之间的距离小于或者等于预设距离时,触发停止指令,根据所述停止指令控制所述车辆处于停止运行状态;在所述车辆处于停止运行状态时通过所述车辆的摄像装置获取深度图像,并生成与所述深度图像对应的背景环境模板图像;根据所述背景环境模板图像、所述深度图像和所述摄像装置的摄像参数确定所述障碍物的轮廓数据,并根据所述轮廓数据控制所述车辆的姿态。本发明还公开了一种车辆姿态的控制设备及计算机可读存储介质。本发明实现了对于车辆所在复杂的环境背景,动态去除干扰因素,以清晰准确地确定障碍物的轮廓数据,即清晰准确地识别仓库仓位上托盘的位置和距离。
技术研发人员:赵健章;邹振华
受保护的技术使用者:深圳创维数字技术有限公司
技术研发日:.11.12
技术公布日:.02.21