CN116704391A - 一种对接控制方法及其装置 - Google Patents
一种对接控制方法及其装置 Download PDFInfo
- Publication number
- CN116704391A CN116704391A CN202210182952.4A CN202210182952A CN116704391A CN 116704391 A CN116704391 A CN 116704391A CN 202210182952 A CN202210182952 A CN 202210182952A CN 116704391 A CN116704391 A CN 116704391A
- Authority
- CN
- China
- Prior art keywords
- butt joint
- target
- docking
- image
- feature extraction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 210000001503 joint Anatomy 0.000 title claims abstract description 252
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000000605 extraction Methods 0.000 claims abstract description 165
- 230000008859 change Effects 0.000 claims abstract description 30
- 238000003032 molecular docking Methods 0.000 claims description 296
- 238000012549 training Methods 0.000 claims description 84
- 238000003709 image segmentation Methods 0.000 claims description 78
- 230000015654 memory Effects 0.000 claims description 64
- 230000000007 visual effect Effects 0.000 claims description 28
- 230000011218 segmentation Effects 0.000 claims description 19
- 238000010276 construction Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 6
- 238000011217 control strategy Methods 0.000 abstract description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000001514 detection method Methods 0.000 description 61
- 238000004088 simulation Methods 0.000 description 58
- 230000006870 function Effects 0.000 description 29
- 238000012545 processing Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 22
- 230000004438 eyesight Effects 0.000 description 19
- 230000033001 locomotion Effects 0.000 description 16
- 239000013598 vector Substances 0.000 description 15
- 239000011159 matrix material Substances 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 12
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000007781 pre-processing Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 7
- 239000003990 capacitor Substances 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 230000002787 reinforcement Effects 0.000 description 4
- 238000005299 abrasion Methods 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 2
- ATUOYWHBWRKTHZ-UHFFFAOYSA-N Propane Chemical compound CCC ATUOYWHBWRKTHZ-UHFFFAOYSA-N 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 102100034112 Alkyldihydroxyacetonephosphate synthase, peroxisomal Human genes 0.000 description 1
- 241000309551 Arthraxon hispidus Species 0.000 description 1
- 101000799143 Homo sapiens Alkyldihydroxyacetonephosphate synthase, peroxisomal Proteins 0.000 description 1
- 101001093748 Homo sapiens Phosphatidylinositol N-acetylglucosaminyltransferase subunit P Proteins 0.000 description 1
- 208000003443 Unconsciousness Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000000848 angular dependent Auger electron spectroscopy Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 239000001294 propane Substances 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
- 210000003857 wrist joint Anatomy 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
- G06T2207/10021—Stereoscopic video; Stereoscopic image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例涉及机器人控制以及人工智能领域,公开了一种对接控制方法,包括:获取目标图像,根据目标图像,通过特征提取网络,得到目标信息,目标信息包含对接头和对接口之间的相对位姿相比于正确对接位姿的偏差,根据目标信息,确定对接头的姿态变化信息,姿态变化信息用于调整对接头的位姿,以执行对接任务。本申请将目标信息作为后续用于确定对接控制策略的网络的输入,目标信息作为中间输出,本身就可以表达出较为准确的相对位姿关系,进而基于本申请实施例得到的相对位姿关系进行的对接控制相比现有技术中的更加准确。
Description
技术领域
本申请涉及车辆技术领域,尤其涉及一种对接控制方法及其装置。
背景技术
随着新能源汽车的发展和规模化的使用,移动充电设备因其具备灵活的充电资源、并且不受环境、车位条件的制约而越来越受到用户的青睐。移动充电设备具体表现为充电桩是可移动的形式,或者可移动底盘搭载电池包形式,比如当移动充电设备是一种移动充电车时,该移动充电车的底盘上可搭载多个电池包,在移动充电车接收到用户的请求后,驶向用户所在地,并为用户驾驶的车辆提供充电服务,完成充电任务。
在移动充电设备为待充电车辆充电之前,需要携带充电插头并移动到待充电车辆附近,以定位待充电车辆上的充电口区域,并执行充电插头和充电口之间的对接任务,也就是通过调整自身的位姿(所处的位置以及充电插头的位姿)直至和充电口之间处于正确的对接位姿,进而实现对接任务并向充电口充电。
在现有的实现中,基于视觉伺服的对接控制策略中将摄像头采集的原始图像直接输入到对接控制网络中,通过端到端的方式直接输出充电插头的位姿控制信息,并基于该位姿控制信息来控制充电插头的位姿进而实现对接任务。这需要对接控制网络具备较高的识别精度,例如需要针对于各种场景中的充电插头以及充电口的形状、类型、磨损程度都具备准确的识别能力,且需要保证图像中充电口和充电插头的完整度,这就会造成了如下的问题:现有技术当中的对接控制网络的泛化性较差,也就是仅仅能针对于训练时所采用的充电插头已经充电口的形状类型以及磨损程度才具备较好的识别能力,而针对于其他会在训练中采用的充电插头和充电口的形状、类型和磨损程度,识别精度较差。
发明内容
本申请提供了一种对接控制方法,基于本申请实施例进行的对接控制相比现有技术中的更加准确。
第一方面,本申请提供了一种对接控制方法,所述方法应用于对接头和对接口之间的对接任务;所述方法包括:获取目标图像,所述目标图像为对所述对接任务所在的场景所采集的图像,所述目标图像包括所述对接头的图像区域和所述对接口的图像区域;根据所述目标图像,通过特征提取网络,得到目标信息,所述目标信息包含所述对接头和所述对接口之间的相对位姿相比于正确对接位姿的偏差;以及,根据所述目标信息,确定所述对接头的姿态变化信息,所述姿态变化信息用于调整所述对接头的位姿,以执行所述对接任务。
本申请提供的对接控制方法可以应用于对接头和对接孔之间的对接任务;其中,对接头和对接孔可以为任意轴孔装配场景(例如硬盘插拔、内存条插拔、手机天线装配)下的对象,例如对接头可以包括充电插头,对接孔可以包括充电口。
本申请实施例中,通过特征提取网络对摄像头采集的原始图像(例如本申请实施例中的目标图像)或者对原始图像进行分割得到的分割图像进行特征提取,以得到能够表达出对接头和充电头之间相对位姿关系的语义的目标信息,然后将目标信息作为后续用于确定对接控制策略的网络的输入。目标信息作为中间输出,本身就可以表达出较为准确的相对位姿关系,进而基于本申请实施例得到的相对位姿关系进行的对接控制相比现有技术中的更加准确。
在一种可能的实现中,所述方法还包括:通过图像分割,识别出所述目标图像中所述对接头所在的第一区域以及所述对接口所在的第二区域,以得到分割图像;所述根据所述目标图像,通过特征提取,得到目标信息,包括:根据所述分割图像,通过特征提取,得到目标信息。
其中,图像分割可以将目标图像中对接口所在的区域以及对接头所在的区域识别出来,由于对接任务的对象是对接头和对接口,具体就是将对接头和对接口调整到正确的对接位姿。通过图像分割,将对接口所在的区域以及对接头所在的区域识别出来,然后将图像分割的结果作为特征提取网络的输入,可以让特征提取网络获取的数据不包括除了对接头以及对接口之外的其他信息,进而可以更准确的识别出来对接头和对接口之间的位姿关系。
在一种可能的实现中,所述目标图像为对所述对接任务所在的场景中朝向所述对接口所在的方向所采集的图像。
在一种可能的实现中,所述目标图像包括所述对接口的一部分区域,所述对接口的另一部分被所述对接头所遮挡。
在一种可能的实现中,所述特征提取网络包括第一特征提取网络;所述目标信息包括通过所述第一特征提取网络得到的第一信息,所述正确对接位姿包括所述对接头和所述对接口在正确对接时所处的目标相对位置,所述第一信息包含所述对接头和所述对接口之间的相对位置相比于所述目标相对位置的第一偏差。
其中,第一偏差可以为:对接头和所述对接口之间的相对位置相比于所述目标相对位置的偏差,目标相对位置为所述对接头和所述对接口处于正确对接位姿时的相对位置。例如,若对接头和所述对接口处于正确对接位姿时中心轴是重合的,可选的,第一偏差可以为对接头的中心轴和所述对接口中心轴之间的位置偏差(例如错开的距离)。
在一种可能的实现中,可以通过所述第一特征提取网络得到的第一信息,所述正确对接位姿包括所述对接头和所述对接口在正确对接时所处的目标相对位置,所述第一信息包含所述对接头和所述对接口之间的相对位置相比于所述目标相对位置的第一偏差。由于第一特征提取网络为待训练的特征提取网络,因此第一偏差的精准度较差,为了构建训练样本,需要获取到目标图像中对接头和所述对接口之间的准确位置偏差。
在一种可能的实现中,为了得到目标图像中对接头和所述对接口之间的准确位置偏差,可以根据对接头(以及其所在的机械臂)、对接口来构建仿真环境,该仿真环境包括预先构建的虚拟三维模型,所述虚拟三维模型可以还原出所述对接口和所述对接头在物理空间中的结构以及相对位姿。
在一种可能的实现中,仿真环境中预先构建的虚拟三维模型可以还原出真实环境中对接口和所述对接头在物理空间中的结构以及相对位姿。在虚拟环境中,由于对接口和对接头是预先构建的模型,因此可以直接获取到对接头和所述对接口之间的准确位置偏差。且,仿真环境中预先构建的虚拟三维模型可以还原出真实环境中对接口和所述对接头在物理空间中的结构,因此,在仿真环境和实物环境中的对接口和所述对接头如果处于相同的相对位姿时,则在仿真环境和实物环境中对接头和所述对接口之间准确位置偏差是一致的。也就是可以从仿真环境中,获取到真实环境中对对接头和所述对接口之间的准确位置偏差。
在一种可能的实现中,可以在实物环境中,通过控制机械臂的位姿使得对接头和所述对接口控制在处于目标相对位姿,而目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;在仿真环境,可以将对接口和所述对接头之间的相对位姿设置为目标相对位姿。具体的,可以获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿。并根据所述虚拟三维模型,确定所述虚拟三维模型中的所述对接头和所述对接口之间的相对位置相比于所述目标相对位置的准确位置偏差。
通过上述方式,可以获取到用于训练第一特征提取网络的训练样本(第一偏差和准确位置偏差),进而,训练设备可以基于所述准确位置偏差和所述第一偏差,对所述第一特征提取网络进行更新。
在一种可能的实现中,在对第一特征提取网络进行更新时,损失可以与对接头和对接口的中心点(或者中心轴)之间的偏差有关,进而,针对于不同类型、形状以及磨损程度的对接头和对接口,训练得到的第一特征提取网络的位置偏差识别精度都较高。进而可以使得后续进行的对接控制也更准确。
此外,通过本申请实施例中的虚拟三维模型结合机械臂运动实现半自动的数据标注,可以节约人力提高效率,降低部署难度。
在一种可能的实现中,所述特征提取网络包括第二特征提取网络;
所述目标信息包括通过所述第二特征提取网络得到的第二信息;所述正确对接位姿包括所述对接头和所述对接口在正确对接时所处的目标相对角度,所述第二信息包含所述对接头和所述对接口之间的相对角度相比于所述目标相对角度的第二偏差。
其中,第二偏差可以为:对接头和所述对接口之间的相对角度相比于所述目标相对角度的偏差,目标相对角度为所述对接头和所述对接口处于正确对接位姿时的相对角度。例如,对接头可以包括多个子插头,对接口可以包括多个子孔,多个子插头和多个子孔之间一一匹配,若对接头和所述对接口处于正确对接位姿时对接头的各个子插头在位置上和对应的子孔是对齐的。
在一种可能的实现中,所述第二特征提取网络为精度满足预设条件的网络;或者,
在一种可能的实现中,可以通过所述第二特征提取网络得到第二信息;所述正确对接位姿包括所述对接头和所述对接口在正确对接时所处的目标相对角度,所述第二信息包含所述对接头和所述对接口之间的相对角度相比于所述目标相对角度的第二偏差。由于第二特征提取网络为待训练的特征提取网络,因此第二偏差的精准度较差,为了构建训练样本,需要获取到目标图像中对接头和所述对接口之间的准确角度偏差。
在一种可能的实现中,为了得到目标图像中对接头和所述对接口之间的准确角度偏差,可以根据对接头(以及其所在的机械臂)、对接口来构建仿真环境,该仿真环境包括预先构建的虚拟三维模型,所述虚拟三维模型可以还原出所述对接口和所述对接头在物理空间中的结构以及相对位姿。
在一种可能的实现中,仿真环境中预先构建的虚拟三维模型可以还原出真实环境中对接口和所述对接头在物理空间中的结构以及相对位姿。在虚拟环境中,由于对接口和对接头是预先构建的模型,因此可以直接获取到对接头和所述对接口之间的准确角度偏差。且,仿真环境中预先构建的虚拟三维模型可以还原出真实环境中对接口和所述对接头在物理空间中的结构,因此,在仿真环境和实物环境中的对接口和所述对接头如果处于相同的相对位姿时,则在仿真环境和实物环境中对接头和所述对接口之间准确角度偏差是一致的。也就是可以从仿真环境中,获取到真实环境中对对接头和所述对接口之间的准确角度偏差。
在一种可能的实现中,可以在实物环境中,通过控制机械臂的位姿使得对接头和所述对接口控制在处于目标相对位姿,而目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;在仿真环境,可以将对接口和所述对接头之间的相对位姿设置为目标相对位姿。具体的,可以获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿。并根据所述虚拟三维模型,确定所述虚拟三维模型中的所述对接头和所述对接口之间的相对角度相比于所述目标相对角度的准确角度偏差。
通过上述方式,可以获取到用于训练第二特征提取网络的训练样本(第二偏差和准确角度偏差),进而,训练设备可以基于所述准确角度偏差和所述第二偏差,对所述第二特征提取网络进行更新。
在一种可能的实现中,在对第一特征提取网络进行更新时,损失可以与对接头和对接口的边缘之间的错开角度有关(例如图10a中所示的,当对接头和对接口的对应边缘处于平行状态时,可以认为角度是对齐的),进而,针对于不同类型、形状以及磨损程度的对接头和对接口,训练得到的第而特征提取网络的角度偏差识别精度都较高。进而可以使得后续进行的对接控制也更准确。
此外,通过本申请实施例中的虚拟三维模型结合机械臂运动实现半自动的数据标注,可以节约人力提高效率,降低部署难度。
在一种可能的实现中,所述根据所述目标信息,确定所述对接头的姿态变化信息,包括:
根据所述目标信息,通过全连接网络,确定所述对接头的姿态变化信息。
在一种可能的实现中,所述图像分割为基于精度满足预设条件的图像分割网络实现的;或者,
在一种可能的实现中,仿真环境中预先构建的虚拟三维模型可以还原出真实环境中对接口和所述对接头在物理空间中的结构以及相对位姿。在虚拟环境中,由于对接口和对接头是预先构建的模型,因此,在仿真环境中的一个视点和视角观察对接口和对接头时,可以直接获取到对接口和对接头在仿真环境中的准确区域。且,仿真环境中预先构建的虚拟三维模型可以还原出真实环境中对接口和所述对接头在物理空间中的结构,因此,在仿真环境和实物环境中的对接口和所述对接头如果处于相同的相对位姿时,则在仿真环境和实物环境中的同一个视点和视角对对接口和对接头采集的图像中对接口和对接头所在的图像区域是一致的(在图像大小相同的情况下),也就是可以从仿真环境中,获取到真实环境中对对接口和所述对接头所采集的图像中对接头和对接口所在的区域。
在一种可能的实现中,可以在实物环境中,通过控制机械臂的位姿使得对接头和所述对接口控制在处于目标相对位姿,而目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;在仿真环境,可以将对接口和所述对接头之间的相对位姿设置为目标相对位姿。具体的,可以获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿。
为了保证在仿真环境中能够知晓目标图像中对接头以及对接口所在的准确区域,可以在仿真环境按照和实物环境中的同一个视点和视角对对接口和对接头进行观察。具体的,可以基于目标视点以及目标视角,获取所述虚拟三维模型中所述对接头所在的第三区域,以及所述对接口所在的第四区域;所述目标视角与图像采集设备在采集所述目标图像时的视点和视角一致;所述第三区域和所述第四区域用于作为对所述目标图像进行所述图像分割时的准确分割结果。
示例性的,可以利用示教,得到实物环境中对接口在全局坐标系下的位姿;随机生成机械臂末端(也就是对接头)相对插孔的位姿(例如上述实施例中的目标相对位姿),控制机械臂末端运动到指定位置,根据目标相对位姿,利用虚拟三维模型进行实时渲染,得到实物中对接头以及对接口的准确分割图像,且从实物环境中获取当前时刻相机所的图像(例如上述实施例中的目标图像);
通过上述方式,可以获取到用于训练图像分割网络的训练样本(所述第三区域和所述第一区域,以及所述第四区域和所述第二区域),进而,训练设备可以基于所述第三区域和所述第一区域,以及所述第四区域和所述第二区域,对所述图像分割网络进行更新。
此外,通过本申请实施例中的虚拟三维模型结合机械臂运动实现半自动的数据标注,可以节约人力提高效率,降低部署难度。
第二方面,本申请提供了一种对接控制装置,所述装置应用于对接头和对接口之间的对接任务;所述装置包括:
获取模块,用于获取目标图像,所述目标图像为对所述对接任务所在的场景所采集的图像,所述目标图像包括所述对接头的图像区域和所述对接口的图像区域;
特征提取模块,用于根据所述目标图像,通过特征提取网络,得到目标信息,所述目标信息包含所述对接头和所述对接口之间的相对位姿相比于正确对接位姿的偏差;以及,
对接控制模块,可以根据所述目标信息,确定所述对接头的姿态变化信息,所述姿态变化信息用于调整所述对接头的位姿,以执行所述对接任务。
在一种可能的实现中,所述装置还包括:
图像分割模块,用于通过图像分割,识别出所述目标图像中所述对接头所在的第一区域以及所述对接口所在的第二区域,以得到分割图像;
所述特征提取模块,具体用于:
根据所述分割图像,通过特征提取,得到目标信息。
在一种可能的实现中,所述目标图像为对所述对接任务所在的场景中朝向所述对接口所在的方向所采集的图像。
在一种可能的实现中,所述目标图像包括所述对接口的一部分区域,所述对接口的另一部分被所述对接头所遮挡。
在一种可能的实现中,所述特征提取网络包括第一特征提取网络;
所述目标信息包括通过所述第一特征提取网络得到的第一信息,所述正确对接位姿包括所述对接头和所述对接口在正确对接时所处的目标相对位置,所述第一信息包含所述对接头和所述对接口之间的相对位置相比于所述目标相对位置的第一偏差。
在一种可能的实现中,所述第一特征提取网络为精度满足预设条件的网络;或者,
所述第一特征提取网络为待训练的网络;所述目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;
所述装置还包括:
样本构建模块,用于获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿;
模型训练模块,用于根据所述虚拟三维模型,确定所述虚拟三维模型中的所述对接头和所述对接口之间的相对位置相比于所述目标相对位置的准确位置偏差;
基于所述准确位置偏差和所述第一偏差,对所述第一特征提取网络进行更新。
在一种可能的实现中,所述特征提取网络包括第二特征提取网络;
所述目标信息包括通过所述第二特征提取网络得到的第二信息;所述正确对接位姿包括所述对接头和所述对接口在正确对接时所处的目标相对角度,所述第二信息包含所述对接头和所述对接口之间的相对角度相比于所述目标相对角度的第二偏差。
在一种可能的实现中,所述第二特征提取网络为精度满足预设条件的网络;或者,
所述第二特征提取网络为待训练的网络;所述目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;
所述装置还包括:
样本构建模块,用于获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿;
模型训练模块,用于根据所述虚拟三维模型,确定所述虚拟三维模型中的所述对接头和所述对接口之间的相对角度相比于所述目标相对角度的准确角度偏差;
基于所述准确角度偏差和所述第二偏差,对所述第二特征提取网络进行更新。
在一种可能的实现中,所述根据所述目标信息,确定所述对接头的姿态变化信息,包括:
根据所述目标信息,通过全连接网络,确定所述对接头的姿态变化信息。
在一种可能的实现中,所述图像分割为基于精度满足预设条件的图像分割网络实现的;或者,
所述图像分割为基于待训练的图像分割网络实现的;所述目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;
所述装置还包括:
样本构建模块,用于获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿;
模型训练模块,用于基于目标视点以及目标视角,获取所述虚拟三维模型中所述对接头所在的第三区域,以及所述对接口所在的第四区域;所述目标视角与图像采集设备在采集所述目标图像时的视点和视角一致;所述第三区域和所述第四区域用于作为对所述目标图像进行所述图像分割时的准确分割结果;
基于所述第三区域和所述第一区域,以及所述第四区域和所述第二区域,对所述图像分割网络进行更新。
第三方面,本申请实施例提供了一种计算机可读存储介质,其特征在于,包括计算机可读指令,当该计算机可读指令在计算机设备上运行时,使得该计算机设备执行上述第一方面及其任一可选的方法。
第四方面,本申请实施例提供了一种计算机程序产品,其特征在于,包括计算机可读指令,当该计算机可读指令在计算机设备上运行时,使得该计算机设备执行上述第一方面及其任一可选的方法。
第五方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持执行控制机构实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据;或,信息。在一种可能的设计中,该芯片系统还包括存储器,该存储器,用于保存执行设备或训练设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
第六方面,本申请提供了一种对接控制装置,所述装置包括一个或多个处理器和存储器;其中,所述存储器中存储有计算机可读指令;所述一个或多个处理器读取所述计算机可读指令,执行上述第一方面及其任一可选的方法。
本申请提供了一种对接控制方法,所述方法应用于充电插头和充电口之间的对接任务;所述方法包括:获取目标图像,所述目标图像为对所述对接任务所在的场景所采集的图像,所述目标图像包括所述充电插头的图像区域和所述充电口的图像区域;根据所述目标图像,通过特征提取网络,得到目标信息,所述目标信息包含所述充电插头和所述充电口之间的相对位姿相比于正确对接位姿的偏差;以及,根据所述目标信息,确定所述充电插头的姿态变化信息,所述姿态变化信息用于调整所述充电插头的位姿,以执行所述对接任务。本申请通过特征提取网络对摄像头采集的原始图像(例如本申请实施例中的目标图像)或者对原始图像进行分割得到的分割图像进行特征提取,以得到能够表达出充电插头和充电头之间相对位姿关系的语义的目标信息,然后将目标信息作为后续用于确定对接控制策略的网络的输入。目标信息作为中间输出,本身就可以表达出较为准确的相对位姿关系,进而基于本申请实施例得到的相对位姿关系进行的对接控制相比现有技术中的更加准确。
附图说明
图1为本申请实施例提供的场景示意;
图2为本申请实施例提供的场景示意;
图3为本申请实施例提供的场景示意;
图4a为本申请实施例提供的场景示意;
图4b为本申请实施例提供的系统的示意;
图5为本申请实施例提供的场景示意;
图6为本申请实施例提供的服务器的结构示意;
图7a为本申请实施例提供的场景示意;
图7b为本申请实施例提供的机械臂的结构示意;
图8为本申请实施例提供的一个对接控制方法的示意;
图9为本申请实施例提供的一个虚拟三维模型示意;
图10a为本申请实施例提供的一个图像分割示意;
图10b为本申请实施例提供的一个图像分割示意;
图10c为本申请实施例提供的一个图像分割示意;
图10d为本申请实施例提供的一个图像分割示意;
图11为本申请实施例提供的一个特征提取过程的示意;
图12为本申请实施例提供的一个特征提取过程的示意;
图13为本申请实施例提供的一个特征提取过程的示意;
图14为本申请实施例提供的一个特征提取过程的示意;
图15为本申请实施例提供的一个对接控制方法的示意;
图16为本申请实施例提供的一个对接控制装置的结构示意;
图17为本申请实施例提供的一个对接控制装置的结示意;
图18为本申请实施例提供的芯片的一种结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
本申请的说明书和权利要求书及上述附图中的术语“第一”、第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
新能源车代表了汽车行业绿色发展的新方向,在我国和全世界出现了爆发性发展。随着新能源汽车销量陡增,车主们需要在路途中进行“加电”。然而,现有的服务区或停车场充电桩相对严重不足,导致经常出现用户大量排队、排队等待时间远超过充电时间的现象。在短时间无法大量提供充电桩的情况下,采用移动充电设备(例如充电机器人)为新能源车进行自动充电,为新能源车提供“移动充电宝”,可在短时间内有效缓解充电桩严重不足的问题。另一方面,即便停车场里有空闲的充电桩,在停车场里找到电车充电桩也特别费时间,同时快充充电桩普遍存在充电枪和线缆重量重、硬度较高的问题,导致驾驶员人工进行充电操较为困难。移动充电设备可以自行导航到车主跟前,并代替人进行充电枪的插拔,会给用户带来更高效的充电服务和更好的充电体验。
应理解,本申请实施例中的充电设备也可以为固定在地面的充电桩,待充电车辆可以移动至充电桩附近,充电桩上的机械臂可以通过控制充电插头的姿态来实现充电任务。
接下来介绍本申请实施例中的应用场景:
如图1所示,充电设备具体可以表现为充电桩是可移动的形式,或者可移动底盘搭载电池包形式,比如当充电设备是一种移动充电车时,该移动充电车的底盘上可搭载多个电池包,在移动充电车接收到用户的请求后,驶向用户所在地,并为用户驾驶的车辆提供充电服务,完成充电任务。
在一种可能的实现中,充电设备可以为充电车和机械手相互分离的架构,其中,充电车可以包括电缆收放装置以及充电枪,机械手可以部署在移动机构上,移动机构和充电车之间分离,充电车作为电能的提供方,底盘上可搭载多个电池包,在充电车接收到用户的请求后,充电车和移动机构可以驶向用户所在地,并为待充电车辆提供充电服务,完成充电任务。
本申请的技术方案可应用于一种移动充电系统,如图2所示,该系统可以包括服务器11、至少一个车辆系统12、充电设备13和充电桩14等。其中,每个车辆系统12中可以包括用户121、终端设备122和待充电车辆123,如图3所示。车辆123为用户121正在驾驶的需要充电的车辆,终端设备122的持有者是用户121。
其中,用户121可以是驾驶员,当驾驶员发现其驾驶的车辆123电量不足时,通过终端设备122向服务器发送一个请求消息,所述请求消息用于请求为车辆123充电。或者,用户121在终端设备122的APP上生成一个请求,然后将该请求发送给服务器11。
终端设备122可以是一种便携式设备,比如智能终端、手机、笔记本电脑、平板电脑、个人计算机(personal computer,PC)、个人数字助理(personal digital assistant,PDA),可折叠终端、具备无线通讯功能的可穿戴设备(例如智能手表或手环)、用户设备(user device)或用户设备(user equipment,UE)、以及增强现实(augmented reality,AR)或者虚拟现实(virtual reality,VR)设备等,本申请的实施例对终端设备的具体设备形态不做限定。
车辆123可以是一种电动汽车(electric vehicle,EV),所述EV包括显示屏、车机处理器和通信模块,此外,EV还可以包括其他部件或单元,本实施例对此不予限制。
可选的,在一种可能的实施方式中,上述车辆系统12中可以不包括终端设备122,所述终端设备122的功能由EV中的车机处理器和通信模块来实现,比如车机处理器在接收到用户触发的指令之后,通过通信模块向服务器11发送请求消息。
参见图2,服务器11可接收一个或多个车辆系统12发送的请求消息,对系统中的至少一个充电设备13进行调度,并向相应的充电设备派发充电任务,指示其驶向发请求消息的用户所在位置,对请求的车辆进行充电。另外,在调度和派发充电任务之前,服务器11还用于获取路况信息,根据路况信息进行高级驾驶辅助系统(advanced driver assistancesystems,ADAS)计算,生成调度策略等。
可选的,所述服务器11为云服务器,所述云服务器可以是一个服务器,或者是由多个服务器组成的服务器集群。
充电设备13,用于接收服务器11发送的指示信号,并根据指示信号驶向待充电车辆(本申请实施例也可以称之为目标车辆)的位置,并为其充电,当充电设备13完成充电任务后,返回充电桩14进行补电。此外,充电设备13还用于在执行充电任务的过程中实时地上报当前的所携带的电池包的电量情况,以及在行驶过程中实时地上报自己的位置信息给服务器11,以便为服务器11能够实时地掌握系统中各个充电设备的情况,为后续充电任务的派发和电能资源的调度提供依据。
另外,每个充电设备13中包括车机处理器、通信模块、充电电池或者电池包,所述电池包的数量可以是一个或者多个,每个电池包携带的一定电量,本实施例对电池包的数量以及每个电池包的电量不予限制。
可选的,所述充电设备13可以是一种EV,或者燃油汽车,或者是其他底盘可移动的设备。
接下来介绍充电设备13的架构示意。
本申请实施例可以应用于如图4a所示的充电设备13中。如图4a所示,该充电设备13可以包括:传感器模块110、驱动装置120、充电装置140和主控平台130。
其中,传感器模块110可以包括一颗或者多颗视觉传感器111(例如摄像头)(本申请实施例也可以简称为传感器)组成,例如可以包括普通的光学摄像头,也可以是红外摄像头、结构光传感器或飞行时间(time-of-flight,ToF)传感器等。示例地,传感器模块110可以包括一颗普通的RGB摄像头或红黄黄蓝(red yellow yellow blue,RYYB)摄像头,摄像装置模块也可以包括多颗摄像头或者传感器组成RGB-D深度摄像头方案。示例地,RGB-D深度摄像头方案可以包括两颗RGB摄像头组成双目方案,可以包括一颗RGB摄像头和一颗结构光传感器组成结构光方案,也可以是包括一颗RGB摄像头和一颗ToF传感器组成ToF方案,本申请实施例对此不做具体限定。另外,视觉传感器111(例如摄像头)可以是定焦摄像头,也可以是变焦摄像头,例如具备相位对焦、激光对焦等能力。
应理解,视觉传感器111(例如摄像头)可以承载于一个运动单元上,运动单元用于承载视觉传感器111(例如摄像头),并且驱动视觉传感器111(例如摄像头)产生旋转。在一个实施例中,运动单元可以驱动视觉传感器111(例如摄像头)产生两自由度旋转,若Z轴所指的方向为摄像头11正前方,那么上述两自由度旋转可以包括视觉传感器111(例如摄像头)以x轴为旋转轴的旋转和视觉传感器111(例如摄像头)以y轴为旋转轴的旋转。运动单元驱动视觉传感器111(例如摄像头)产生旋转可以通过舵机或者伺服电机的转动来实现,示例地,当驱动装置用于驱动视觉传感器111(例如摄像头)产生两自由度旋转时,运动单元可以包含两个驱动机构driver 1和driver 2,例如两个舵机或者两个伺服电机,其中一个舵机1或者伺服电机1用于控制视觉传感器111(例如摄像头)以x轴为旋转轴的旋转,另一个舵机2或者伺服电机2用于控制视觉传感器111(例如摄像头)以y轴为旋转轴的旋转。在另一些实施例中,运动单元可以驱动视觉传感器111(例如摄像头)产生三自由度旋转,即增加视觉传感器111(例如摄像头)以z轴为旋转轴的旋转,相应地,运动单元还可以包含三个驱动机构driver 1、driver 2和driver 3,例如三个舵机或者三个伺服电机,其中一个舵机1或者伺服电机1用于控制视觉传感器111(例如摄像头)以x轴为旋转轴的旋转,另一个舵机2或者伺服电机2用于控制视觉传感器111(例如摄像头)以y轴为旋转轴的旋转,另一个舵机3或者伺服电机3用于控制视觉传感器111(例如摄像头)以z轴为旋转轴的旋转。
在一种可能的实现中,本申请实施例中的目标图像可以为视觉传感器针对于充电插头和充电口之间的对接任务所采集的图像。
传感器模块110还可以包括运动传感器112,运动传感器112可以为里程计、加速度计、速度计、惯性测量单元等等,用于采集充电设备13在行驶过程中的里程信息,如行程、轨迹、速度等信息。
力传感器113可以为用于检测对机械臂142末端施加力的传感器。作为力传感器113,可以利用可以检测单轴方向的力的压力传感器和可以检测多个轴方向的力的成分的力觉传感器或力矩传感器。在本实施方式中,作为力传感器113,可以使用六轴的力觉传感器。六轴的力觉传感器检测与固有的传感器坐标系中互相正交的三个检测轴平行的力的大小和绕三个检测轴的力矩的大小。需要说明的是,力传感器113可以设置在机械臂142末端的位置以外的位置,例如,可以设置在机械臂142中的一个以上的关节上。
驱动装置120可包括为充电设备13提供动力运动的组件。在一个实施例中,驱动装置120可包括引擎、能量源、传动装置和车轮/轮胎。引擎可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如气油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎将能量源转换成机械能量。
能量源的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源也可以为充电设备13的其他系统提供能量。
传动装置可以将来自引擎的机械动力传送到车轮。传动装置可包括差速器和驱动轴。在一个实施例中,传动装置还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮的一个或多个轴。
主控平台130是该装置的数据处理和控制中心,主控平台130与充电装置140、传感器模块110和驱动装置120建立通信连接,例如能够接收传感器模块110采集的图像数据,对图像数据进行处理,以及向驱动装置120发送移动的指令等。其中,充电装置140可以包括充电头141(或者称之为充电插头)和机械臂142。在一些实施例中,主控平台130可以是嵌入式的计算机平台,包括单元不限于基于X86指令集、ARM指令集、RISC-V指令集或者MIPS指令集等设计的计算机芯片和软件系统等。
在一个实施例中,上述计算机芯片例如可以包括处理器131和存储器132,其中,处理器131例如可以包括:中央处理器(central processing unit,CPU)、系统芯片(systemon a chip,SoC)、应用处理器(application processor,AP)、微控制器(microcontroller)、神经网络处理器(Neural-network Processing Unit,NPU)和/或图形处理器(graphics processing unit,GPU)等;存储器132例如可以包括非易失性存储器和易失性存储器,非易失性存储器例如快闪存储器(flash memory),包括NAND flash、固态硬盘等,易失性存储器例如同步动态随机存取內存(synchronous dynamic random-accessmemory,SDRAM)等。
在一个实施例中,上述软件系统可以包括操作系统以及运行在该操作系统中的程序指令133。当处理器执行上述程序指令时,使得图3或图4a所示的装置执行本申请实施例提供的对接控制方法的各个步骤。
在一些实施例中,存储器132可包含程序指令133(例如,程序逻辑),程序指令133可被处理器131执行来执行充电设备13的各种功能,包括以上描述的那些功能。存储器132也可包含额外的指令,包括向驱动装置120、传感器模块110、控制系统和外围设备中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
除了程序指令133以外,存储器132还可存储数据,例如道路地图、路线信息,自动驾驶装置的位置、方向、速度以及其它这样的自动驾驶装置数据,以及其他信息。这种信息可在充电设备13在自主、半自主和/或手动模式中操作期间被充电设备13使用。
应理解,本申请实施例中的对接控制方法涉及人工智能相关的算法处理,因此,处理器人的架构不局限于图4a中处理器结合存储器的结构,还可以是其他硬件架构(例如纯硬件或者是其他软硬件结合的架构)。
无线通信系统150可以直接地或者经由通信网络来与一个或多个设备(例如服务器11)无线通信。例如,无线通信系统150可使用3G蜂窝通信,例如码分多址(code divisionmultiple access,CDMA)、EVD0、全球移动通信系统(global system for mobilecommunications,GSM)/是通用分组无线服务技术(general packet radio service,GPRS),或者4G蜂窝通信,例如长期演进(long term evolution,LTE),或者5G蜂窝通信。无线通信系统150可利用WiFi与无线局域网(wireless local area network,WLAN)通信。在一些实施例中,无线通信系统150可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种自动驾驶装置通信系统,例如,无线通信系统150可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括自动驾驶装置和/或路边台站之间的公共和/或私有数据通信。
可选地,上述这些组件中的一个或多个可与充电设备13分开安装或关联。例如,存储器132可以部分或完全地与充电设备13分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图4a不应理解为对本申请实施例的限制。
由于本申请涉及人工智能相关的算法实现,下面结合神经网络的训练以及推理介绍本申请实施例提供的系统架构。
参见附图4b,本申请实施例提供了一种系统架构100。如所述系统架构100所示,数据采集设备160用于采集训练数据。本申请实施例中训练数据可以包括:模型训练过程中针对于对接任务所在的场景所采集的图像、从仿真环境中预先构建的虚拟三维模型中确定的真实位姿偏差以及图像分割结果等;并将训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101(目标模型/规则101可以为本申请实施例中的特征提取网络、全连接网络、图像分割网络等)。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
其中,训练设备120可以部署于充电设备或者是和充电设备分离部署,训练设备120可以将训练得到的目标模型/规则101传递至充电设备,充电设备可以作为执行设备来执行目标模型/规则101。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图4b所示的执行设备110,所述执行设备110可以是充电设备等,还可以是服务器或者云端等。在附图4b中,执行设备110配置有I/O接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:目标图像。
在图4b中,执行设备110配置输入/输出(input/output,I/O)接口512,用于与外部设备进行数据交互。
预处理模块113和预处理模块114用于根据I/O接口112接收到的输入数据进行预处理。应理解,可以没有预处理模块113和预处理模块114或者只有的一个预处理模块。当不存在预处理模块113和预处理模块114时,可以直接采用计算模块111对输入数据进行处理。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
在图4b所示情况下,客户设备140可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,图4b仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图4b中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。应理解,上述执行设备110可以部署于客户设备140中。
从模型的推理侧来说:
本申请实施例中,上述执行设备110的计算模块111可以获取到数据存储系统150中存储的代码来实现本申请实施例中的对接控制方法。
本申请实施例中,执行设备110的计算模块111可以包括硬件电路(如专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、通用处理器、数字信号处理器(digital signalprocessing,DSP)、微处理器或微控制器等等)、或这些硬件电路的组合,例如,训练设备120可以为具有执行指令功能的硬件系统,如CPU、DSP等,或者为不具有执行指令功能的硬件系统,如ASIC、FPGA等,或者为上述不具有执行指令功能的硬件系统以及具有执行指令功能的硬件系统的组合。
具体的,执行设备110的计算模块111可以为具有执行指令功能的硬件系统,本申请实施例提供的对接控制方法可以为存储在存储器中的软件代码,执行设备110的计算模块111可以从存储器中获取到软件代码,并执行获取到的软件代码来实现本申请实施例提供的对接控制方法。
应理解,执行设备110的计算模块111可以为不具有执行指令功能的硬件系统以及具有执行指令功能的硬件系统的组合,本申请实施例提供的对接控制方法的部分步骤还可以通过执行设备110的计算模块111中不具有执行指令功能的硬件系统来实现,这里并不限定。
从模型的训练侧来说:
本申请实施例中,上述训练设备120可以获取到存储器(图1中未示出,可以集成于训练设备120或者与训练设备120分离部署)中存储的代码来实现本申请实施例中和模型训练相关的方法。
本申请实施例中,训练设备120可以包括硬件电路(如专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)、通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器等等)、或这些硬件电路的组合,例如,训练设备120可以为具有执行指令功能的硬件系统,如CPU、DSP等,或者为不具有执行指令功能的硬件系统,如ASIC、FPGA等,或者为上述不具有执行指令功能的硬件系统以及具有执行指令功能的硬件系统的组合。
具体的,训练设备120可以为具有执行指令功能的硬件系统,本申请实施例提供的和模型训练相关的方法可以为存储在存储器中的软件代码,训练设备120可以从存储器中获取到软件代码,并执行获取到的软件代码来实现本申请实施例提供的和模型训练相关的方法。
应理解,训练设备120可以为不具有执行指令功能的硬件系统以及具有执行指令功能的硬件系统的组合,本申请实施例提供的和模型训练相关的方法的部分步骤还可以通过训练设备120中不具有执行指令功能的硬件系统来实现,这里并不限定。
本申请实施例中对接控制方法的执行主体可以为充电设备13,也可以为云侧的服务器11,或者是包括充电设备13以及云侧的服务器11的系统,参照图5,图5示出的系统中可以充电设备13和服务器11,充电设备13和服务器11通信连接(例如通过无线通信系统150实现),其中,充电设备13可以将传感器采集的数据传递至服务器11,由服务器11基于充电设备13将传感器采集的数据来实现本申请实施例中的对接控制方法,并将对接控制方法的相关处理结果传递至充电设备13,以便充电设备13执行对接任务。
接下来介绍服务器11的架构示意。
本申请实施例还提供了一种服务器,请参阅图6,图6是本申请实施例提供的服务器一种结构示意图,具体的,服务器600由一个或多个服务器实现,服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)66(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器66可以设置为与存储介质630通信,在服务器600上执行存储介质630中的一系列指令操作。
服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658;或,一个或一个以上操作系统641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例中的对接控制方法可以应用于移动充电设备上的充电插头和待充电车辆的充电口之间的对接任务(或者称之为插拔任务)。
目前主流的充电机器人可以采用如下方案实现对接任务:
1、螺旋插孔方法,通过力传感器保持轴孔接触的同时,在一个固定的平面内走螺旋路径,搜索孔的位置,并且是开环控制,并不知道距离终止状态的误差还有多大;由于该方法不关心孔的形状,所以优点在于对不同形状的孔泛化性很好,但缺点也很明显,仅适用于2-3mm等很小的初始状态误差,且效率低,耗时长。5-10mm的初始状态误差下,该方法因插孔成功率显著下降而失效。
2、基于力的强化学习方法,通过在仿真器中不断试错,学习到力和下一步运动之间的关系,使用时不需要漫无目的的探索,因此效率高,耗时短;但目前该类方法仅适用于2-3mm等很小的初始状态误差,5-10mm的初始状态误差下,该方法因插孔成功率显著下降而失效。
3、基于视觉的强化学习方法,直接以RGB图像作为端到端的策略网络输入,学习插孔策略,端到端的策略网络可以直接基于RGB图像生成插孔策略;其优点在于能够高效率、高成功率的处理5mm等较大的初始状态误差;但由于图像跟孔的形状息息相关,轻微的功能形变就会导致算法失效,因此算法的泛化性不行,不能应对磨损等导致的轴孔轻微变形,更不能泛化到未见过的形状。
因此,在现有的实现中,在存在大初始误差的情况下,插孔任务的成功率低、效率低、且泛化性差制约了现有算法的应用。
本申请实施例提供的对接控制方法可以在保证高精度的实现充电插口向充电口的对接任务时,提高针对于不同插头、充电口形状的泛化性。
接下来从产品的形态上介绍本申请实施例中的充电设备。
参照图7a,图7a为本申请实施例中的充电设备的充电场景示意,其中,充电设备可以包括机械臂。机械臂可以采用多轴串联型机械臂,实现对于充电枪的位置和位姿控制,机械臂形态不限于串联,只要可以实现末端充电枪六维位姿导的引即可。充电设备可以包括力传感器(或者可以为力矩传感器),在一种可能的实现中,其能够感知枪头末端所受的力和力矩(Fx,Fy,Fz,Tx,Ty,Tz),能够感知侧向力传感器均可。充电设备可以包括摄像头(或者称之为视觉传感器、相机),能够获取充电口的2D图像。可选的,充电设备可以包括充电枪(包括充电插头)及固定装置,充电设备可以包括移动平台,扩展充电装置的移动范围。
参照图7b,图7b为本申请实施例中的机械臂的结构示意,如图7b所示,机械臂的摄像头可以同时采集到充电插头区域和充电口区域。机械臂可以包括基台(或者称之为基座)以及机械臂主体,机械臂主体可以称之为手臂。手臂可以包括多个关节,关节之间依次连接,且相互之间具备旋转自由度。在机械臂主体的末端(远离基座的一端)上,可以安装有摄像头、力传感器以及充电插口(例如可以顺序安装)。
参照图8,图8为本申请实施例提供的一种对接控制方法的流程示意,其中,所述方法可以应用于充电插头和充电口之间的对接任务;所述方法包括:
801、获取目标图像,所述目标图像为对所述对接任务所在的场景所采集的图像,所述目标图像包括所述对接头的图像区域和所述对接口的图像区域。
本申请实施例以对接头为充点插头、对接口为充电口为例进行说明,其他对接装配场景可以参照充点插头和充电口之间的对接场景的说明。
在一种可能的实现中,步骤801的执行主体可以为上述实施例中所介绍的执行设备,例如充电设备或者服务器;在一种可能的实现中,步骤801的执行主体可以为上述实施例中所介绍的训练设备。
在一种可能的实现中,目标图像可以为摄像头对所述对接任务所在的场景所采集的图像。
可选的,摄像头可以部署在充电设备上,在充电设备的控制机构通过控制机械臂的位姿来进行机械臂上充电插头向待充电车辆的充电口的对接任务时,充电设备上的摄像头的图像采集方向可以朝向充电插头以及待充电车辆的充电口,进而,摄像头所采集的目标图像可以包括所述充电插头的图像区域和所述充电口的图像区域。
可选的,摄像头可以和充电设备分离部署,在充电设备的控制机构通过控制机械臂的位姿来进行机械臂上充电插头向待充电车辆的充电口的对接任务时,摄像头的图像采集方向可以朝向充电插头以及待充电车辆的充电口,进而,摄像头所采集的目标图像可以包括所述充电插头的图像区域和所述充电口的图像区域。
在一种可能的实现中,目标图像可以为摄像头朝向所述充电口所在的方向所采集的图像,其中,在充电插头靠近充电口时,从摄像头的视角来看,充电口的一部分区域会被充电插头所遮挡,进而摄像头所采集的目标图像可以包括所述充电口的一部分区域以及充电插头头所在的区域,其中,所述充电口的另一部分被所述充电插头所遮挡。
接下来介绍充电设备从开始执行充电任务到采集目标图像的过程的示意:
在一种可能的实现中,在充电任务的开始阶段,可选的,充电设备可以接收充电指令(例如可以接收到来自服务器发送的充电指令,或者是直接接收到用户的终端设备发送的充电指令),可选的,充电指令可以携带有被充电车的位置、被充电车辆的车型信息、快慢充信息等信息。充电设备可以基于接收到充电指令而开启充电任务的执行,触发开启移动状态。
在一种可能的实现中,充电设备需要移动至被充电车辆充电口附近才能开始机械臂的操作,保证充电口在机械臂可达空间范围内,此部分可以采用导航定位模式或者自动驾驶技术实现。
在一种可能的实现中,充电设备可以兼容快充枪和慢充枪两种充电方式,因此可以具备快换机构,可根据用户任务需求选取充电枪,这里采用磁吸式结构抓取充电枪,保证充电枪和机械臂的可靠对接,然后进行下一步充电操作。
在一种可能的实现中,充电设备选择停靠点之后,移动底盘的任务基本达成,即将进行机械臂的操作,那么需要知道充电座(包括充电口,本实施例为了方便描述,充电座也可以称之为充电口)的大概位置,才能控制机械臂在该区域进行充电口的位置搜索。充电口的大致位置可以根据车型检测,也可以通过充电设备相机对被充电车辆进行车型识别,获取到被充电车辆的视觉信息结合车辆模型信息即可解算出充电口大致位置,将此位置发送给机械臂,机械臂即可在此区域进行下一步流程,即搜索阶段。
在一种可能的实现中,由于移动平台的停靠位置存在位置误差,相机视野,例如视场角(field of view,FOV)也会存在限制。很难保证在机械臂末端的相机范围内保证充电口可见,因此有必要进行充电口的“搜索”策略,进行充电口的初步定位或者为粗定位。可选的,搜索方案可以基于机械臂运动学中的扇形路径规划以及视觉感知中目标检测算法来共同实现。
由于充电车停靠位置存在偏差,并且待充电车辆品牌、型号及停靠位置等的不同,加之机械臂末端camera视角存在限制,因此为了保证充电口可见首先控制机械臂进行指定区域的搜索。可以通过已知充电口的大致位置信息(如车辆停靠位置以及充电口高度、倾角等)生成搜索路径,控制机械臂完成路径跟随。搜索过程中同步进行充电口的目标检测与跟踪。
通过上述针对于充电口的搜索,控制机构可以控制机械臂的位姿,以便将充电口落到相机的视野范围内(可选的,落到摄像头的视野中心区域)。之后,控制机构可以基于视觉伺服的方式控制机械臂的位姿,以便将机械臂主体上的充电插头803引导至所述充电口周围,并基于视觉伺服的方式执行充电插头和充电口之间的对接任务(可选的,除了视觉伺服之外还可以结合力反馈的方式来实现对接任务)。
需要说明的是,本申请实施例中的位姿(position and orientation)可以包括位置和位姿,位置可以由三维坐标系中的三个坐标值表示,位姿可以由绕各坐标轴旋转所规定的状态(例如角度)来表示。
在一种可能的实现中,在视觉伺服的过程中,可以基于摄像头采集的目标图像来确定充电插头和充电口之间的相对位姿,并基于相对位姿来调整充电插头的姿态,进而实现对接任务。
802、根据所述目标图像,通过特征提取网络,得到目标信息,所述目标信息包含所述对接头和所述对接口之间的相对位姿相比于正确对接位姿的偏差。
在现有的实现中,基于视觉伺服的对接控制策略中将摄像头采集的原始图像直接输入到对接控制网络中,通过端到端的方式直接输出充电插头的位姿控制信息,并基于该位姿控制信息来控制充电插头的位姿进而实现对接任务。这需要对接控制网络具备较高的识别精度,例如需要针对于各种场景中的充电插头以及充电口的形状、类型、磨损程度都具备准确的识别能力,且需要保证图像中充电口和充电插头的完整度,这就会造成了如下的问题:
一方面,现有技术当中的对接控制网络的泛化性较差,也就是仅仅能针对于训练时所采用的充电插头已经充电口的形状类型以及磨损程度才具备较好的识别能力,而针对于其他会在训练中采用的充电插头和充电口的形状、类型和磨损程度,识别精度较差;
另一方面,当充电插头已经和充电口之间的距离十分接近时,在这种情况下,摄像头所采集的图像中,充电口区域绝大部分会被充电插头所遮挡,进而基于对接控制网络所输出的位姿控制信息并不能准确的实现对接任务。
本申请实施例中,通过特征提取网络对摄像头采集的原始图像(例如本申请实施例中的目标图像)或者对原始图像进行分割得到的分割图像进行特征提取,以得到能够表达出充电插头和充电头之间相对位姿关系的语义的目标信息,然后将目标信息作为后续用于确定对接控制策略的网络的输入。目标信息作为中间输出,本身就可以表达出较为准确的相对位姿关系,进而基于本申请实施例得到的相对位姿关系进行的对接控制相比现有技术中的更加准确。
在一种可能的实现中,在获取到目标图像之后,可以通过图像分割,识别出所述目标图像中所述充电插头所在的第一区域以及所述充电口所在的第二区域,以得到分割图像,进而可以根据所述分割图像,通过特征提取,得到目标信息。
其中,图像分割可以将目标图像中充电口所在的区域以及充电插头所在的区域识别出来,由于对接任务的对象是充电插头和充电口,具体就是将充电插头和充电口调整到正确的对接位姿。通过图像分割,将充电口所在的区域以及充电插头所在的区域识别出来,然后将图像分割的结果作为特征提取网络的输入,可以让特征提取网络获取的数据不包括除了充电插头以及充电口之外的其他信息,进而可以更准确的识别出来充电插头和充电口之间的位姿关系。
在一种可能的实现中,上述图像分割操作可以基于图像分割网络实现,接下来从网络结构以及训练过程对本申请实施例中的图像分割网络进行介绍。
1、关于图像分割网络的网络结构:
在一种可能的实现中,图像分割网络可以为基于U-net实现的分割网络。
在一种可能的实现中,图像分割网络可以包括主干网络以及头端Header,主干网络用于接收输入的目标图像,并对输入的目标图像进行卷积处理,输出对应所述图像的具有不同分辨率的特征图(特征图C1、特征图C2、特征图C3、特征图C4);也就是说输出对应所述图像的不同大小的特征图,主干网络完成基础特征的提取,为后续的检测提供相应的特征。
具体的,主干网络可以对输入的图像进行一系列的卷积处理,得到在不同的尺度(具有不同分辨率)下的特征图(feature map)。这些特征图将为后续的检测模块提供基础特征。主干网络可以采用多种形式,比如视觉几何组(visual geometry group,VGG)、残差神经网络(residual neural network,resnet)、GoogLeNet的核心结构(Inception-net)等。
主干网络可以对输入的图像进行卷积处理,生成若干不同尺度的卷积特征图,每张特征图是一个H*W*C的矩阵,其中H是特征图的高度,W是特征图的宽度、C是特征图的通道数。backbone可以采用目前多种现有的卷积网络框架,比如VGG16、Resnet50、Inception-Net等,下面以Resnet18为Backbone为例进行说明。
假设输入的图像的分辨率为H*W*3(高度H,宽度W,通道数为3,也就是RBG三个通道)。输入图像可以经过Resnet18的一个卷积层Res18-Conv1进行卷积操作,生成Featuremap(特征图)C1,这个特征图相对于输入图像进行了2次下采样,并且通道数扩充为64,因此C1的分辨率是H/4*W/4*64。C1可以经过Resnet18的Res18-Conv2进行卷积操作,得到Featuremap C2,这个特征图的分辨率与C1一致;C2继续经过Res18-Conv3进行卷积操作,生成Featuremap C3,这个特征图相对C2进一步下采样,通道数增倍,其分辨率为H/8*W/8*128;最后C3经过Res18-Conv4进行卷积操作,生成Featuremap C4,其分辨率为H/16*W/16*256。
需要说明的是,本申请实施例中的主干网络也可以称为骨干网络,这里并不限定。
示例性的,图像分割网络还可以包括一个或多个head(或者称之为Header),每个头端head,用于根据主干网络输出的特征图,对一个任务中的目标物体(例如本实施例中的充电插头以及充电口)进行检测,分别输出充电插头以及充电口所在区域的检测框以及检测框对应的置信度;其中,图像分割网络中的每个head可以完成不同的任务物体的检测;其中,所述目标物体为该任务中需要检测的物体;置信度越高,表示所述对应该置信度的检测框内存在目标物体的概率越大,或者描述为置信度用于指示所述检测框的定位准确度,当定位准确度越高,则检测框内存在目标物体的概率越大。
在一种可能的实现中,不同的head可以完成不同的对象检测任务。
比如多个head中的一个head可以完成充电插头的检测,输出充电插头的检测框和置信度;多个head中的一个head可以完成充电口的检测,输出充电口的检测框和置信度。
本申请实施例中,用于进行目标检测的网络可以包括多个串行head;所述串行head与一个并行head连接;这里需要强调的是,实际上,串行head并不是必须的,对于只需要检测检测框的场景,就不需要包括串行head。串行的head可以根据检测框所在的区域,进行图像分割。其中,所述串行head可以用于:利用其连接的并行head提供的所属任务的任务物体的检测框,在特征图上提取所述检测框所在区域的特征,根据所述检测框所在区域的特征对所属任务的任务物体的Mask信息(或者称之为分割图)进行预测。串行head可在检测出该任务的检测框的基础上,完成检测框内部物体的Mask检测。比如,串行Mask_head0预测充电插头以及充电口的精细掩膜,从而把充电插头以及充电口分割开来。
在一种可能的实现中header可以根据FPN提供的特征图,完成一个任务的检测框的检测,输出这个任务的物体的检测框以及对应的置信度等等,接下来描述一种header的结构示意,head可以包括候选区域生成网络(region proposal network,RPN)、ROI-ALIGN和RCNN三个模块。
其中,RPN模块可以用于在特征图上预测所述任务物体所在的区域,并输出匹配所述区域的候选检测框;或者可以这样理解,RPN在特征图上预测出可能存在该任务物体的区域,并且给出这些区域的框,这些区域称为候选区域(Proposal)。比如,当head负责检测充电插头以及充电口时,其RPN层就预测出可能存在充电插头以及充电口的候选框。当然,这些Proposal是不准确的,一方面其不一定含有该任务的物体,另一方面这些框也是不紧致的。
检测候选区域预测流程可以由head的RPN模块实施,其根据FPN提供的特征图,预测出可能存在该任务物体的区域,并且给出这些区域的候选框(也可以叫候选区域,Proposal)。在本实施例中,若head负责检测充电插头以及充电口,其RPN层就预测出可能存在充电插头以及充电口的候选框。
RPN层可以在特征图上通过例如一个3*3的卷积生成特征图RPN Hidden。后面head的RPN层将会从RPN Hidden中预测Proposal。具体来说,head的RPN层分别通过一个1*1的卷积预测出RPN Hidden每个位置处的Proposal的坐标以及置信度。这个置信度越高,表示这个Proposal存在该任务的物体的概率越大。比如,在head中某个Proposal的score越大,就表示其存在充电插头或者充电口的概率越大。每个RPN层预测出来的Proposal需要经过Proposal合并模块,根据Proposal之间的重合程度去掉多余的Proposal(这个过程可以采用但不限制于NMS算法),在剩余的K个Proposal中挑选出score最大的N(N<K)个Proposal作为候选的可能存在物体的区域。这些Proposal是不准确的,一方面其不一定含有该任务的物体,另一方面这些框也是不紧致的。因此,RPN模块只是一个粗检测的过程,需要后续的RCNN模块进行细分。在RPN模块回归Proposal的坐标时,并不是直接回归坐标的绝对值,而是回归出相对于Anchor的坐标。当这些Anchor与实际的物体匹配越高,RPN能检测出物体的概率越大。
ROI-ALIGN模块用于根据所述RPN模块预测得到的区域,从所述FPN提供的一个特征图中扣取出所述候选检测框所在区域的特征;也就是说,ROI-ALIGN模块主要根据RPN模块提供的Proposal,在某个特征图上把每个Proposal所在的区域的特征扣取出来,并且resize到固定的大小,得到每个Proposal的特征。可以理解的是,ROI-ALIGN模块可以使用但不局限于ROI-POOLING(感兴趣区域池化)/ROI-ALIGN(感兴趣区域提取)/PS-ROIPOOLING(位置敏感的感兴趣区域池化)/PS-ROIALIGN(位置敏感的感兴趣区域提取)等特征抽取方法。
RCNN模块用于通过神经网络对所述候选检测框所在区域的特征进行卷积处理,得到所述候选检测框属于各个物体类别的置信度;通过神经网络对所述候选区域检测框的坐标进行调整,使得调整后的检测候选框比所述候选检测框与实际物体的形状更加匹配,并选择置信度大于预设阈值的调整后的检测候选框作为所述区域的检测框。也就是说,RCNN模块主要是对ROI-ALIGN模块提出的每个Proposal的特征进行细化处理,得到每个Proposal的属于各个类别置信度,同时对Proposal的检测框的坐标进行调整,输出更加紧致的检测框。这些检测框经过非极大值抑制(non maximum suppression,NMS)合并后,作为最后的检测框输出。
检测候选区域细分类主要由head的RCNN模块实施,其根据ROI-ALIGN模块提取出来的每个Proposal的特征,进一步回归出更加紧致的检测框坐标,同时对这个Proposal进行分类,输出其属于各个类别的置信度。RCNN的可实现形式很多,ROI-ALIGN模块输出的特征大小可以为N*14*14*256(Feature of proposals),其在RCNN模块中首先经过Resnet18的卷积模块4(Res18-Conv5)处理,输出的特征大小为N*7*7*512,然后通过一个Global AvgPool(平均池化层)进行处理,把输入特征中每个通道内的7*7的特征进行平均,得到N*512的特征,其中每个1*512维的特征向量代表每个Proposal的特征。接下来通过2个全连接层FC分别回归框的精确坐标(输出N*4的向量,这4个数值分表表示框的中心点x/y坐标,框的宽高),框的类别的置信度。最后通过框合并操作,选择分数最大的若干个框,并且通过NMS操作去除重复的框,从而得到紧致的框输出。
在一种可能的实现中,执行步骤802中图像分割步骤所采用的图像分割网络可以为基于精度满足预设条件的图像分割网络实现的,即图像分割网络为已经通过模型训练得到的满足精度要求的网络。也就是说,步骤802中图像分割步骤的执行主体可以为上述实施例中所介绍的执行设备,例如充电设备或者服务器。
在一种可能的实现中,执行步骤802中图像分割步骤所采用的图像分割网络可以为待训练的图像分割网络实现的,即图像分割网络为还未进行模型训练,或者是经过了模型训练但是精度还未收敛的网络。也就是说,步骤802中图像分割步骤的执行主体可以为上述实施例中所介绍的训练设备。接下来介绍图像分割网络的训练过程:
2、关于图像分割网络的训练过程:
在一种可能的实现中,可以通过图像分割,识别出所述目标图像中所述充电插头所在的第一区域以及所述充电口所在的第二区域,以得到分割图像。由于图像分割网络为待训练的图像分割网络,因此分割图像的分割准确度较差,为了构建训练样本,需要获取到针对于目标图像的准确分割图像(本申请实施例也可以称之为准确分割结果)。
在一种可能的实现中,为了得到针对于目标图像的准确分割图像,可以根据充电插头(以及其所在的机械臂)、充电口来构建仿真环境,该仿真环境包括预先构建的虚拟三维模型,所述虚拟三维模型可以还原出所述充电口和所述充电插头在物理空间中的结构以及相对位姿。示例性的,可以参照图9,图9中的左图为实物环境、图9中的右图为仿真环境,具体可以包括机械臂、相机、腕关节力传感器、插轴(也就是充电插头)和插孔(也就是充电口);其中机械臂可以固定在全局坐标系的原点,相机既可以固定在机械臂上(eye inhand),也可以固定在机械臂外(eye to hand),通过手眼标定算法获取相机和机械臂底座的相对位姿;插轴通过中间件固定在机械臂末端法兰,并定义插轴作为机械臂末端,插孔固定在全局坐标系下。
在一种可能的实现中,仿真环境中预先构建的虚拟三维模型可以还原出真实环境中充电口和所述充电插头在物理空间中的结构以及相对位姿。在虚拟环境中,由于充电口和充电插头是预先构建的模型,因此,在仿真环境中的一个视点和视角观察充电口和充电插头时,可以直接获取到充电口和充电插头在仿真环境中的准确区域。且,仿真环境中预先构建的虚拟三维模型可以还原出真实环境中充电口和所述充电插头在物理空间中的结构,因此,在仿真环境和实物环境中的充电口和所述充电插头如果处于相同的相对位姿时,则在仿真环境和实物环境中的同一个视点和视角对充电口和充电插头采集的图像中充电口和充电插头所在的图像区域是一致的(在图像大小相同的情况下),也就是可以从仿真环境中,获取到真实环境中对充电口和所述充电插头所采集的图像中充电插头和充电口所在的区域。
在一种可能的实现中,可以在实物环境中,通过控制机械臂的位姿使得充电插头和所述充电口控制在处于目标相对位姿,而目标图像为将所述充电插头和所述充电口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;在仿真环境,可以将充电口和所述充电插头之间的相对位姿设置为目标相对位姿。具体的,可以获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述充电口和所述充电插头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述充电口和所述充电插头之间的相对位姿为所述目标相对位姿。
为了保证在仿真环境中能够知晓目标图像中充电插头以及充电口所在的准确区域,可以在仿真环境按照和实物环境中的同一个视点和视角对充电口和充电插头进行观察。具体的,可以基于目标视点以及目标视角,获取所述虚拟三维模型中所述充电插头所在的第三区域,以及所述充电口所在的第四区域;所述目标视角与图像采集设备在采集所述目标图像时的视点和视角一致;所述第三区域和所述第四区域用于作为对所述目标图像进行所述图像分割时的准确分割结果。
示例性的,可以利用示教,得到实物环境中充电口在全局坐标系下的位姿;随机生成机械臂末端(也就是充电插头)相对插孔的位姿(例如上述实施例中的目标相对位姿),控制机械臂末端运动到指定位置,根据目标相对位姿,利用虚拟三维模型进行实时渲染,得到实物中充电插头以及充电口的准确分割图像,且从实物环境中获取当前时刻相机所的图像(例如上述实施例中的目标图像);
重复执行步骤,直到采集到一定数量(例如M=500)张图像及对应的分割图像,采集的数据用于训练图像分割网络。
通过上述方式,可以获取到用于训练图像分割网络的训练样本(所述第三区域和所述第一区域,以及所述第四区域和所述第二区域),进而,训练设备可以基于所述第三区域和所述第一区域,以及所述第四区域和所述第二区域,对所述图像分割网络进行更新。
示例性的,参照图10a,可以将目标图像输入至图像分割网络中,分割得到轴孔分割图像(如图10b所示)、插轴分割图像(如图10c所示),插孔分割图像(如图10d所示)。示例性的,轴孔分割图像大小可以为250×200,包括目标图像中完整的充电插头以及充电口区域,其余部分为0;插轴分割图像大小可以为250×200,包括目标始图像中完整的充电插头区域,其余部分为0;插孔分割图像大小可以为250×200,包括目标图像中完整的充电口区域,其余部分为0。
本申请实施例中,可以通过特征提取网络对摄像头采集的原始图像(例如本申请实施例中的目标图像)或者对原始图像进行分割得到的分割图像进行特征提取,以得到能够表达出充电插头和充电头之间相对位姿关系的语义的目标信息。
接下来介绍本申请实施例中的特征提取网络:
在一种可能的实现中,特征提取网络可以基于目标图像或者对图像目标进行分割后得到的分割图像识别出所述充电插头和所述充电口之间的相对位姿相比于正确对接位姿的偏差。其中,偏差可以包括位置偏差(例如本申请实施例中的第一偏差)以及角度偏差(例如本申请实施例中的第二偏差)。
其中,第一偏差可以为:充电插头和所述充电口之间的相对位置相比于所述目标相对位置的偏差,目标相对位置为所述充电插头和所述充电口处于正确对接位姿时的相对位置。例如,若充电插头和所述充电口处于正确对接位姿时中心轴是重合的,可选的,第一偏差可以为充电插头的中心轴和所述充电口中心轴之间的位置偏差(例如错开的距离)。
其中,第二偏差可以为:充电插头和所述充电口之间的相对角度相比于所述目标相对角度的偏差,目标相对角度为所述充电插头和所述充电口处于正确对接位姿时的相对角度。例如,充电插头可以包括多个子插头,充电口可以包括多个子孔,多个子插头和多个子孔之间一一匹配,若充电插头和所述充电口处于正确对接位姿时充电插头的各个子插头在位置上和对应的子孔是对齐的。
在一种可能的实现中,所述特征提取网络可以包括第一特征提取网络;其中,所述目标信息可以包括通过所述第一特征提取网络得到的第一信息,所述正确对接位姿包括所述充电插头和所述充电口在正确对接时所处的目标相对位置,所述第一信息包含所述充电插头和所述充电口之间的相对位置相比于所述目标相对位置的第一偏差。
在一种可能的实现中,第一特征提取网络可以称之为位置特征提取网络。
在一种可能的实现中,第一信息可以为热力图的形式,例如第一特征提取网络可以为其中为网络参数,输出的第一信息可以为位置特征3维热力图Φ∈Rc×n×n,其中c表示热力图通道数,n×n表示热力图分辨率。例如图11右上中最亮的点在像素坐标系下x,y方向上相对图像中心的位置偏移,该热力图可以代表图像坐标系下充电插头相对于充电口的位置偏移。
在一种可能的实现中,执行步骤802中特征提取步骤所采用的第一特征提取网络可以为基于精度满足预设条件的第一特征提取网络实现的,即第一特征提取网络为已经通过模型训练得到的满足精度要求的网络。也就是说,步骤802中特征提取步骤的执行主体可以为上述实施例中所介绍的执行设备,例如充电设备或者服务器。
在一种可能的实现中,执行步骤802中特征提取所采用的第一特征提取网络可以为待训练的第一特征提取网络实现的,即第一特征提取网络为还未进行模型训练,或者是经过了模型训练但是精度还未收敛的网络。也就是说,步骤802中特征提取步骤的执行主体可以为上述实施例中所介绍的训练设备。接下来介绍第一特征提取网络的训练过程:
在一种可能的实现中,可以通过所述第一特征提取网络得到的第一信息,所述正确对接位姿包括所述充电插头和所述充电口在正确对接时所处的目标相对位置,所述第一信息包含所述充电插头和所述充电口之间的相对位置相比于所述目标相对位置的第一偏差。由于第一特征提取网络为待训练的特征提取网络,因此第一偏差的精准度较差,为了构建训练样本,需要获取到目标图像中充电插头和所述充电口之间的准确位置偏差。
在一种可能的实现中,为了得到目标图像中充电插头和所述充电口之间的准确位置偏差,可以根据充电插头(以及其所在的机械臂)、充电口来构建仿真环境,该仿真环境包括预先构建的虚拟三维模型,所述虚拟三维模型可以还原出所述充电口和所述充电插头在物理空间中的结构以及相对位姿。
在一种可能的实现中,仿真环境中预先构建的虚拟三维模型可以还原出真实环境中充电口和所述充电插头在物理空间中的结构以及相对位姿。在虚拟环境中,由于充电口和充电插头是预先构建的模型,因此可以直接获取到充电插头和所述充电口之间的准确位置偏差。且,仿真环境中预先构建的虚拟三维模型可以还原出真实环境中充电口和所述充电插头在物理空间中的结构,因此,在仿真环境和实物环境中的充电口和所述充电插头如果处于相同的相对位姿时,则在仿真环境和实物环境中充电插头和所述充电口之间准确位置偏差是一致的。也就是可以从仿真环境中,获取到真实环境中对充电插头和所述充电口之间的准确位置偏差。
在一种可能的实现中,可以在实物环境中,通过控制机械臂的位姿使得充电插头和所述充电口控制在处于目标相对位姿,而目标图像为将所述充电插头和所述充电口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;在仿真环境,可以将充电口和所述充电插头之间的相对位姿设置为目标相对位姿。具体的,可以获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述充电口和所述充电插头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述充电口和所述充电插头之间的相对位姿为所述目标相对位姿。并根据所述虚拟三维模型,确定所述虚拟三维模型中的所述充电插头和所述充电口之间的相对位置相比于所述目标相对位置的准确位置偏差。
通过上述方式,可以获取到用于训练第一特征提取网络的训练样本(第一偏差和准确位置偏差),进而,训练设备可以基于所述准确位置偏差和所述第一偏差,对所述第一特征提取网络进行更新。
在一种可能的实现中,在对第一特征提取网络进行更新时,损失可以与充电插头和充电口的中心点(或者中心轴)之间的偏差有关,进而,针对于不同类型、形状以及磨损程度的充电插头和充电口,训练得到的第一特征提取网络的位置偏差识别精度都较高。进而可以使得后续进行的对接控制也更准确。
此外,通过本申请实施例中的虚拟三维模型结合机械臂运动实现半自动的数据标注,可以节约人力提高效率,降低部署难度。
示例性的,可以定义第一特征提取网络的损失函数如下:
其中dx*,dy*是从仿真环境中获取的在热力图(例如图11右上中最亮的点在像素坐标系下x,y方向上相对图像中心的位置偏移,该热力图代表图像坐标系下充电插头相对于充电口的位置偏移。
在一种可能的实现中,所述特征提取网络可以包括第二特征提取网络;其中,所述目标信息包括通过所述第二特征提取网络得到的第二信息;所述正确对接位姿包括所述充电插头和所述充电口在正确对接时所处的目标相对角度,所述第二信息包含所述充电插头和所述充电口之间的相对角度相比于所述目标相对角度的第二偏差。
在一种可能的实现中,第二特征提取网络可以称之为角度特征提取网络。
在一种可能的实现中,第二信息可以为热力图的形式,例如第二特征提取网络可以为U-Net fψ,其中ψ为网络参数,其输入可以为从轴孔分割图片(例如图11右下所示的)中提取的插轴分割图像Ip(例如图12所示的),旋转的插孔分割图像Is,包括正样本(例如图13所示的))和负样本(例如图14所示的),输出的第二信息可以为一维角度特征热力图其中i表示一维特征的第i个元素,up=fψ(Ip),d表示两张热力图的欧式距离。
在一种可能的实现中,执行步骤802中特征提取步骤所采用的第二特征提取网络可以为基于精度满足预设条件的第二特征提取网络实现的,即第二特征提取网络为已经通过模型训练得到的满足精度要求的网络。也就是说,步骤802中特征提取步骤的执行主体可以为上述实施例中所介绍的执行设备,例如充电设备或者服务器。
在一种可能的实现中,执行步骤802中特征提取所采用的第二特征提取网络可以为待训练的第二特征提取网络实现的,即第二特征提取网络为还未进行模型训练,或者是经过了模型训练但是精度还未收敛的网络。也就是说,步骤802中特征提取步骤的执行主体可以为上述实施例中所介绍的训练设备。接下来介绍第二特征提取网络的训练过程:
在一种可能的实现中,可以通过所述第二特征提取网络得到第二信息;所述正确对接位姿包括所述充电插头和所述充电口在正确对接时所处的目标相对角度,所述第二信息包含所述充电插头和所述充电口之间的相对角度相比于所述目标相对角度的第二偏差。由于第二特征提取网络为待训练的特征提取网络,因此第二偏差的精准度较差,为了构建训练样本,需要获取到目标图像中充电插头和所述充电口之间的准确角度偏差。
在一种可能的实现中,为了得到目标图像中充电插头和所述充电口之间的准确角度偏差,可以根据充电插头(以及其所在的机械臂)、充电口来构建仿真环境,该仿真环境包括预先构建的虚拟三维模型,所述虚拟三维模型可以还原出所述充电口和所述充电插头在物理空间中的结构以及相对位姿。
在一种可能的实现中,仿真环境中预先构建的虚拟三维模型可以还原出真实环境中充电口和所述充电插头在物理空间中的结构以及相对位姿。在虚拟环境中,由于充电口和充电插头是预先构建的模型,因此可以直接获取到充电插头和所述充电口之间的准确角度偏差。且,仿真环境中预先构建的虚拟三维模型可以还原出真实环境中充电口和所述充电插头在物理空间中的结构,因此,在仿真环境和实物环境中的充电口和所述充电插头如果处于相同的相对位姿时,则在仿真环境和实物环境中充电插头和所述充电口之间准确角度偏差是一致的。也就是可以从仿真环境中,获取到真实环境中对充电插头和所述充电口之间的准确角度偏差。
在一种可能的实现中,可以在实物环境中,通过控制机械臂的位姿使得充电插头和所述充电口控制在处于目标相对位姿,而目标图像为将所述充电插头和所述充电口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;在仿真环境,可以将充电口和所述充电插头之间的相对位姿设置为目标相对位姿。具体的,可以获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述充电口和所述充电插头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述充电口和所述充电插头之间的相对位姿为所述目标相对位姿。并根据所述虚拟三维模型,确定所述虚拟三维模型中的所述充电插头和所述充电口之间的相对角度相比于所述目标相对角度的准确角度偏差。
通过上述方式,可以获取到用于训练第二特征提取网络的训练样本(第二偏差和准确角度偏差),进而,训练设备可以基于所述准确角度偏差和所述第二偏差,对所述第二特征提取网络进行更新。
在一种可能的实现中,在对第一特征提取网络进行更新时,损失可以与充电插头和充电口的边缘之间的错开角度有关(例如图10a中所示的,当充电插头和充电口的对应边缘处于平行状态时,可以认为角度是对齐的),进而,针对于不同类型、形状以及磨损程度的充电插头和充电口,训练得到的第而特征提取网络的角度偏差识别精度都较高。进而可以使得后续进行的对接控制也更准确。
示例性的,可以定义第二特征提取网络的损失函数如下:
lossψ=max{Dn-Dp+1,0};
其中,该损失函数可以使得角度匹配(附图12和附图13)的插轴和插孔特征图在欧式空间的距离尽可能小,而角度不匹配(附图12和附图14)的插轴和插孔特征图在欧式空间的距离尽可能大。
803、根据所述目标信息,确定所述对接头的姿态变化信息,所述姿态变化信息用于调整所述对接头的位姿,以执行所述对接任务。
在一种可能的实现中,所述根据所述目标信息,确定所述充电插头的姿态变化信息,具体可以包括:根据所述目标信息,通过全连接网络,确定所述充电插头的姿态变化信息。使用全连接层作为策略网络,其输入定义为s=[f(Φ),f(D)],策略网络有两个分支,其中一个分支作为强化学习的执行器,输出仿真环境需要执行的下一个动作,a=[dx,dy,dθ]=f(s),另一个分支作为强化学习的评估器,输出价值函数,v=f(s)。其中f代表策略网络的全连接层,dx,dy,dθ代表机械臂末端相对当前位置的水平位移和绕z轴旋转的角度。
此外,在实现对接任务时,还可以结合力反馈的方式。
接下来介绍本申请实施例中的力传感器的示意。
在一种可能的实现中,所述机械臂主体上设置有力传感器,所述力传感器用于采集所述充电插头和所述充电口之间接触面的作用力信息,所述接触面包括所述多个充电头中至少一个充电头的侧面,所述侧面为和所述充电头的轴向方向平行的表面。
在一种可能的实现中,所述作用力信息包括所述充电头的径向方向的力。例如作用力信息可以包括6维的作用力信息。
在一种可能的实现中,所述作用力信息包括所述充电口对所述充电插头的力矩信息。
其中,作用力信息可以指示充电口对所述充电插头的6维力,6维力可以包括在三维空间内(例如沿着x轴、y轴、z轴方向)的力以及在三维空间内(例如绕着x轴、y轴、z轴旋转)的力矩。由于其中包括了力矩信息,则可以更精准更细粒度的识别出充电口对于充电头的阻碍方向,进而提供更精准的力控来将充电头准确插入充电孔。
在一种可能的实现中,力传感器可以具有一个或多个力检测单元、A-D转换电路和信号处理电路。力检测单元各自包含力检测元件和放大力检测元件的输出信号的放大电路。放大电路将放大后的信号Va向A-D转换电路供给。A-D转换电路将数字转换后的信号Vd向信号处理电路供给。力检测单元的个数根据由力传感器检测的检测轴的数量以及关于各检测轴的力的种类设定。例如,力传感器在检测与互相正交的三个检测轴平行的力的大小和绕三个检测轴的力矩的大小时,使用十二个力检测单元。
在一种可能的实现中,作为力检测元件,例如可以使用压电式、应变片式或光学式等各种元件。
在一种可能的实现中,放大电路构成为作为将从力检测元件输出的电荷积分并转换成电压信号Va的积分电路。具体地,放大电路具有运算放大器、电容器和开关元件。运算放大器的负极输入端子与力检测元件的电极连接,运算放大器的正极输入端子与地(基准电位点)接地。而且,运算放大器的输出端子与A-D转换电路连接。电容器连接在运算放大器的负极输入端子与输出端子之间。开关元件与电容器并列连接。开关元件根据从信号处理电路供给的接通/断开信号执行切换操作。
在一种可能的实现中,开关元件是断开时,从力检测元件输出的电荷在电容器中存储,其电压Va向A-D转换电路输出。另一方面,开关元件成为接通时,电容器的两端子间短路。其结果是电容器中存储的电荷被放电并成为零,向A-D转换电路输出的电压Va成为0伏特。将开关元件接通的操作相当于力传感器的重置。
在一种可能的实现中,力转换部可以将多个力检测单元的输出转换为表示关于多个检测轴的力的F信号(i)并输出。需要说明的是,也将力信号F(i)简单地称为“力F(i)”。可选的,这些力F(i)包含与互相正交的三个检测轴平行的力Fx、Fy、Fz和绕三个检测轴的力矩Tx、Ty、Tz。力F(i)此外也包含将与三个检测轴平行的力Fx、Fy、Fz作为三个轴方向成分的力向量的大小Fmag和将绕三个检测轴的力矩Tx、Ty、Tz作为三个轴方向成分的力矩向量的大小Tmag。力向量的大小Fmag是三个力Fx、Fy、Fz的二次方和的平方根,力矩向量的大小Tmag是三个力矩Tx、Ty、Tz的二次方和的平方根。
在一种可能的实现中,在充电插头接触到充电口之后,控制机构可以获取到力传感器采集的作用力信息,该作用力信息可以指示充电口对充电插头的作用力(或者力矩),并根据所述作用力信息,控制所述机械臂主体的位姿,以便将所述充电插头插入至所述充电口。
示例性的,可以参照图15,图15为本申请的一个对接控制方法的实现流程。
本申请提供了一种对接控制方法,所述方法应用于充电插头和充电口之间的对接任务;所述方法包括:获取目标图像,所述目标图像为对所述对接任务所在的场景所采集的图像,所述目标图像包括所述充电插头的图像区域和所述充电口的图像区域;根据所述目标图像,通过特征提取网络,得到目标信息,所述目标信息包含所述充电插头和所述充电口之间的相对位姿相比于正确对接位姿的偏差;以及,根据所述目标信息,确定所述充电插头的姿态变化信息,所述姿态变化信息用于调整所述充电插头的位姿,以执行所述对接任务。本申请通过特征提取网络对摄像头采集的原始图像(例如本申请实施例中的目标图像)或者对原始图像进行分割得到的分割图像进行特征提取,以得到能够表达出充电插头和充电头之间相对位姿关系的语义的目标信息,然后将目标信息作为后续用于确定对接控制策略的网络的输入。目标信息作为中间输出,本身就可以表达出较为准确的相对位姿关系,进而基于本申请实施例得到的相对位姿关系进行的对接控制相比现有技术中的更加准确。
参照图16,图16为本申请实施例提供的一种对接控制装置的结构示意,如图16所示,所述装置1600可以应用于对接头和对接口之间的对接任务;所述装置包括:
获取模块1601,用于获取目标图像,所述目标图像为对所述对接任务所在的场景所采集的图像,所述目标图像包括所述对接头的图像区域和所述对接口的图像区域;
其中,关于获取模块1601的具体描述可以参照上述实施例中步骤801的描述,这里不再赘述。
特征提取模块1602,用于根据所述目标图像,通过特征提取网络,得到目标信息,所述目标信息包含所述对接头和所述对接口之间的相对位姿相比于正确对接位姿的偏差;以及,
其中,关于特征提取模块1602的具体描述可以参照上述实施例中步骤802的描述,这里不再赘述。
对接控制模块1603,可以根据所述目标信息,确定所述对接头的姿态变化信息,所述姿态变化信息用于调整所述对接头的位姿,以执行所述对接任务。
其中,关于对接控制模块1603的具体描述可以参照上述实施例中步骤803的描述,这里不再赘述。
在一种可能的实现中,所述装置还包括:
图像分割模块,用于通过图像分割,识别出所述目标图像中所述对接头所在的第一区域以及所述对接口所在的第二区域,以得到分割图像;
所述特征提取模块,具体用于:
根据所述分割图像,通过特征提取,得到目标信息。
在一种可能的实现中,所述目标图像为对所述对接任务所在的场景中朝向所述对接口所在的方向所采集的图像。
在一种可能的实现中,所述目标图像包括所述对接口的一部分区域,所述对接口的另一部分被所述对接头所遮挡。
在一种可能的实现中,所述特征提取网络包括第一特征提取网络;
所述目标信息包括通过所述第一特征提取网络得到的第一信息,所述正确对接位姿包括所述对接头和所述对接口在正确对接时所处的目标相对位置,所述第一信息包含所述对接头和所述对接口之间的相对位置相比于所述目标相对位置的第一偏差。
在一种可能的实现中,所述第一特征提取网络为精度满足预设条件的网络;或者,
所述第一特征提取网络为待训练的网络;所述目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;
所述装置还包括:
样本构建模块,用于获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿;
模型训练模块,用于根据所述虚拟三维模型,确定所述虚拟三维模型中的所述对接头和所述对接口之间的相对位置相比于所述目标相对位置的准确位置偏差;
基于所述准确位置偏差和所述第一偏差,对所述第一特征提取网络进行更新。
在一种可能的实现中,所述特征提取网络包括第二特征提取网络;
所述目标信息包括通过所述第二特征提取网络得到的第二信息;所述正确对接位姿包括所述对接头和所述对接口在正确对接时所处的目标相对角度,所述第二信息包含所述对接头和所述对接口之间的相对角度相比于所述目标相对角度的第二偏差。
在一种可能的实现中,所述第二特征提取网络为精度满足预设条件的网络;或者,
所述第二特征提取网络为待训练的网络;所述目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;
所述装置还包括:
样本构建模块,用于获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿;
模型训练模块,用于根据所述虚拟三维模型,确定所述虚拟三维模型中的所述对接头和所述对接口之间的相对角度相比于所述目标相对角度的准确角度偏差;
基于所述准确角度偏差和所述第二偏差,对所述第二特征提取网络进行更新。
在一种可能的实现中,所述根据所述目标信息,确定所述对接头的姿态变化信息,包括:
根据所述目标信息,通过全连接网络,确定所述对接头的姿态变化信息。
在一种可能的实现中,所述图像分割为基于精度满足预设条件的图像分割网络实现的;或者,
所述图像分割为基于待训练的图像分割网络实现的;所述目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;
所述装置还包括:
样本构建模块,用于获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿;
模型训练模块,用于基于目标视点以及目标视角,获取所述虚拟三维模型中所述对接头所在的第三区域,以及所述对接口所在的第四区域;所述目标视角与图像采集设备在采集所述目标图像时的视点和视角一致;所述第三区域和所述第四区域用于作为对所述目标图像进行所述图像分割时的准确分割结果;
基于所述第三区域和所述第一区域,以及所述第四区域和所述第二区域,对所述图像分割网络进行更新。
接下来介绍本申请实施例提供的一种对接控制装置,请参阅图17,图17为本申请实施例提供的对接控制装置的一种结构示意图。具体的,对接控制装置1700包括:接收器1701、发射器1702、处理器1703和存储器1704(其中控制机械臂充电的装置1700中的处理器1703的数量可以一个或多个,图17中以一个处理器为例),其中,处理器1703可以包括应用处理器17031和通信处理器17032。在本申请的一些实施例中,接收器1701、发射器1702、处理器1703和存储器1704可通过总线或其它方式连接。
存储器1704可以包括只读存储器和随机存取存储器,并向处理器1703提供指令和数据。存储器1704的一部分还可以包括非易失性随机存取存储器(non-volatile randomaccess memory,NVRAM)。存储器1704存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器1703控制雷达系统(包括天线、接收器1701以及发射器1702)的操作。具体的应用中,雷达系统的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的对接控制方法(图8所示的)可以应用于处理器1703中,或者由处理器1703实现。处理器1703可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1703中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1703可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1703可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1704,处理器1703读取存储器1704中的信息,结合其硬件完成上述实施例提供的对接控制方法的步骤。
接收器1701可用于接收输入的数字或字符信息,以及产生与雷达系统的相关设置以及功能控制有关的信号输入。发射器1702可用于通过第一接口输出数字或字符信息;发射器1702还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据。
本申请实施例中还提供一种包括计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中描述的对接控制方法。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有用于进行信号处理的程序,当其在计算机上运行时,使得计算机执行如上述实施例中描述的对接控制方法。
本申请实施例提供的对接控制装置具体可以为芯片,芯片包括:处理单元和通信单元,该处理单元例如可以是处理器,该通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行存储单元存储的计算机执行指令,以使执行设备内的芯片执行上述实施例描述的图像增强方法,或者,以使训练设备内的芯片执行上述实施例描述的图像增强方法。可选地,该存储单元为该芯片内的存储单元,如寄存器、缓存等,该存储单元还可以是该无线接入设备端内的位于该芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccess memory,RAM)等。
具体的,请参阅图18,图18为本申请实施例提供的芯片的一种结构示意图,该芯片可以表现为神经网络处理器NPU180,NPU 180作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路1803,通过控制器1804控制运算电路1803提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路1803内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路1803是二维脉动阵列。运算电路1803还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路1803是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1802中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1801中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)1808中。
统一存储器1806用于存放输入数据以及输出数据。权重数据直接通过存储单元访问控制器(direct memory access controller,DMAC)1805,DMAC被搬运到权重存储器1802中。输入数据也通过DMAC被搬运到统一存储器1806中。
BIU为Bus Interface Unit即,总线接口单元1810,用于AXI总线与DMAC和取指存储器(Instruction Fetch Buffer,IFB)1809的交互。
总线接口单元1810(Bus Interface Unit,简称BIU),用于取指存储器1809从外部存储器获取指令,还用于存储单元访问控制器1805从外部存储器获取输入矩阵A或者权重矩阵B的原数据。
DMAC主要用于将外部存储器DDR中的输入数据搬运到统一存储器1806或将权重数据搬运到权重存储器1802中或将输入数据数据搬运到输入存储器1801中。
向量计算单元1807包括多个运算处理单元,在需要的情况下,对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。主要用于神经网络中非卷积/全连接层网络计算,如Batch Normalization(批归一化),像素级求和,对特征平面进行上采样等。
在一些实现中,向量计算单元1807能将经处理的输出的向量存储到统一存储器1806。例如,向量计算单元1807可以将线性函数和/或非线性函数应用到运算电路1803的输出,例如对卷积层提取的特征平面进行线性插值,再例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元1807生成归一化的值、像素级求和的值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路1803的激活输入,例如用于在神经网络中的后续层中的使用。
控制器1804连接的取指存储器(instruction fetch buffer)1809,用于存储控制器1804使用的指令;
统一存储器1806,输入存储器1801,权重存储器1802以及取指存储器1809均为On-Chip存储器。外部存储器私有于该NPU硬件架构。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,ASIC,或一个或多个用于控制上述实施例中描述的控制机械臂充电的方法相关步骤的程序执行的集成电路。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,训练设备,或者网络设备等)执行本申请各个实施例该的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、训练设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、训练设备或数据中心进行传输。该计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的训练设备、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
Claims (23)
1.一种对接控制方法,其特征在于,所述方法应用于对接头和对接口之间的对接任务;所述方法包括:
获取目标图像,所述目标图像为对所述对接任务所在的场景所采集的图像,所述目标图像包括所述对接头的图像区域和所述对接口的图像区域;
根据所述目标图像,通过特征提取网络,得到目标信息,所述目标信息包含所述对接头和所述对接口之间的相对位姿相比于正确对接位姿的偏差;以及,
根据所述目标信息,确定所述对接头的姿态变化信息,所述姿态变化信息用于调整所述对接头的位姿,以执行所述对接任务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过图像分割,识别出所述目标图像中所述对接头所在的第一区域以及所述对接口所在的第二区域,以得到分割图像;
所述根据所述目标图像,通过特征提取,得到目标信息,包括:
根据所述分割图像,通过特征提取,得到目标信息。
3.根据权利要求1或2所述的方法,其特征在于,所述目标图像为对所述对接任务所在的场景中朝向所述对接口所在的方向所采集的图像。
4.根据权利要求1至3任一所述的方法,其特征在于,所述目标图像包括所述对接口的一部分区域,所述对接口的另一部分被所述对接头所遮挡。
5.根据权利要求1至4任一所述的方法,其特征在于,所述特征提取网络包括第一特征提取网络;
所述目标信息包括通过所述第一特征提取网络得到的第一信息,所述正确对接位姿包括所述对接头和所述对接口在正确对接时所处的目标相对位置,所述第一信息包含所述对接头和所述对接口之间的相对位置相比于所述目标相对位置的第一偏差。
6.根据权利要求5所述的方法,其特征在于,所述第一特征提取网络为精度满足预设条件的网络;或者,
所述第一特征提取网络为待训练的网络;所述目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;
所述方法还包括:
获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿;
根据所述虚拟三维模型,确定所述虚拟三维模型中的所述对接头和所述对接口之间的相对位置相比于所述目标相对位置的准确位置偏差;
基于所述准确位置偏差和所述第一偏差,对所述第一特征提取网络进行更新。
7.根据权利要求1至6任一所述的方法,其特征在于,所述特征提取网络包括第二特征提取网络;
所述目标信息包括通过所述第二特征提取网络得到的第二信息;所述正确对接位姿包括所述对接头和所述对接口在正确对接时所处的目标相对角度,所述第二信息包含所述对接头和所述对接口之间的相对角度相比于所述目标相对角度的第二偏差。
8.根据权利要求7所述的方法,其特征在于,所述第二特征提取网络为精度满足预设条件的网络;或者,
所述第二特征提取网络为待训练的网络;所述目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;
所述方法还包括:
获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿;
根据所述虚拟三维模型,确定所述虚拟三维模型中的所述对接头和所述对接口之间的相对角度相比于所述目标相对角度的准确角度偏差;
基于所述准确角度偏差和所述第二偏差,对所述第二特征提取网络进行更新。
9.根据权利要求1至8任一所述的方法,其特征在于,所述根据所述目标信息,确定所述对接头的姿态变化信息,包括:
根据所述目标信息,通过全连接网络,确定所述对接头的姿态变化信息。
10.根据权利要求2至9任一所述的方法,其特征在于,所述图像分割为基于精度满足预设条件的图像分割网络实现的;或者,
所述图像分割为基于待训练的图像分割网络实现的;所述目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;
所述方法还包括:
获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿;
基于目标视点以及目标视角,获取所述虚拟三维模型中所述对接头所在的第三区域,以及所述对接口所在的第四区域;所述目标视角与图像采集设备在采集所述目标图像时的视点和视角一致;所述第三区域和所述第四区域用于作为对所述目标图像进行所述图像分割时的准确分割结果;
基于所述第三区域和所述第一区域,以及所述第四区域和所述第二区域,对所述图像分割网络进行更新。
11.一种对接控制装置,其特征在于,所述装置应用于对接头和对接口之间的对接任务;所述装置包括:
获取模块,用于获取目标图像,所述目标图像为对所述对接任务所在的场景所采集的图像,所述目标图像包括所述对接头的图像区域和所述对接口的图像区域;
特征提取模块,用于根据所述目标图像,通过特征提取网络,得到目标信息,所述目标信息包含所述对接头和所述对接口之间的相对位姿相比于正确对接位姿的偏差;以及,
对接控制模块,可以根据所述目标信息,确定所述对接头的姿态变化信息,所述姿态变化信息用于调整所述对接头的位姿,以执行所述对接任务。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
图像分割模块,用于通过图像分割,识别出所述目标图像中所述对接头所在的第一区域以及所述对接口所在的第二区域,以得到分割图像;
所述特征提取模块,具体用于:
根据所述分割图像,通过特征提取,得到目标信息。
13.根据权利要求11或12所述的装置,其特征在于,所述目标图像为对所述对接任务所在的场景中朝向所述对接口所在的方向所采集的图像。
14.根据权利要求11至13任一所述的装置,其特征在于,所述目标图像包括所述对接口的一部分区域,所述对接口的另一部分被所述对接头所遮挡。
15.根据权利要求11至14任一所述的装置,其特征在于,所述特征提取网络包括第一特征提取网络;
所述目标信息包括通过所述第一特征提取网络得到的第一信息,所述正确对接位姿包括所述对接头和所述对接口在正确对接时所处的目标相对位置,所述第一信息包含所述对接头和所述对接口之间的相对位置相比于所述目标相对位置的第一偏差。
16.根据权利要求15所述的装置,其特征在于,所述第一特征提取网络为精度满足预设条件的网络;或者,
所述第一特征提取网络为待训练的网络;所述目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;
所述装置还包括:
样本构建模块,用于获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿;
模型训练模块,用于根据所述虚拟三维模型,确定所述虚拟三维模型中的所述对接头和所述对接口之间的相对位置相比于所述目标相对位置的准确位置偏差;
基于所述准确位置偏差和所述第一偏差,对所述第一特征提取网络进行更新。
17.根据权利要求11至16任一所述的装置,其特征在于,所述特征提取网络包括第二特征提取网络;
所述目标信息包括通过所述第二特征提取网络得到的第二信息;所述正确对接位姿包括所述对接头和所述对接口在正确对接时所处的目标相对角度,所述第二信息包含所述对接头和所述对接口之间的相对角度相比于所述目标相对角度的第二偏差。
18.根据权利要求17所述的装置,其特征在于,所述第二特征提取网络为精度满足预设条件的网络;或者,
所述第二特征提取网络为待训练的网络;所述目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;
所述装置还包括:
样本构建模块,用于获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿;
模型训练模块,用于根据所述虚拟三维模型,确定所述虚拟三维模型中的所述对接头和所述对接口之间的相对角度相比于所述目标相对角度的准确角度偏差;
基于所述准确角度偏差和所述第二偏差,对所述第二特征提取网络进行更新。
19.根据权利要求11至18任一所述的装置,其特征在于,所述根据所述目标信息,确定所述对接头的姿态变化信息,包括:
根据所述目标信息,通过全连接网络,确定所述对接头的姿态变化信息。
20.根据权利要求12至19任一所述的装置,其特征在于,所述图像分割为基于精度满足预设条件的图像分割网络实现的;或者,
所述图像分割为基于待训练的图像分割网络实现的;所述目标图像为将所述对接头和所述对接口控制在处于目标相对位姿时,对所述对接任务所在的场景所采集的图像;
所述装置还包括:
样本构建模块,用于获取预先构建的虚拟三维模型,所述虚拟三维模型用于还原所述对接口和所述对接头在物理空间中的结构以及相对位姿,其中,所述虚拟三维模型中的所述对接口和所述对接头之间的相对位姿为所述目标相对位姿;
模型训练模块,用于基于目标视点以及目标视角,获取所述虚拟三维模型中所述对接头所在的第三区域,以及所述对接口所在的第四区域;所述目标视角与图像采集设备在采集所述目标图像时的视点和视角一致;所述第三区域和所述第四区域用于作为对所述目标图像进行所述图像分割时的准确分割结果;
基于所述第三区域和所述第一区域,以及所述第四区域和所述第二区域,对所述图像分割网络进行更新。
21.一种对接控制装置,其特征在于所述装置包括一个或多个处理器和存储器;其中,所述存储器中存储有计算机可读指令;所述一个或多个处理器用于读取所述计算机可读指令,执行权利要求1至10任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机设备上运行时,使得所述计算机设备执行权利要求1至10任一项所述的方法。
23.一种计算机程序产品,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机设备上运行时,使得所述计算机设备执行如权利要求1至10任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210182952.4A CN116704391A (zh) | 2022-02-25 | 2022-02-25 | 一种对接控制方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210182952.4A CN116704391A (zh) | 2022-02-25 | 2022-02-25 | 一种对接控制方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116704391A true CN116704391A (zh) | 2023-09-05 |
Family
ID=87826290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210182952.4A Pending CN116704391A (zh) | 2022-02-25 | 2022-02-25 | 一种对接控制方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116704391A (zh) |
-
2022
- 2022-02-25 CN CN202210182952.4A patent/CN116704391A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11132780B2 (en) | Target detection method, training method, electronic device, and computer-readable medium | |
CN110543814B (zh) | 一种交通灯的识别方法及装置 | |
WO2023116667A1 (zh) | 一种充电设备以及控制机械臂充电的方法 | |
CN109901572B (zh) | 自动驾驶方法、训练方法及相关装置 | |
CN112639882B (zh) | 定位方法、装置及系统 | |
CN112740268B (zh) | 目标检测方法和装置 | |
CN110930323B (zh) | 图像去反光的方法、装置 | |
JP2021515178A (ja) | 自動運転車両においてrnnとlstmを用いて時間平滑化を行うlidar測位 | |
CN113591518B (zh) | 一种图像的处理方法、网络的训练方法以及相关设备 | |
CN112734765A (zh) | 基于实例分割与多传感器融合的移动机器人定位方法、系统及介质 | |
CN113807470B (zh) | 一种车辆行驶状态确定方法和相关装置 | |
WO2022089577A1 (zh) | 一种位姿确定方法及其相关设备 | |
WO2022051951A1 (zh) | 车道线检测方法、相关设备及计算机可读存储介质 | |
US20230204755A1 (en) | Target tracking method and apparatus | |
CN114240769A (zh) | 一种图像处理方法以及装置 | |
CN117077073A (zh) | 一种多模态数据的处理方法及相关装置 | |
CN112810603B (zh) | 定位方法和相关产品 | |
US20210064872A1 (en) | Object detecting system for detecting object by using hierarchical pyramid and object detecting method thereof | |
CN113961013A (zh) | 一种基于rgb-d slam的无人机路径规划方法 | |
WO2021159397A1 (zh) | 车辆可行驶区域的检测方法以及检测装置 | |
CN116701586A (zh) | 一种数据处理方法及其相关装置 | |
CN116704391A (zh) | 一种对接控制方法及其装置 | |
CN113066124A (zh) | 一种神经网络的训练方法以及相关设备 | |
CN114549610A (zh) | 一种点云数据的处理方法及相关装置 | |
EP4404151A1 (en) | Method and apparatus for recognizing rod-shaped objects in images, computer device, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |