具体实施方式
现在将参照附图来详细描述本公开的实施例的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的实施例的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开的实施例及其应用或使用的任何限制。
对于相关领域普通技术人物已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<电车顶部充电配准系统>
图1是示出可以实现本公开实施例的电车顶部充电配准方法的一种电车顶部充电配准系统组成结构示意图,所述系统用于实现电车顶部充电配准方法,所述系统包括TOF相机以及电车顶部充电配准装置,TOF相机与电车顶部充电配准装置之间可以是通过网络通信连接。
该电车顶部充电配准装置可以是用于实现电车顶部充电配准的服务器设备。
该服务端设备1100例如可以是台式计算机、笔记本电脑、刀片服务器、机架式服务器等,服务端设备1100也可以是部署在云端的服务器集群,在此不做限定。
如图1所示,服务端设备1100的配置可以包括但不限于:处理器1110、存储器1120、接口装置1130、通信装置1140、显示装置1150、输入装置1160等等。其中,处理器1110可以是中央处理器CPU、微处理器MCU等。处理器1110还可以包括图像处理器GPU(GraphicsProcessing Unit)等。存储器1120例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1130例如包括USB接口、耳机接口等。通信装置1140例如能够进行有线或无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1150例如是液晶显示屏、触摸显示屏等。输入装置1160例如可以包括触摸屏、键盘、体感输入等。
本实施例中,服务端设备1100可用于参与实现根据本公开第一实施例的电车顶部充电配准方法。
应用于本公开实施例中,服务端设备1100的存储器1120用于存储指令,所述指令用于控制所述处理器1110进行操作以支持实现根据本公开第一实施例的电车顶部充电配准方法。技术人员可以根据本公开实施例所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
本领域技术人员应当理解,尽管在图1中示出了服务端设备1100的多个装置,但是,本公开实施例的服务器1100可以仅涉及其中的部分装置,例如,只涉及处理器1110和存储器1120。
该所述系统还包括TOF相机1200。
该TOF相机1200的配置可以包括但不限于:处理器1210、存储器1220、接口装置1230、通信装置1240、显示装置1250、输入装置1260等等。其中,处理器1210可以是中央处理器CPU、微处理器MCU等。处理器1110还可以包括图像处理器GPU(Graphics ProcessingUnit)等。存储器1220例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1230例如包括USB接口、耳机接口等。通信装置1240例如能够进行有线或无线通信,具体地可以包括WiFi通信、蓝牙通信、2G/3G/4G/5G通信等。显示装置1250例如是液晶显示屏、触摸显示屏等。输入装置1260例如可以包括触摸屏、键盘、体感输入等。
本实施例中,TOF相机1200可用于参与实现根据本公开第一实施例提供的电车顶部充电配准方法。
应用于本公开实施例中,TOF相机1200的存储器1220用于存储指令,所述指令用于控制所述处理器1210进行操作以支持实现根据本公开第一实施例提供的电车顶部充电配准方法。技术人员可以根据本公开实施例所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
本领域技术人员应当理解,尽管在图1中示出了客户端设备1200的多个装置,但是,本公开实施例的服务器1100可以仅涉及其中的部分装置,例如,只涉及处理器1210和存储器1220。
通信网络1300可以是无线网络也可以是有线网络,可以是局域网也可以是广域网。代理服务器1200可以通过通信网络1300与服务中心1100进行通信。
<方法实施例>
目前充电平台的充电弓与电车顶部的受电弓的配准以实现为电车充电的方法主要由电车司机掌控,电司机根据站内地面导行线的指引,将车停靠。车停稳后,即认为位置配准完成,位于电车上方的充电弓开始下落并与车顶上的受电弓接触,进行充电。但是由于电车的大小、高度均存在差异,不同电车司机的掌控情况不同,只依靠导行线难以获得准确的位置信息,需要多次反复移动车辆并需要人为反复确认位置信息才能完成配准,其配准过程效率低,配准误差大,且在配准误差过大的情况下进行升降弓,会产生弓相互卡滞、弓被拉坏等异常情况。因此,这里就产生了为对完成电车顶部充电配准新方法的需求。
本申请提供了一种电车顶部充电配准方法,在需要给电车顶部受电弓上的受电块充电时,由安装在充电平台上的TOF相机实时的获取受电弓的图像数据以及IMU数据,获取预存在TOF相机内的校准数据、中心偏移数据以及角度数据对图像数据以及IMU数据进行预处理,将经过预处理后的图像数据以及IMU数据传输至算法模型中,得到一连通域数据,根据该连通域数据判断该连通域是否有效,在连通域有效即认定该连通域可能是一受电弓时,统计该连通域内受电块的数量,只有在受电块的数量等于预设数量的情况下,充电块才能给受电块充电,在得到受电块数量后判断各受电块是否来自同一受电弓,在判断是的情况下,根据得到的图像数据以及IMU数据计算得到受电弓相对于充电弓中心的中心偏移数据以及偏移角度。当受电弓的中心偏移数据以及偏移角度在允许的误差范围之内时,充电平台控制充电弓下降,以给电车充电。本公开实施例提供的方法全程可以通过机器自动完成,不需要进行人工的判断,且配准效率高,误差小,能够避免配准误差过大的情况下进行升降弓,会产生弓相互卡滞、弓被拉坏等异常情况的发生,同时提升了客户的体验。
本申请提供的方法具体步骤包括步骤S102-S110:
请参考图2,该图为本公开实施例的电车顶部充电配准的方法步骤流程图,电车顶部充电配准的方法可以是由服务端设备实施,还可以由TOF相机实施,该服务端设备例如可以是如图1所示的服务端设备1100,该TOF相机例如可以是如图1所示的TOF相机1200。
S102:获取设置在电车顶部的受电弓的图像数据和IMU数据。
具体来说,该图像数据可以是利用TOF相机的镜头获取的,根据TOF相机获取的受电弓的图像数据实时的监测受电弓的位置,图像数据获取之后,可以是在TOF相机中继续完成电车顶部受电弓以及充电平台充电弓的充电配准,还可以是将图像数据发送给其他服务器设备来完成电车顶部受电弓以及充电平台充电弓的充电配准。
在一个具体的实施例中,TOF相机获取的受电弓的图像信息可以是用于标定每一个像素点位置的坐标信息,包括每一个像素点的X坐标、Y坐标以及Z坐标的数据。
IMU数据可以是利用TOF相机中设置的IMU来测量得到,它是一种测量物体三轴姿态角以及加速度的装置,利用IMU数据可以得到受电弓的姿态。用于判断该受电弓所处的位置是否满足充电的要求。
可选的,在获取设置在电车顶部的受电弓的图像数据和IMU数据之后,所述方法包括:
获取TOF相机的校准数据、中心偏移数据以及角度数据对所述受电弓的图像数据和IMU数据进行预处理。
具体来说,TOF相机的校准数据可以是包括TOF相机自身的内参校准数据,畸变校准数据、深度图像非线性校准数据以及深度数据平面度校准数据。其中,内参校准数据用于从相机原始数据中计算生成深度数据;畸变校准数据,用于去除镜头产生的畸变,生成无畸变的深度数据;深度图像非线性校准数据用于矫正深度距离测量范围内的距离准确性;平深度数据平面度校准数据用于纠正整幅图像中由中心至四周深度数据准确性纠正。该TOF相机的校准数据用于对在TOF相机运行过程中生成所有数据的矫正,以获得准确的,用于后续计算的数据。TOF相机的校准数据存储在TOF相机的存储器中,在需要时,可以是从TOF相机的存储器中读取。
TOF相机的中心偏移数据可以是在以充电弓的中心坐标为参考建立坐标系中,TOF相机相对于该充电弓中心的偏移数据,该中心偏移数据可以是包括X方向以及Y方向上的偏差数据。该中心偏移数据在TOF相机安装在充电弓上时就可以通过测量得到,该数据可以是存储在TOF相机的存储器中,在需要时,从TOF相机的存储器中读取。
在一个具体的例子中,如图5所示,充电平台上安装有充电弓,充电弓的中心位置为升降机构,其中心标记为Cp(x,y),TOF相机安装于升降机构旁边的某个位置,相机中心记为Cc(x,y),安装完成后记录Cc与Cp间的差值为Cd(x,y)。该TOF相机可应用于室外环境,还可应用于室内环境,不受太阳等环境光的影响。
角度数据可以是包括TOF相机相对于水平面X方向以及Y方向的角度数据,该数据可以是由TOF相机上的角度仪传感器测量得到,该数据用于标定TOF相机可以识别的范围,以此来限定允许受电弓中受电块相对于水平面X方向以及Y方向上的偏差距离,只有受电块的偏差距离在允许的范围之内时,受电弓中的受电块才能与充电弓中的充电块进行配准充电。
TOF相机的校准数据、中心偏移数据以及角度数据可以是存储在TOF相机的存储器中,在需要时,从TOF相机的存储器中读取。还可以是将TOF相机的校准数据、中心偏移数据以及角度数据从TOF相机中读取后发送给服务器设备以供进行对受电弓的图像数据和IMU数据进行预处理。
对图像数据进行的预处理可以是包括对图像数据进行滤波以及利用TOF相机的校准数据以及中心偏移数据进行队图像数据进行反三角关系计算、畸变处理、平面度处理以及异常数据修复处理,以使获得进行连通域计算所需的图像数据。
对受电弓的IMU数据进行预处理可以是包括对IMU数据进行滤波以及通过TOF相机的角度数据对受电弓的IMU数据进行矫正,以使得到的IMU数据中去掉由于TOF自身带来的数据偏差,得到有效IMU数据,为后续的计算提供正确的依据。
S104:将所述受电弓的图像数据和IMU数据输入到算法模型中得到连通域数据。
具体来说,该算法模型首先利用预处理后的图像数据和IMU数据,计算生成三维点云数据。并以既定的受电弓与充电弓间的距离范围为参考,处理点云数据,将有效范围外的数据清零。判定是否存在未标记的有效点,如果存在则继续判定该点周围数据是否都有效且为标记,如果该点及其周围数据都有效且未标记,那么选定该点为种子点。以种子点为参考,以与种子点Z轴数值相差T为限定条件,进行连通遍历得到一连通域的数据,其中,T为一常数,根据不同的应用场景进行不同的限定。
可选的,在将所述受电弓的图像数据和IMU数据输入到算法模型中得到连通域数据之后,所述方法包括根据所述连通域数据判断所述连通域是否有效的步骤:
根据所述连通域数据计算得到所述连通域的长度、宽度、高度、斜率以及空间位置数据;
将所述连通域与预存受电弓的长度、宽度以及高度数据进行比对,得到第一比对结果;
在所述第一比对结果为匹配成功的情况下,将所述连通域与预存受电弓的斜率以及空间位置数据做比对,得到第二比对结果;
当所述第二比对结果为匹配成功时,判断所述连通域为有效连通域。
具体来说,经过算法模型得到的连通域,该连通域可能是一受电弓的图像信息,根据连通域数据计算其长宽高,并与已知并预存的受电弓的长宽高做比对,若长宽高在相差范围之内,相差范围可以是设置成在0.01 cm -0.1cm之间,则表示该连通域可能是一受电弓,再通过斜率以及空间位置数据去判断该连通域是否在预设的空间位置上,若该连通域在预设的空间位置上,则可以判断该连通域为有效的连通域。
S106:根据所述连通域数据统计所述连通域中受电块的数量。
具体来说,TOF相机或者服务器设备的存储器中存储有受电块的数据,该数据可以是受电块的长宽高信息,根据该信息可以从连通域数据中查找,是否有满足于受电块的长宽高信息相匹配的区域,将该区域统计为受电块,统计连通域中受电块的数量,就是根据连通域数据可以将该连通域划分出几个受电块,能划分出几个就表示有几个受电块。
S108:在所述受电块的数量等于预设数量的情况下,根据所述图像数据以及IMU数据判断所述多个受电块是否属于同一所述受电弓。
具体来说,预设数量根据电车的设置预存在TOF相机或者服务器设备中,例如,若本公开实施例提供的方法应用于为有四个充电块的电车充电,那么从连通域中统计到有4个受电块的情况下,因为存在可能将电车中与受电块类似形状的设备识别成受电块的情况出现,所以需要判断这四个受电块是否来自同一受电弓。具体步骤如下:
根据所述连通域数据得到各所述受电块的空间位置数据;
将所述受电块与预存受电弓中受电块的空间位置数据进行比对,得到比对结果;
当所述比对结果在预设偏移范围之内时,判断所述多个受电块属于同一所述受电弓。
在一个具体的例子中,例如预存在一个受电弓中受电块的空间位置数据为X方向上两受电块的间距范围在70cm-100cm之间,Y方向上两受电块的间距范围在2cm-10cm之间,通过各受电块在连通区域中各像素点的坐标数据可以计算上述两间距的值,计算得到的值与预设的间距范围作比较,以此来判断四个受电块是否来自同一受电弓。
S110:在是的情况下,根据所述图像数据以及所述IMU数据计算得到所述受电弓的中心偏移数据以及偏移角度。
具体来说,只有在得到的受电块属于同一受电弓,才有去判断受电弓与充电弓是否配准的意义,图像数据可以是每一个像素点的坐标数据,根据该图像数据可以获得受电弓的中心坐标数据,充电弓的中心坐标数据已知,二者经过对比,就可以获得受电弓中心相对于充电弓中心的偏移数据,同时根据IMU数据以及TOF相机的角度数据,可以得到受电弓相对于充电弓的偏移角度。
可选的,在计算得到所述受电弓的中心偏移数据以及偏移角度之后,所述方法包括:
判断所述中心偏移数据以及偏移角度是否在偏差范围之内;
在所述中心偏移数据以及偏移角度在偏差范围之内的情况下,控制充电平台上的充电弓下降为所述受电弓充电。
具体来说,该判断的过程可以是在TOF相机中进行,也可以是在服务器设备中进行,TOF相机或者服务器设备均可以与充电平台进行信号的传输,可以是将受电弓的中心偏移数据与预设的偏差范围作比较,也可以是将受电弓的中心偏移数据以及偏移角度与预设的偏差范围作比较,计算偏移角度的目的是为了从不同的数据角度去判断充电弓与受电弓是否配准,这样得到结果更加的准确,在判断所述中心偏移数据和/或偏移角度在偏差范围之内的情况下,由TOF相机或者服务器设备发送信号给充电平台,充电平台的控制中心控制下降充电弓,以使充电弓的充电块能够给电车上设置的受电弓的受电块充电。例如,如图6所示,由图可知,充电平台1上的充电弓3的中心与受电弓4的中心存在偏差,该偏差可以是在X方向和Y方向上的,该偏差在允许的范围之内,所以可以认为图6的停车已到可充电位置,可以下降充电弓为电车电。
而如图7所示,由图可知,充电平台1上的充电弓3的中心与受电弓4的中心存在偏差,该偏差可以是在X方向和Y方向上的,该偏差超过了允许的范围之内,所以需要通知司机继续挪车到,然后再循环执行本公开实施例提供的方法,以达到充电弓与受电弓配准的目的。
<装置实施例>
在本公开的实施例又一个实施例中,提供一种电车顶部充电配准装置,请参考图3,该图为本公开实施例的电车顶部充电配准装置的结构方框图一。如图所示,电车顶部充电配准装置300包括:获取模块301、输入模块302、统计模块303、判断模块304以及计算模块305。
该获取模块301,用于获取设置在电车顶部的受电弓的图像数据和IMU数据;
该输入模块302,用于将所述受电弓的图像数据和IMU数据输入到算法模型中得到连通域数据;
该统计模块303,用于根据所述连通域数据统计所述连通域中受电块的数量;
该判断模块304,用于在所述受电块的数量等于预设数量情况下,根据所述图像数据以及所述IMU数据判断所述多个受电块是否属于同一所述受电弓;
该计算模块305,用于在是的情况下,根据所述图像数据以及所述IMU数据计算得到所述受电弓的中心偏移数据以及偏移角度。
该获取模块301还用于获取TOF相机的校准数据、中心偏移数据以及角度数据对所述受电弓的图像数据和IMU数据进行预处理,该获取模块301可以是在TOF相机上,还可以是在服务器设备上。
另一方面,如图4所示,电车顶部充电配准装置300可以包括存储器306和处理器307,存储器306用于存储可执行的指令;该指令用于控制处理器307执行前述的电车顶部充电配准方法。
<计算机可读存储介质>
最后,根据本公开的又一个实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现根据本公开任意实施例所述的电车顶部充电配准方法。
本公开的实施例可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的实施例的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开实施例操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开实施例的各个方面。
这里参照根据本公开实施例实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开实施例的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人物能理解本文披露的各实施例。本公开实施例的范围由所附权利要求来限定。