收纳位置识别方法及装置与流程

文档序号:26396180发布日期:2021-08-24 16:06阅读:172来源:国知局
收纳位置识别方法及装置与流程

本公开涉及机器人技术领域,尤其涉及一种收纳位置识别方法及装置。



背景技术:

随着科技的发展,越来越多的机器人进入了人们的生活和工作,用机器人来代替人工可以显著提升生产和工作的效率。而目前对物体的装配、更换与维护工作仍然需要由人工来完成,这往往需要花费大量的人力成本和资金成本。



技术实现要素:

有鉴于此,本说明书一个或多个实施例提供一种收纳位置识别方法及装置。

具体地,本说明书一个或多个实施例提供技术方案如下:

根据本说明书一个或多个实施例的第一方面,提出了一种收纳位置识别方法,包括:

确定目标物体所属的目标对象对应的目标区域;

对所述目标区域进行网格区域划分,并根据网格区域划分结果以及物体与网格区域之间的映射关系,确定所述目标物体对应的目标网格区域,以作为所述目标物体在所述目标对象上对应的收纳位置。

根据本说明书一个或多个实施例的第二方面,提出了一种收纳位置识别方法,包括:

确定目标硬盘所属的目标服务器对应的目标区域;

根据对所述目标区域进行网格区域划分结果,并根据网格区域划分结果以及硬盘与网格区域之间的映射关系,确定所述目标硬盘对应的目标网格区域,以作为所述目标硬盘在所述目标服务器上对应的收纳位置。

根据本说明书一个或多个实施例的第三方面,提出了一种收纳位置识别装置,包括:

第一目标区域确定单元,用于确定目标物体所属的目标对象对应的目标区域;

第一网格区域确定单元,用于对所述目标区域进行网格区域划分结果,并根据网格区域划分结果以及物体与网格区域之间的映射关系,确定所述目标物体对应的目标网格区域,以作为所述目标物体在所述目标对象上对应的收纳位置。

根据本说明书一个或多个实施例的第四方面,提出了一种收纳位置识别装置,包括:

第二目标区域确定单元,用于确定目标硬盘所属的目标服务器对应的目标区域;

第二网格区域确定单元,用于对所述目标区域进行网格区域划分,并根据网格区域划分结果以及硬盘与网格区域之间的映射关系,确定所述目标硬盘对应的目标网格区域,以作为所述目标硬盘在所述目标服务器上对应的收纳位置。

根据本说明书的第五方面,提供一种电子设备。所述电子设备包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器通过运行所述可执行指令以实现如第一方面或第二方面所述的方法。

根据本说明书的第六方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面或第二方面所述方法的步骤。

附图说明

图1是本说明书一示例性实施例提供的一种立式机柜的示意图。

图2是本说明书一示例性实施例提供的一种数据中心运维机器人的组成结构的示意图。

图3是本说明书一示例性实施例提供的一种夹持装置的结构示意图。

图4是本说明书一示例性实施例提供的一种夹持装置的另一结构示意图。

图5是本说明书一示例性实施例提供的一种装配机器人的组成结构的示意图。

图6是本说明书一示例性实施例提供的一种收纳位置识别方法的流程图。

图7是本说明书一示例性实施例提供的另一种收纳位置识别方法的流程图。

图8是本说明书一示例性实施例提供的一种服务器特征模型中的特征点的示意图。

图9是本说明书一示例性实施例提供的一种图像采集区域内的图像的示意图。

图10是本说明书一示例性实施例提供的一种图像采集区域内的图像转换过程的示意图。

图11是本说明书一示例性实施例提供的一种目标区域的网格区域划分结果的示意图。

图12是本说明书一示例性实施例提供的另一种目标区域的网格区域划分结果的示意图。

图13是本说明书一示例性实施例提供的一种图像采集区域的目标网格区域的示意图。

图14是本说明书一示例性实施例提供的一种物体装配方法的流程图。

图15是本说明书一示例性实施例提供的另一种物体装配方法的流程图。

图16是本说明书一示例性实施例提供的一种三维坐标系的示意图。

图17是本说明书一示例性实施例提供的一种电子设备的结构示意图。

图18是本说明书一示例性实施例提供的一种收纳位置识别装置的框图。

图19是本说明书一示例性实施例提供的另一种收纳位置识别装置的框图。

图20是本说明书一示例性实施例提供的另一种电子设备的结构示意图。

图21是本说明书一示例性实施例提供的一种物体装配装置的框图。

图22是本说明书一示例性实施例提供的另一种物体装配装置的框图。

图23是本说明书一示例性实施例提供的另一种物体装配装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

目前对物体与对应的收纳部的装配工作仍然需要由人工来完成,其中,收纳部可以是可以容纳物体的装置,例如收纳槽、收纳孔、装配槽或者插槽等,本说明书中并不对此进行限制,例如,将物体从装配槽中拔出进行更换作业或者将物体从装配槽中插入完成维护工作等,但这往往需要花费大量的人力和资金成本,难以提升物体装配作业的效率。特别地,目前大型数据中心机房中对数据服务器硬盘的更换与维护工作仍然需要由人工来完成,对服务器硬盘的管理效率低,难以满足数据中心运维的需求。

其中,数据中心机房中可以包含多排如图1所述立式机柜10,每个立式机柜10中包含多个服务器,每一服务器具有密集设置的数个硬盘槽11,硬盘槽11可以沿水平方向或者垂直方向阵列分布,每一硬盘槽11都可以对应插装一个硬盘12,而硬盘12与硬盘槽11之间的插槽间隙较小,该间隙通常为0.5毫米左右,如果在硬盘12与硬盘槽11没有对齐的情况下进行插拔,容易造成对硬盘12和硬盘槽11的损毁,因而在硬盘12的安全插拔过程中往往需要较高的精度要求和受力要求。

下面结合附图,对本说明书示例型实施例的夹持装置、数据中心运维机器人和装配机器人进行详细说明。在不冲突的情况下,下述的实施例及实施方式中的特征可以相互补充或相互组合。

图2是本说明书一示例性实施例示出的一种数据中心运维机器人20的组成结构的示意图。如图2所示,该运维机器人20包括行走部202、夹持部204、空间位置检测部206、力检测部208、控制部210和驱动部212。

行走部202可以使得该运维机器人20行走至包含有目标服务器的立式机柜处,其中,目标服务器上包含多个收纳部,并且该目标服务器上可以包含目标硬盘对应的目标收纳部。

夹持部204可以使得该运维机器人20夹持目标硬盘。

空间位置检测部206可以用于检测服务器上的收纳部的空间位置。力检测部208可以用于在夹持部204将目标硬盘插入和/或拔出目标收纳部的过程中,检测目标硬盘的受力信息。其中,空间位置检测部206可以是深度相机,空间位置可以根据大地参照系定义,当然还可以通过建立坐标系来描述物体的位置,以三维坐标系为例,深度相机可以检测到视觉图像区域内的各个点在三维坐标系中的坐标位置,当然还可以是其他可以获取目标服务器上收纳部的空间位置的设备,视觉图像区域也可以被称为图像采集区域,下文均采用图像采集区域进行描述,本说明书中并不对此进行限制。力检测部208可以是六维力传感器,六维力传感器可以同时测量三个力分量和三个力矩分量,当然力检测部208还可以是其他可以测量多个力分量和力矩分量的设备,本说明书中并不对此进行限制。

控制部210可以根据空间位置检测部206获取的目标收纳部的空间位置对目标收纳部进行视觉定位,那么控制部210可以根据视觉定位结果向驱动部212发送初始控制信号,并且控制部210还可以根据力检测部208检测到的目标硬盘的受力信息向驱动部210发送调整控制信号和插拔控制信号。

而驱动部212可以根据接收到的来自控制部210的初始控制信号将目标硬盘移动至目标收纳部的初始位置处,该初始位置可以使得目标硬盘与目标收纳部之间的定位精度为1至2毫米。并且驱动部212还可以根据接收到的调整控制信号驱动夹持部204对目标硬盘进行姿态调整,其中姿态调整包括将目标硬盘沿水平轴向进行移动或者沿垂直轴向上进行移动,从而使得目标硬盘可以对准目标收纳部。那么在目标硬盘对准目标收纳部的情况下,驱动部212可以根据接收到的插拔控制信号驱动夹持部204将目标硬盘插入和/或拔出目标收纳部。

该运维机器人20还可以包括采集部214,该采集部214可以用于采集目标服务器上的条码标识,该条码标识用于表示目标服务器的身份信息,因而运维机器人可以通过采集该条码标识识别目标服务器的身份信息。该条码标识可以是一维条码、二维条码或者条码图形等,例如,ean-13类型条码、upc-a类型条码、qrcode类型条码或者gs1qr类型条码等,当然该条码标识还可以是三维条码、多维条码或者数字信息全息图等,本说明书中并不对此进行限制。例如,该采集部可以是rgb相机,该条码标识可以是二维码,那么rgb相机可以根据采集到的服务器的二维码对服务器的身份信息进行识别,该身份信息可以包括服务器对应的编码信息或者是服务器的位置信息等,本说明书中并不对此进行限制。

该运维机器人20还可以包括补光部216,该补光部216可以用于在空间位置检测部206检测收纳部的空间位置的时候进行补光,还可以在采集部214在采集条码标识的过程中进行补光,其中该补光部216可以是补光板等具有反光表面的设备,本说明书中并不对此进行限制。

其中,该运维机器人20中的夹持部204可以包括夹持装置30,如图3和图4所示,该夹持装置可以包括包括夹持组件40和力检测组件50。

夹持组件40可以包括夹持主体401和夹爪402,其中如图3和图4所示,夹爪402和力检测组件50可以分别位于夹持主体401的两端。以及夹爪402中可以包括若干运动组件,运动组件的数量可以根据实际需求进行设置,本说明书中并不对此进行限制,例如,如图3和图4所示夹爪402包括两个运动组件。而每一运动组件可以包括近端指骨406、末端指骨407、连杆组和驱动气缸404,夹爪主体401、近端指骨406与末端指骨407依次铰接,驱动气缸404的两端可以分别铰接于夹爪主体401和末端指骨407,其中,连杆组可以包括曲柄403和连杆405,而曲柄403的一端可以铰接于夹爪主体401与近端指骨406的铰接轴上,曲柄403的另一端可以铰接于连杆405,而连杆405的两端分别铰接于曲柄403和末端指骨407。以及末端指骨407与近端指骨406的铰接轴、末端指骨407与连杆405的铰接轴和末端指骨407与驱动气缸404的铰接轴可以沿同一直线依次分布且互相平行。该夹爪402的上述组成结构可以使得运动组件具有独立的运动能力并且运动灵活,从而可以便于实施各项抓取动作。

末端指骨407与物体相接触的一侧表面可以设置有柔性接触件408,其中柔性接触件408可以由弹性材料如橡胶、弹性塑料等制成,从而可以避免在末端指骨407与物体接触的过程中损坏物体的表面,可以更好的保护物体的完整性。

夹持组件40可以用于夹持住目标物体,力检测组件50可以在夹持组件40将目标物体插入和/或拔出如图1所示的目标收纳部的过程中,检测目标物体的受力信息,并且力检测组件50还可以将检测到的受力信息发送至与力检测组件50电连接的控制器,那么控制器可以根据接收到的受力信息对该夹持组件40进行姿态调整控制,例如驱动夹持装置沿水平轴向或者垂直轴向进行移动,以使目标物体可以对准相应的目标收纳部,从而可以使得目标物体安全插入和/或拔出目标收纳部,可以保证目标物体和目标收纳部的安全无损。其中,夹持组件40可以相对于夹持装置30进行移动或者进行姿态调整,或者夹持组件40可以和夹持装置30为一体的,通过夹持装置30的移动或者姿态调整带动夹持组件40进行移动,本说明书中并不对此进行限制。

在一实施例中,夹持装置30还可以包括空间位置检测组件,该空间位置检测组件可以用于检测收纳部的空间位置,并可以将空间位置发送至与空间位置检测组件电连接的控制器,那么控制器可以根据该空间位置对目标收纳部进行视觉定位,以使目标物体可以移动至目标收纳部的初始位置。空间位置检测组件可以是如图3所示的深度相机60,深度相机60可以采集图像采集区域中的各个点与摄像头之间的距离,当然还可以是其他可以获取收纳部的空间位置的设备,例如超声波定位设备、红外线定位设备等,本说明书中并不对此进行限制。其中,当空间位置检测组件为深度相机时,可以根据该深度相机检测到的收纳部的空间位置信息将目标物体与目标收纳部之间的定位精度调整至1至2毫米。

在一实施例中,控制器可以用于对夹持装置30进行姿态调整控制或者对收纳部进行视觉定位等,而控制器可以位于夹持装置30上,或者,控制器还可以位于夹持装置30所属的装配机器人的机器人主体上,本说明书中并不对此进行限制。

在一实施例中,夹持装置30还可以包括驱动组件,该驱动组件可以驱动夹持装置进行移动,以调整目标物体的位姿。例如,该驱动组件可以驱动夹持装置沿水平轴向或者垂直轴向进行移动,该驱动组件还可以驱动夹持装置实现张合动作,从而实现对目标物体的抓取和放置等。

在一实施例中,夹持装置30可以包括采集组件,该采集组件可以用于采集目标收纳部对应的目标设备上的条码标识,该条码标识可以用于表示目标设备的身份信息,因而可以通过采集该条码标识识别目标设备的身份信息,从而便于对目标设备进行身份确认。该条码标识可以是一维条码、二维条码或者条码图形等,例如,ean-13类型条码、upc-a类型条码、qrcode类型条码或者gs1qr类型条码等,当然该条码标识还可以是三维条码、多维条码或者数字信息全息图等,本说明书中并不对此进行限制。例如目标设备上的条码标识可以是二维条码,而采集组件可以是如图3所示的rgb相机70,那么可以通过rgb相机70扫描目标设备上的二维条码,从而获取目标设备的身份信息,对该目标设备的身份进行确认,该身份信息可以包括目标设备对应的编码信息或者是目标设备的位置信息等,本说明书中并不对此进行限制。

在一实施例中,该夹持装置30还可以包括补光组件,其中补光组件可以是如图3所示的补光板80,该补光板80可以在采集组件采集目标条码标识的过程中进行补光,例如为rgb相机70采集二维码信息的过程中进行补光,当然该补光板80还可以在空间位置检测组件检测目标收纳部的空间位置的过程中进行补光,例如为深度相机60在检测目标收纳部的空间位置信息的过程中进行补光,可以保证拍摄或者采集过程中的亮度需求。

在一实施例中,如图3所示深度相机60、rgb相机70和补光板80均通过相机安装板90连接于该夹持装置30上,而如图3所示,该相机安装板90可以安装于力检测组件50与夹爪主体401之间,此时,若相机安装板上安装的组件如深度相机60、rgb相机70等与其他物体发生异常碰撞等,力检测组件50可以检测到异常的力和力矩,从而可以提醒相关人员关注异常情况,可以及时对异常情况进行处理。当然,该相机安装板还可以设置于力检测组件50与该夹持装置所属的装配机器人的机器人主体之间,本说明书中并不对此进行限制。

在一实施例中,夹持装置30还可以包括安装组件,该安装组件可以将夹持装置安装至该夹持装置所属的装配机器人的机器人主体上,其中安装组件可以是如图3所示的连接盘100。其中,力检测组件50可以设置于夹持组件40与安装组件之间,从而使得力检测组件50可以检测到夹持组件40的受力信息。那么在工作时,在安装组件的带动下,夹持组件40和力检测组件50以及相机安装板90可以同步地随安装组件一起运动。

下面以夹持装置将目标硬盘插入和/或拔出目标插槽为例进行说明。当然,本说明书中夹持装置夹持的物体不仅可以是硬盘还可以是其他需要进行装配的物体,例如,电池片、过滤片等,本说明书中并不对此进行限制。

在一实施例中,夹持装置将目标硬盘插入目标插槽的工作过程可以为:夹持装置的夹爪的运动组件可以通过张合抓取目标硬盘,并根据空间位置检测组件的视觉定位结果,将目标硬盘移动至目标插槽处的初始位置,即将目标硬盘移动至目标插槽附近,接着夹持装置可以将目标硬盘的端部接触目标插槽的开口端,从而使得目标硬盘可以缓慢进入目标插槽,若目标硬盘没有对准目标插槽,目标硬盘与目标插槽将发生力的作用,该作用力可以通过运动组件传递至力检测组件,力检测组件可以获取该作用力以及对应的作用力矩,例如该力检测组件可以为六维力传感器,并由六维力传感器传输至相应的控制器,那么控制器可以受力信息对夹持装置进行姿态微调,例如可以驱动夹持装置沿水平轴向移动、沿垂直轴向移动或者沿预设的方向进行移动等,以使得目标硬盘可以对准目标插槽,直至目标硬盘和目标插槽之间不会发生力的作用,可以完成目标硬盘的安全插入,从而可以有效避免硬盘与对应的插槽之间发生刚性碰撞而损坏。

在一实施例中,夹持装置将目标硬盘拔出目标插槽的工作过程可以为:夹持装置可以根据空间位置检测组件的视觉定位结果,将夹爪的运动组件移动至目标插槽的初始位置处,即将运动组件移动至目标插槽附近,接着可以通过控制夹爪的运动组件触碰目标硬盘对应的卡口开关,从而使得该卡口打开。随后,运动组件可以移动至目标硬盘附近并张开,以可以在运动组件合紧的时候夹持住目标硬盘的端部,其中,运动组件在夹持目标硬盘的过程中根据力检测组件检测的受力信息进行顺从性位置调整。而在运动组件夹持住目标硬盘后,夹持装置可以缓慢后退而执行拔取动作,而拔出过程中可以根据力检测组件反馈的受力信息进行拔取方向的力控制,从而可以保证目标硬盘在除拔取方向外的其他任何方向均无受力,可以使得目标硬盘缓缓退出目标插槽,可以顺利完成对目标硬盘的拔取。

图5是本说明书一示例性实施例示出的一种装配机器人的组成结构的示意图,如图5所述该装配机器人包括机器人主体和夹持装置。该装配机器人可以用于将目标物体插入和/或拔出相应的目标收纳部中,该目标物体不仅可以是服务器硬盘还可以是其他需要进行装配的物体,例如,电池片、过滤片等,本说明书中并不对此进行限制。其中该装配机器人的机器人主体可以包括行走部、夹持部、空间位置检测部、力检测部、控制部和驱动部。该装配机器人中的夹持装置、机器人主体中包含的行走部、夹持部、空间位置检测部、力检测部、控制部和驱动部与上述实施例类似,所涉及的实施细节可参考上述实施例,因此下文不再赘述。

由以上技术方案可见,本说明书中夹持装置中的力检测组件可以在夹持装置将目标物体插入和/或拔出目标收纳部的过程中,检测所述目标物体的受力信息,该受力信息被控制器用于对夹持装置进行姿态调整控制,以使目标物体对准目标收纳部,可以根据受力信息实时调整夹持装置的位姿,可以实现对夹持装置的精确定位,从而实现对目标物体的安全插拔,避免目标物体和目标收纳部在装配过程中的损坏,同时,夹持装置的运动组件包括近端指骨和末端指骨,可以使得运动组件具有独立的运动能力并且运动组件更加灵活,从而便于实现各项抓取动作。

图6是本说明书示出的一种收纳位置识别方法的流程图。如图6所示,该方法可以应用于装配设备(如图5所示的装配机器人等,并由机器人中包含的控制部或者其他的控制设备实现控制逻辑);该方法可以包括以下步骤:

步骤602,确定目标物体所属的目标对象对应的目标区域。

在一实施例中,装配机器人可以对图像采集区域内的图像进行识别,从而可以确定目标物体所属的目标对象对应的目标区域。

在一实施例中,装配机器人可以调整视觉相机的图像采集区域,其中,视觉相机为可以将通过镜头投影到传感器的图像传送到能够储存、分析或者显示的机器设备上,例如视觉相机可以是ccd(chargecoupleddevicecamera,电荷耦合)相机、cmos(complementarymetaloxidesemiconductor,互补金属氧化物)半导体相机等,本说明书中并不对此进行限制。装配机器人可以将目标物体所属的目标设备调整至图像采集区域的预设位置处,其中,该预设位置可以为根据实际需求设定的图像采集区域的任意位置,例如图像采集区域的中央位置、顶端位置、末端位置或者左上方某一位置等,本说明书中并不对此进行限制。另外,目标物体可以是需要进行装配的服务器硬盘、电池片或者过滤片等,目标物体可以装配于所述目标对象中或者从目标对象中对应的收纳位置处卸载,本说明书中并不对此进行限制。

在一实施例中,装配机器人可以依次识别图像采集区域内对应于各个对象的条码标识,该条码标识可以是一维条码、二维条码或者条码图形等,例如,ean-13类型条码、upc-a类型条码、qrcode类型条码或者gs1qr类型条码等,当然该条码标识还可以是三维条码、多维条码或者数字信息全息图等,本说明书中并不对此进行限制。

在某一条码标识的识别结果可以匹配于目标对象的预设描述信息时,可以将该条码标识确定为目标对象对应的目标条码标识。其中,预设描述信息可以包括名称、编号、位置描述信息等。其中,位置描述信息可以包括具体的文字描述例如5号机房第3排第4台设备,或者也可以是预先存储的具体坐标位置,或者也可以是由多个具体坐标位置组成的坐标位置集合等,本说明书中并不对此进行限制。

在一实施例中,装配机器人可以获取目标条码标识的位置,其中,该目标条码标识的位置可以包含于该目标条码标识的识别结果中,或者装配机器人可以根据确定出的目标条码标识进行视觉定位,从而确定出目标条码标识的位置,或者装配机器人可以根据目标条码标识的识别结果中包含的目标条码标识的编号等信息,从预设的条码标识位置记录表中查找该目标条码标识的位置,本说明书中并不对此进行限制。

在一实施例中,装配机器人可以根据预定义的条码标识与对象之间的相对位置关系,确定出目标条码标识对应的目标对象的位置,从而可以调整视觉相机的图像采集区域,将目标对象调整至图像采集区域的预设位置处。

在一实施例中,在调整视觉相机的图像采集区域之前,装配机器人可以先对视觉相机进行找正,以使得视觉相机镜头的平面与目标对象平面相平行。其中,装配机器人可以根据ransac(randomsampleconsensus,随机抽样一致)算法确定目标对象特征平面,根据目标对象特征平面方程完成相机找正。其中,ransac算法可以根据一组包含异常数据的样本数据集,计算出数据的数学模型参数并得到有效样本数据。当然,还可以采用其他算法确定目标对象特征平面,本说明书中并不对此进行限制。

步骤604,对所述目标区域进行网格区域划分,并根据网格区域划分结果以及物体与网格区域之间的映射关系,确定所述目标物体对应的目标网格区域,以作为所述目标物体在所述目标对象上对应的收纳位置。

在一实施例中,装配机器人可以对目标区域进行网格区域划分,那么装配机器人可以根据网格区域划分结果以及各个物体与网格区域之间的映射关系,从而确定出目标物体对应的目标网格区域,并且可以将该目标网格区域作为目标物体在目标对象上对应的收纳位置,即目标物体可以装配至对应的收纳位置处。

在一实施例中,装配机器人可以直接对图像采集区域内的对象中心点进行识别。装配机器人中可以预先设置有对象中心点的特征信息,那么装配机器人可以根据该特征信息识别出图像采集区域内的对象中心点。其中,对象中心点的特征信息可以包括对象中心点的指示灯或者对象中心点位置发出的红外信号等等,本说明书中并不对此进行限制。

在一实施例中,装配机器人可以根据对象特征模型对图像采集区域内的图像进行特征点匹配,从而可以确定出至少一组对象特征点,那么装配机器人可以根据对象特征点与对象中心点之间的相对位置关系,可以确定出每组对象特征点对应的对象中心点。对象特征模型可以由装配机器人预先训练而得或者可以由区别于装配机器人的其他设备发送至装配机器人,本说明书中并不对此进行限制。对象特征点与对象中心点之间的相对位置关系可以被记录于对象特征模型中,也可以被记录于装配机器人中,本说明书中并不对此进行限制。其中,对象特征点与对象中心点之间的相对位置关系可以包括某一对象特征点相对于对象中心点的位置和距离,例如对象特征点在对象中心点水平方向上的左侧x1毫米处等,该相对位置关系还可以包括对象特征点和对应的对象中心点在同一坐标系中的坐标位置等等,本说明书中并不对此进行限制。其中,对象特征点可以是图像中的单个像素点,或者还可以是由多个像素点组成的区域等,本说明书中并不对此进行限制。

在一实施例中,可以预先设定有相应的对象特征点阈值,并且在任意一组对象特征点的数量不小于对象特征点阈值的情况下,才将每组对象特征点分别转换为相应的对象中心点;而在任意一组对象特征点的数量小于对象特征点阈值的情况下,表明该组对象特征点的匹配过程可能存在设备异常或者环境异常的现象,使得对象特征点的数量不足,因而不将该组对象特征点转换为相应的对象中心点,可以避免增加对象中心点的位置的误差。或者,在任意一组对象特征点的数量小于对象特征点阈值的情况下,装配机器人还可以根据接收到的指令进行相应的移动,以调整视觉相机的图像采集区域内的图像,直至对象特征点的数量不小于对象特征点阈值。例如,对象特征点阈值可以设置为对象特征模型中包含的对象特征点数量的80%等。

在一实施例中,装配机器人可以将识别出的各个对象中心点与预设位置进行比较,并且可以将所处的位置匹配于预设位置的对象中心点确定为对应于目标对象的目标中心点,例如,将所处的位置与预设位置一致的对象中心点确定为目标中心点或者将所处的位置距离预设位置最近的对象中心点确定为目标中心点等。

在一实施例中,在根据任一组对象特征点可以确定出对应的一个对象中心点的情况下,将所处的位置匹配于预设位置的对象中心点确定为对应于目标对象的目标中心点即可。

在一实施例中,在根据任一组对象特征点可以确定出多个对象中心点的情况下,装配机器人可以对获取到的多个对象中心点进行聚类,从而可以获得相应的聚类中心,在预设位置为图像采集区域的中央位置的情况下,那么装配机器人可以将最靠近中央位置的聚类中心点确定为对应于目标对象的目标中心点。其中,可以采用密度峰值聚类算法对多个对象中心点进行聚类,当然,该聚类算法还可以是k均值聚类算法或者均值漂移聚类等,本说明书中并不对此进行限制。而密度峰值聚类算法是基于密度进行聚类的算法,以高密度区域作为判断依据,和传统方法比,适用于处理任何形状的数据集,而且无需提前设置簇的数量,该算法可以自动发现簇中心,可以实现任一形状数据的高效聚类。

在实际操作过程中,匹配到的对象特征点的位置可能存在一定的偏差,那么根据对象特征点与对象中心点的相对位置关系,确定出的对象中心点也存在一定的偏差,从而使得每组对象特征点对应的对象中心点的数量可以有多个,此时装配机器人可以对这些对象中心点进行聚类。或者装配机器人可以使用不同的对象特征模型对图像采集区域内的图像进行多次特征点匹配,那么每次匹配获得的对象特征点不同,从而确定出的对象中心点的数量可以有多个,此时装配机器人可以对这些对象中心点进行聚类。

在一实施例中,对象特征模型可以包含预先获取的特征点描述信息,其中,特征点描述信息可以包括特征点对应的像素取值或者特征点对应的区域内的像素取值、像素取值规律等。那么装配机器人可以将对象特征模型中包含的特征点描述信息与图像采集区域实际采集到的图像进行匹配,从而确定出实际采集到的图像中对应的对象特征点。

其中,对象特征模型中可以仅包含对象边缘区域的特征点描述信息,那么装配机器人可以将对象特征模型中包含的对象边缘区域的特征点描述信息与实际采集到的图像进行匹配,从而确定出实际采集到的图像中对应于对象边缘区域的特征点,从而可以明显减少匹配过程中的运算量、可以提升匹配效率,同时可以减少对象特征模型训练过程中的数据量和训练过程中的运算量,提升对象特征模型的训练效率。

在一实施例中,装配机器人可以首先通过预先训练的边缘特征模型将图像采集区域内图像划分为边缘区域图像和非边缘区域图像。对象特征模型中可以仅包含对象边缘区域的特征点描述信息,那么装配机器人可以将对象特征模型中包含的特征点描述信息与图像采集区域内的边缘区域图像进行匹配,从而可以确定出图像采集区域内的图像中对应于对象边缘区域的特征点。

其中,上述边缘特征模型可以为神经网络模型,该边缘特征模型的训练过程如下:可以输入对象边缘样本图像和对象非边缘样本图像,其中对象边缘样本图像上被标识有“对象边缘”,对象非边缘图像上被标注有“非对象边缘”。另外,服务器可以根据该边缘特征模型输出的针对样本图像的预测识别结果与样本图像上被标志的实际识别结果即“对象边缘”和“非对象边缘”进行比较,从而可以根据预测识别结果与实际识别结果之间的差异信息调整边缘特征模型中相应的参数,从而使得该边缘特征模型对边缘区域和非边缘区域的识别结果更加准确。而该边缘特征模型可以是卷积神经网络(convolutionalneuralnetworks,cnn)模型、循环神经网络(recurrentneuralnetwork,rnn)模型或者生成式对抗网络(generativeadversarialnetworks,gan)模型等其他类型的神经网络模型,本说明书中并不对此进行限制。

在一个实施例中,对象特征模型可以为神经网络模型,那么对象特征模型的训练过程如下:可以输入对象样本图像,其中,对象样本图像上被标注有相应的对象特征点的区别特征信息,例如,每一对象样本图像上均被标注有“1号特征点”、“2号特征点”和“3号特征点”等。

那么将图像采集区域内实际采集到的图像输入训练后的对象特征模型,可以输出至少一组对象特征点,例如,每组对象特征点中可以包括“1号特征点”、“2号特征点”或者“3号特征点”等。并根据对象特征模型中记录有的各个对象特征点与对象中心点之间的相对位置关系,确定出各组对象特征点对应的对象中心点。该对象特征模型可以是卷积神经网络(convolutionalneuralnetworks,cnn)模型、循环神经网络(recurrentneuralnetwork,rnn)模型或者生成式对抗网络(generativeadversarialnetworks,gan)模型等其他类型的神经网络模型,本说明书中并不对此进行限制。

在一实施例中,根据对象中心点与对象区域之间的相对位置关系,可以确定出目标中心点对应的目标区域。例如,可以设定对象区域为边长分别为200毫米和100毫米的长方形区域,对象中心点即为对象区域的几何中心点,那么可以根据目标中心点以及目标对象的尺寸信息划定出对应的目标区域。

在一实施例中,装配机器人可以根据物体特征模型对目标区域内的图像进行特征点匹配,从而可以确定出至少一组物体特征点,那么装配机器人可以根据物体特征点与物体中心点之间的相对位置关系,可以确定出每组物体特征点对应的物体中心点。物体特征点与物体中心点之间的相对位置关系可以被记录于对象特征模型中,也可以被记录于装配机器人中,本说明书中并不对此进行限制。其中,物体特征点与物体中心点之间的相对位置关系可以包括某一物体特征点相对于物体中心点的方位和距离,例如物体特征点在物体中心点水平方向上的左侧x2毫米处等,该相对位置关系还可以包括物体特征点和对应的物体中心点在同一坐标系中的坐标位置等等,本说明书中并不对此进行限制。当然,物体特征点可以是图像中的单个像素点,或者还可以是由多个像素点组成的区域等,本说明书中并不对此进行限制。

在一实施例中,可以预先设定有相应的物体特征点阈值,并且在任意一组物体特征点的数量不小于物体特征点阈值的情况下,才将每组物体特征点分别转换为相应的物体中心点;而在任意一组物体特征点的数量小于物体特征点阈值的情况下,表明该组物体特征点的匹配过程可能存在设备异常或者环境异常的现象,使得物体特征点的数量不足,因而不将该组物体特征点转换为相应的物体中心点,可以避免增加物体中心点的位置的误差。

在一实施例中,物体特征模型中可以包含预先获取的物体特征点的特征点描述信息,或者物体特征模型也可以为神经网络模型,物体特征模型的训练与匹配过程与上述对象特征模型的训练与匹配过程类似,所涉及的实施细节同样可以参考上述记载,此处不再赘述。

在一实施例中,在根据任一组物体特征点可以确定出对应的一个物体中心点的情况下,可以根据物体中心点与网格区域之间的相对位置关系,将目标区域划分为相应的网格区域。

在一实施例中,在根据任意一组物体特征点可以确定出多个物体中心点的情况下,装配机器人可以对多个物体中心点进行聚类,从而可以获得相应的聚类中心。装配机器人可以将所处的位置匹配于预设的物体排列方向的聚类中心点确定为对应于每组物体特征点的物体中心点,其中物体排列方向可以包括下述至少之一:水平方向、垂直方向。例如,若物体排列方向为沿水平方向按一直线排列,那么将最接近于沿水平方向按一直线排列的聚类中心选取为物体中心点等,若物体排列方向为沿水平方向按一直线排列和沿垂直方向按一直线排列,那么可以将最接近于沿水平方向按一直线排列且沿垂直方向按一直线排列的聚类中心选取为物体中心点等。

在实际操作过程中,匹配到的物体特征点的位置可能存在一定的偏差,那么根据物体特征点与对象中心点的相对位置关系,确定出的物体中心点也存在一定的偏差,从而使得每组物体特征点对应的对象中心点的数量可以有多个,此时装配机器人可以对这些物体中心点进行聚类。或者装配机器人可以使用不同的物体特征模型对图像采集区域内的图像进行特征点匹配,那么每次匹配获得的物体特征点不同,从而确定出的物体中心点的数量可以有多个,此时装配机器人可以对这些物体中心点进行聚类。

装配机器人可以根据物体中心点与网格区域之间的相对位置关系,对目标区域进行网格区域划分。例如,可以预先设定网格区域为边长分别为100毫米和20毫米的长方形区域,那么可以根据物体中心点以及网格区域的尺寸信息划定出对应的网格区域。

在一实施例中,装配机器人可以根据阵列特征模型对目标区域内的图像进行特征点匹配,从而确定出至少一组物体特征点。那么装配机器人可以根据阵列特征模型中定义的标准网格阵列对目标区域进行网格区域划分,从而可以生成目标网格阵列,其中阵列特征点在目标网格阵列中对应的位置与在标准网格阵列中对应的位置是一致的。

在一实施例中,可以预先设定有相应的阵列特征点阈值,并且在任意一组阵列特征点的数量不小于阵列特征点阈值的情况下,才将每组阵列特征点分别转换为相应的阵列中心点;而在任意一组阵列特征点的数量小于阵列特征点阈值的情况下,表明该组阵列特征点的匹配过程可能存在设备异常或者环境异常的现象,使得阵列特征点的数量不足,因而不将该组阵列特征点转换为相应的阵列中心点,可以避免增加阵列中心点的位置的误差。

在一实施例中,阵列特征模型中可以包含预先获取的阵列特征点的特征点描述信息,或者阵列特征模型也可以为神经网络模型,阵列特征模型的训练与匹配过程与上述对象特征模型的训练与匹配过程类似,所涉及的实施细节同样可以参考上述记载,此处不再赘述。

在一实施例中,在根据物体特征模型获取到目标区域的第一网格区域划分结果且根据阵列特征模型获取到目标区域的第二网格区域划分结果的情况下,装配机器人可以计算出第一网格区域划分结果与第二网格区域划分结果之间的单应性矩阵。装配机器人可以根据单应性矩阵对目标区域的网格区域划分结果进行校正,校正后的网格区域划分结果可以被用于确定目标物体对应的目标网格区域。而相较于目标区域的第一网格区域划分结果和第二网格区域划分结果,校正后的网格区域划分结果更加准确,更加有利于确定目标物体对应的目标网格区域,可以提升后续对目标网格区域进行视觉定位的精度。其中,单应性矩阵是指在计算机视觉领域中,表述空间中同一平面的任一两幅图像通过单应性关联在一起的矩阵,单应性矩阵通常可以应用于图像校正、图像拼接或者相机位姿估计等方面,当然,还可以采用其他的方式可以对目标区域的网格区域划分结果进行校正,本说明书中并不对此进行限制。

在一实施例中,装配机器人可以对目标网格区域进行视觉定位,从而可以根据视觉定位结果将目标物体装配至对应的收纳位置,或者将目标物体从目标网格区域对应的收纳位置处卸载。

当然,装配机器人可以采用深度相机对目标网格区域进行视觉定位,装配机器人还可以利用红外线定位技术、超声波定位技术或者双目相机空间定位技术等对目标网格区域进行定位,本说明书中并不对此进行限制。

图7是本说明书示出的一种收纳位置识别方法的流程图。如图7所示,该方法可以应用于装配设备(如图5所示的装配机器人等,并由机器人中包含的控制部或者其他的控制设备实现控制逻辑);以目标物体为服务器硬盘进行示例性描述;该方法可以包括以下步骤:

步骤702,接收指示信息。

在本实施例中,装配机器人可以根据接收到的指示信息进行移动。其中该指示信息中包括将目标硬盘插入5号机房中第03号机柜的f04服务器中对应编号为x001的收纳位置。也就是说,目标硬盘对应的目标服务器编号为f04,对应的收纳位置编号为x001。

步骤704,对视觉相机进行初步调整。

步骤706,调整视觉相机的图像采集区域。

在本实施例中,装配机器人可以根据指示信息移动至5号机房中的第03号机柜前,装配机器人可以先对视觉相机进行找正,以使得视觉相机镜头的平面与服务器机柜中的服务器平面相平行。其中,装配机器人可以根据ransac(randomsampleconsensus,随机抽样一致)算法确定服务器特征平面,根据服务器特征平面方程完成相机找正。

在本实施例中,假定每台服务器都有对应的二维码标识,二维码标识与对应的服务器的相对位置关系为二维码标识在服务器的左侧、二维码标识的中心点与对应的服务器中心点在同一条水平线上以及二维码标识的中心点距离对应的服务器中心点为260毫米,其中二维码标识的识别结果中包含服务器的编号。

那么装配机器人中的视觉相机可以依次采集图像采集区域内的对应于各个服务器设备的二维码标识,并对采集到的二维码标识进行识别。在二维码标识的识别结果与目标服务器的编号一致的情况下,可以确定该二维码标识为对应于目标服务器的目标二维码标识。装配机器人可以获取采集到的目标二维码标识的坐标位置,并且根据二维码标识与服务器之间的上述相对位置关系,可以确定目标服务器的大致位置,可以根据目标服务器的大致位置调整视觉相机的图像采集区域,以将目标服务器调整至图像采集区域的中央位置。

步骤708,生成服务器特征模型。

在本实施例中,可以通过对服务器特征模型进行模型训练,从而生成服务器特征模型。其中,服务特征模型的训练过程如下所示:分别从各个服务器样本图像中截取出对应于服务器边缘区域的服务器边缘样本图像,在每个服务器边缘样本图像中标注有相应的特征点,采用多个服务器边缘样本图像对服务器特征模型进行训练,得到如图8所示的服务器特征模型中的服务器特征点,该服务器特征模型中有4个服务器特征点,即特征点81,特征点82,特征点83和特征点84,其中特征点81为服务器边缘的包含多个像素点的指示灯区域,特征点82为服务器边缘的包含多个像素点的开关区域,而特征点83和特征点84均为单个像素点。

在本实施例中,采用多个服务器边缘样本图像对服务器特征模型进行训练,在训练过程中仅需要在服务器边缘样本图像上标注特征点,无需在整个服务器图像上标注特征点,从而可以大幅减少训练过程中需要的数据量和训练过程中的运算量,可以显著简化训练过程。

在本实施例中,假定服务器特征点模型中记录的上述4个特征点与对应的服务器中心点之间的相对位置关系如下:

特征点81在x轴方向距离服务器中心点的距离为-x3至-x4之间,在y轴上距离服务器中心点的距离为+y1至+y2之间;

特征点82在x轴方向距离服务器中心点的距离为-x5至-x6之间,在y轴上距离服务器中心点的距离为+y3至+y4之间;

特征点83在x轴方向距离服务器中心点的距离为+x7,在y轴上距离服务器中心点的距离为-y5;

特征点84在x轴方向距离服务器中心点的距离为+x8,在y轴上距离服务器中心点的距离为+y6。

步骤710,根据服务器特征模型对图像进行特征点匹配。

步骤712,将服务器特征点转换为服务器中心点。

在本实施例中,可以将服务器特征模型与视觉相机的图像采集区域pic内的图像进行特征点匹配,假定图像采集区域内包含3个服务器对应的图像,如图9示出了图像采集区域pic内的3组服务器特征点,其中第1组服务器特征点包括特征点911、特征点912、特征点913和特征点914,第2组服务器特征点包括特征点921、特征点922、特征点923和特征点924,第3组服务器特征点包括特征点931、特征点932、特征点933和特征点934。

装配机器人可以根据上述服务器特征模型中记录的服务器特征点与服务器中心点之间的相对位置关系,可以确定出每一组服务器特征点对应的服务器中心点,如图9所示。

在本实施例中,在根据第1组服务器特征点确定出的服务器中心点的数量为多个的情况下,装配机器人可以采用密度峰值聚类算法对第1组服务器特征点对应的多个服务器中心点进行聚类,以获取对应的聚类中心点c,其中,获取到的聚类中心点的数量可能为一个或者多个。而根据第2组服务器特征点确定出了服务器中心点a,根据第3组服务器特征点确定出了服务器中心点b。当然,装配机器人也可以对全部3组的服务器特征点确定出的服务器中心点进行聚类,此时对第2组服务器中心点对应的聚类中心点仍然为服务器中心点a,对第3组服务器中心点对应的聚类中心点仍然为服务器中心点b,本说明书中并不对此进行限制。

装配机器人将获取到的聚类中心点c、服务器中心点a和服务器中心点b与中央位置进行比较,并且将最靠近中央位置的服务器中心点a确定为目标服务器的目标中心点,获取该目标中心点的位置。

步骤714,确定目标区域。

在本实施例中,根据服务器中心点与服务器区域之间的相对位置关系,可以确定出目标中心点即服务器中心点a对应的目标区域92。假定服务器端面尺寸长为420mm,宽为100mm的长方形区域,那么结合目标中心点位置和服务器端面尺寸,可以划定目标服务器对应的目标区域92。

当然,还可以分别根据聚类中心点c和服务器中心点b以及服务器区域之间的相对位置关系,可以确定出聚类中心c对应的服务器区域91和确定出服务器中心点b对应的服务器区域93,本说明书中并不对此进行限制。

步骤716,生成硬盘特征模型。

在本实施例中,可以通过对硬盘特征模型进行模型训练,从而生成硬盘特征模型。其中,硬盘特征模型的训练过程如下所示:在多个硬盘样本图像中标注相应的硬盘特征点,这些硬盘样本图像中可以仅包含单个硬盘的图像。硬盘特征点可以是包含多个像素点的开关区域或者包含多个像素点的指示灯区域等,硬盘特征点也可以是单个像素点,另外硬盘特征点可以包括整个硬盘端面的特征点或者可以仅包括硬盘端面的边缘区域的特征点,本说明书中并不对此进行限制。其中,硬盘特征模型的训练以及生成过程与上述步骤708中服务器特征模型的过程类似,此处不再赘述。

在本实施例中,硬盘特征模型中可以记录有硬盘特征模型中包含的硬盘特征点与对应的硬盘中心点之间的相对位置关系。

步骤718,根据硬盘特征模型对目标区域进行特征点匹配。

步骤720,将硬盘特征点转换为硬盘中心点。

步骤722,对目标区域进行网格区域划分。

在本实施例中,可以将硬盘特征模型与上述目标区域92内的图像进行特征点匹配,假定该目标区域92内共包含12个硬盘,这些硬盘都装配在相应的插槽中,假定共确定出了12组硬盘特征点,其中,插槽即为硬盘对应的收纳位置。

在本实施例中,装配机器人可以根据上述硬盘特征模型中记录的硬盘特征点与硬盘中心点之间的相对位置关系,可以确定出每组硬盘特征点对应的硬盘中心点。

在本实施例中,在根据任意一组硬盘特征点确定出的硬盘中心点的数量为多个的情况下或者在确定出的各个硬盘中心点不符合预设的硬盘排列方向的情况下,装配机器人可以采用密度峰值聚类算法对该组硬盘特征点对应的多个硬盘中心点进行聚类,以获取对应的聚类中心点。装配机器人可以将各个聚类中心点中所处的位置匹配于预设的硬盘排列方向的聚类中心点确定为对应于每组硬盘特征点的硬盘中心点。其中,装配机器人可以利用ransac算法和/或最小二乘法等对获取到的聚类中心进行拟合即将各个聚类中心点所处的位置与预设的硬盘排列方向进行匹配。当然,还可以采用其他算法对聚类中心进行拟合,以使得硬盘中心点与预设的硬盘排列方向相匹配,本说明书中并不对此进行限制。

假定预设的硬盘排列方向为沿水平方向按一直线排列,那么将最接近于沿水平方向按一直线排列的中心点选取为硬盘中心点。以图10为例进行说明,根据硬盘特征模型确定出的硬盘中心点分别为“d′11”、“d′12”、“d′13”和“d′14”,虚线l即为预设的硬盘排列方向,装配机器人根据ransac算法和/或最小二乘法等对获取到的中心点进行拟合,得到如图10所示的硬盘中心点“d11”、“d12”、“d13”和“d14”,并根据拟合后得到的硬盘中心点对目标区域92进行网格区域划分。

在本实施例中,根据硬盘中心点与网格区域之间的相对位置关系,可以确定出硬盘中心点对应的网格区域。如图11所示,假定硬盘端面尺寸长为100mm,宽为30mm的长方形区域,那么结合各个硬盘中心点d的位置和硬盘端面尺寸,可以对目标区域92进行网格区域划分,获得第一网格区域划分结果a。

步骤724,生成阵列特征模型。

在本实施例中,可以通过对阵列特征模型进行模型训练,从而生成阵列特征模型。其中,阵列特征模型的训练过程如下所示:分别从多个服务器样本图像中截取出对应于硬盘阵列区域的阵列样本图像,在各个阵列样本图像中标注相应的阵列特征点,阵列特征点可以是包含多个像素点的开关区域或者包含多个像素点的指示灯区域等,阵列特征点也可以是单个像素点。并且一部分阵列特征点可以与上述服务器特征点、硬盘特征点相一致。其中,阵列特征模型的训练以及生成过程与上述步骤708中服务器特征模型的过程类似,此处不再赘述。

步骤726,对目标区域进行网格区域划分。

在本实施例中,装配机器人可以根据阵列模型中定义的标准网格阵列对目标区域92进行网格区域划分,生成第二网格区域划分结果b,如图12所示。其中阵列特征点在标准网格阵列中对应的位置与在第二网格区域划分结果b中的位置相一致。

步骤728,确定单应性矩阵。

在本实施例中,服务器可以根据硬盘特征模型获取到第一网格区域划分结果a,服务器还可以根据阵列特征模型获取到第二网格区域划分结果b,服务器可以计算出第一网格区域划分结果a和第二网格区域划分结果b之间的单应性矩阵,那么服务器可以根据该单应性矩阵对目标区域92的网格区域划分结果进行校正,获得校正后的网格区域划分结果c。

步骤730,对目标网格区域进行视觉定位。

在本实施例中,服务器可以根据预定义的目标服务器中收纳位置顺序,其中,目标服务器中硬盘顺序可以为目标服务器中各个收纳位置对应的编号,那么可以从校正后的网格区域划分结果c中确定出对应于收纳位置的编号x001的目标网格区域,如图13所示。装配机器人可以利用深度相机对目标网格区域进行视觉定位,以根据视觉定位结果将目标硬盘插入和/或拔出所述收纳位置。

由以上技术方案可见,本说明书中通过将目标对象调整图像采集区域内的预设位置处,并且根据识别出的对象中心点确定出目标对象对应的目标区域,从而确定出目标物体对应的目标网格区域,可以将目标物体装配到目标网格区域对应的收纳位置或者从目标网格区域对应的收纳位置处卸载,可以使得装配机器人准确移动到对应的目标对象处并可以定位到目标物体对应的网格区域,可以使得装配机器人准确地对目标对象实施装配或者卸载作业,从而提升对目标物体的装配效率。

图14是本说明书示出的一种物体装配方法的流程图。如图14所示,该方法可以应用于装配设备(如图5所示的装配机器人等,并由机器人中包含的控制部或者其他的控制设备实现控制逻辑);该方法可以包括以下步骤:

步骤1402,对目标收纳部进行视觉定位,并根据视觉定位结果将目标物体移动至所述目标收纳部处的初始位置。

在一实施例中,装配机器人可以对目标收纳部进行视觉定位,并根据视觉定位的结果将目标物体移动至目标收纳部对应的初始位置处,从而使得目标物体与目标收纳部预对准。其中目标物体可以是服务器硬盘、电池片和过滤片等需要进行装配的物体,目标收纳部可以是可以容纳目标物体的装置,例如收纳槽、收纳孔、装配槽或者插槽等,本说明书中并不对此进行限制。例如,装配机器人可以根据深度相机检测到的目标收纳部的空间位置对目标收纳部进行视觉定位,从而使得装配机器人可以根据视觉定位结果将目标物体移动至目标收纳部处的初始位置,其中,深度相机进行视觉定位的精度为1-2毫米,即装配机器人可以根据深度相机将目标物体与目标收纳部之间的对准精度调整至1-2毫米。其中,深度相机可以是基于主动投射结构光的深度相机、被动双目相机以及基于光飞行时间的深度相机等,本说明书中并不对此进行限制。

在一实施例中,装配机器人可以对目标收纳部进行初始定位,并根据初始定位的结果将目标物体移动至目标收纳部对应的初始位置处。装配机器人进行初始定位的方式可以包括:利用红外线定位技术进行定位、利用超声波定位技术进行定位或者利用双目相机空间定位技术进行定位等等,本说明书中并不对此进行限制。

步骤1404,在将所述目标物体从所述初始位置插入所述目标收纳部的过程中,获取所述目标物体的受力信息。

在一实施例中,在将目标物体从上述初始位置插入目标收纳部的过程中,装配机器人中的力检测部可以获取该目标物体的受力信息。该受力信息可以包括目标物体与目标收纳部之间的接触力和对应于该接触力的作用力矩等信息,本说明书中并不对此进行限制。

步骤1406,根据所述受力信息对所述目标物体进行姿态调整,使所述目标物体对准并插入所述目标收纳部。

在一实施例中,装配机器人可以根据获取到的受力信息对目标物体进行姿态调整,姿态调整可以包括将目标物体沿调整方向移动对应的调整距离,其中,调整方向可以包括沿水平轴向、垂直轴向或者是预先设定的方向等,本说明书中并不对此进行限制。

在一实施例中,在目标物体的接触力不小于接触力阈值或者作用力矩不小于力矩阈值的情况下,表明目标物体没有对准目标收纳部,装配机器人可以将目标物体沿调整方向移动相应的调整距离。而在接触力小于接触力阈值且作用力矩小于力矩阈值的情况下,表明目标物体已经对准目标收纳部,那么目标物体与目标收纳部之间不会发生剧烈碰撞、接触力和作用力矩均处于安全范围内,装配机器人可以将目标物体向插入目标收纳部中插入一段的固定的距离,其中,该固定距离可以根据实际需要进行设定。

在一实施例中,装配机器人还可以预先建立坐标系,例如,为了便于后续的计算,装配机器人可以预先建立三维坐标系,并将三维坐标系的竖向坐标与横向坐标组成的平面坐标系调整至与目标收纳部所属的目标设备的前表面平行等。当然还可以根据实际需要建立多维坐标系等,本说明中并不对此进行限制。

在一实施例中,在目标物体的接触力不小于接触力阈值或作用力矩不小于力矩阈值的情况下,装配机器人可以将获取到的接触力以及作用力矩等输入预设的零力矩点计算公式中,从而获得该目标物体的零力矩点位置。以及装配机器人预先设定夹持部夹持在目标物体的预设位置处,因而装配机器人还可以直接计算出此时目标物体的几何中心点的位置。

在一实施例中,装配机器人可以将目标物体的零力矩点位置和中心点位置进行比较,而在目标物体的零力矩点位置和中心点位置在调整方向上的偏移距离不小于偏移阈值的情况下,可以根据零力矩点位置对目标物体进行移动;在目标物体的零力矩点位置和中心点位置在调整方向上的偏移距离小于偏移阈值的情况下,装配机器人无需将目标物体沿调整方向进行移动。

在一实施例中,装配机器人可以获取目标物体的接触力在调整方向上的目标分力,并且在该目标分力不小于分力阈值的情况下,装配机器人可以根据该目标分力对目标物体进行移动;在目标分力小于分力阈值的情况下,装配机器人无需根据目标分力对目标物体沿调整方向进行移动。

在一实施例中,装配机器人可以获取零力矩点位置和中心点位置在调整方向上的偏移距离以及目标物体的接触力在调整方向的目标分力,并且装配机器人还可以根据零力矩点位置和中心点位置之间的相对关系确定出目标物体的力矩移动方向,例如力矩移动方向可以为从目标物体的中心点位置指向零力矩点位置的方向。装配机器人还可以根据目标分力确定出目标物体的分力移动方向,例如分力移动方向可以为该目标分力指向的方向。在力矩移动方向匹配于分力移动方向的情况下,即力矩移动方向与分力移动方向一致,装配机器人可以根据零力矩点位置对目标物体进行移动;在力矩移动方向不匹配于分力移动方向的情况下,即力矩移动方向与分力移动方向不一致,那么装置机器人可以根据目标分力对目标物体进行移动。

在一实施例中,装配机器人在根据零力矩点位置对目标物体进行移动的情况下,目标物体对应的调整距离即为零力矩点位置和中心点位置在调整方向上的偏移距离,而调整方向可以为从目标物体的中心点位置指向零力矩点位置的方向。

在一实施例中,装配机器人在根据目标分力对目标物体进行移动的情况下,装配机器人可以根据分力与调整距离的映射关系确定出对应于目标分力的调整距离,而该调整距离即为调整距离,而调整方向可以为目标分力的方向。

在一实施例中,调整方向可以为沿上述建立的坐标系的轴向,其中调整方向可以包括下述至少之一:沿水平轴向的正方向、沿水平轴向的负方向、沿垂直轴向的正方向、沿垂直轴向的负方向等。

在一实施例中,若目标物体对应的零力矩点位置和目标物体中心点位置在任一调整方向上的偏移距离均小于偏移阈值且接触力在任一调整方向上的目标分力均小于分力阈值的情况下,装配机器人仍然无法将目标物体成功插入对应的目标收纳部中,表明此时存在异常情况。那么装配机器人还可以根据目标物体的预设调整方向和对应于该预设调整方向的预设调整距离对目标物体进行尝试性调整,并且将尝试性调整后的目标物体继续插入目标收纳部中,可以获取目标物体的受力信息,并且根据受力信息重新确定是否对目标物体继续进行姿态调整,直至将目标物体成功插入对应的目标收纳部中,其中,预设调整方向可以根据实际需要进行设置,而对应的预设调整距离也可以根据实际需要进行设置,本说明书中并不对此进行限制。例如,装配机器人可以将目标物体先沿水平轴向的正方向移动0.1毫米,然后将目标物体缓慢插入目标收纳部中,此时可以获取目标物体的受力信息,并且如前述根据受力信息确定是否对目标物体进行姿态调整,假定此时目标物体的受力信息仍然为目标物体对应的零力矩点位置和目标物体中心点位置在任一调整方向上的偏移距离均小于偏移阈值且接触力在任一调整方向上的目标分力均小于分力阈值的情况下,但是仍然无法将目标物体插入所述目标收纳部中,那么装配机器人可以再将目标物体沿垂直轴向的负方向移动0.1毫米,并继续尝试将目标物体缓慢插入目标收纳部中,并获取物体的受力信息,并且如前述根据受力信息确定是否对目标物体进行姿态调整,直至可以将目标物体可以成功插入目标收纳部。

在一实施例中,装配机器人还可以检测目标物体插入目标收纳部的深度,并且在深度不小于深度阈值的情况下,装配机器人可以停止根据受力信息对目标物体进行姿态调整。也就是说,在装配机器人检测到目标物体插入目标收纳部的深度大于深度阈值的情况下,表明目标物体已经准确定位、可以成功插入对应的目标收纳部,目标物体的后续插入过程可以借助对应的目标收纳部作为导向参考。装配机器人可以在每次对目标物体进行姿态调整后检测目标物体插入目标收纳部的深度或者装配机器人可以按照预设时间段检测目标物体插入目标收纳部的深度等,本说明书中并不对此进行限制。

当然,在本说明书的技术方案中,目标物体可以是服务器硬盘,那么对应的目标收纳部可以是服务器硬盘的插槽等,对服务器硬盘进行装配的过程与上述实施例类似,所涉及的实施细节同样可参考上述实施例,因此下文不再赘述。

为了便于理解,下面结合附图对本说明书的技术方案进行进一步说明。请参见图15,图15是本说明书一示例性实施例提供的一种物体装配方法的流程图。以目标物体为服务器硬盘进行示例性描述,该方法应用于装配设备(如图5所示的装配机器人等,并由机器人中包含的控制部或者其他的控制设备实现控制逻辑);该方法可以包括以下步骤:

步骤1502,对服务器上的目标插槽进行视觉定位。

在本实施例中,装配机器人可以根据深度相机检测到的目标插槽的空间位置信息对目标装配槽进行视觉定位,那么装配机器人可以根据视觉定位结果驱动夹持部将目标硬盘移动至目标插槽的初始位置处,其中,深度相机进行视觉定位的精度为1-2毫米,那么装配机器人可以将目标硬盘与目标插槽之间的对准精度调整至1-2毫米。而目标硬盘与目标插槽之间的相对位置的间隙范围要求不大于0.5毫米,因而只有在目标硬盘与目标插槽之间的间隙范围小于0.5毫米的情况下,才能表明目标硬盘已经对准目标插槽,目标硬盘可以顺利插入目标插槽,目标硬盘与目标插槽之间不会发生剧烈碰撞。

步骤1504,将目标硬盘沿目标插槽的轴向移动固定距离。

步骤1506,检测受力信息。

在本实施例中,在目标硬盘处于初始位置的情况下,装配机器人可以驱动夹持部件将目标硬盘沿目标插槽的轴向持续缓慢移动固定距离,以接近目标插槽,可以使得目标硬盘逐渐接近并插入目标插槽中。假设装配机器人中的力检测部为六维力传感器,那么六维力传感器可以检测目标硬盘在每次缓慢移动固定距离过程中的受力信息,该受力信息包括目标硬盘与目标插槽之间的接触力f和对应的作用力矩m。其中,固定距离的大小可以根据目标硬盘和目标插槽的实际情况进行设置,本说明书中并不对此进行限制。

在本实施例中,将目标硬盘持续缓慢接近目标插槽,可以使得目标硬盘与目标插槽之间不会发生剧烈碰撞并且目标硬盘与目标插槽之间的接触力始终处于安全范围内,其中,目标硬盘与目标插槽之间存在安全受力极限,而目标硬盘缓慢插入目标插槽的速度需要根据安全受力极限进行相应的调整,以保证目标硬盘与目标插槽之间的接触力f和作用力矩m都在安全范围内,从而保证目标硬盘与目标插槽均不会损坏。

步骤1508,判断接触力是否小于接触力阈值以及判断作用力矩是否小于力矩阈值。

在本实施例中,装配机器人可以判断检测到的受力信息中的接触力f是否小于预先设定的接触力阈值以及作用力矩m是否小于力矩阈值。其中,接触力阈值和力矩阈值可以在装配机器人进行预先设定或者可以由其他设备发送至装配机器人中,本说明书中并不对此进行限制。

若检测到的受力信息中接触力f小于接触力阈值且作用力矩m小于力矩阈值,则可以表明目标硬盘已经对准目标插槽,也就是说,目标硬盘可以顺利地进入目标插槽中并且目标硬盘与目标插槽之间不会产生接触力或者仅产生轻微接触力,例如,目标硬盘的外表面与目标插槽的内表面相擦等等,转入步骤1516。

若检测到的受力信息中的接触力f不小于接触力阈值或者作用力矩m不小于力矩阈值,则可以表明目标硬盘没有对准目标插槽,也就是说,目标硬盘的外表面与目标插槽的内表面产生较大的接触力,装配机器人需要将目标硬盘沿调整方向调整相应的调整距离,转入步骤1510。

步骤1510,确定零力矩点位置和中心点位置。

在本实施例中,装配机器人可以预先建立三维坐标系,如图16所述的xyz轴,以x轴为水平轴向,y轴向为垂直轴向,z轴为沿目标插槽的轴向,那么目标硬盘的调整方向可以包括沿水平轴向的正方向、沿水平轴向的负方向、沿垂直轴向的正方向或者沿垂直轴向的负方向。当然,该坐标系的方向还可以根据实际需要进行设定,本说明书中并不对此进行限制。

在本实施例中,装配机器人可以将获取到的接触力f、作用力矩m以及目标硬盘的质心在坐标系中的坐标信息等输入预设的零力矩点计算公式中,从而计算得到目标硬盘的零力矩点位置(x1,y1,z1)。以及假设装配机器人预先设定了每次都夹持在目标硬盘的两个侧立面的中央位置,并且装配机器人已预先获取了目标硬盘的尺寸信息即目标硬盘的长、宽和高等信息,那么装配机器人还可以计算出目标硬盘此时的几何中心点位置(x2,y2,z2)。

步骤1512,获取目标硬盘在水平轴向的分力和垂直轴向的分力。

在本实施例中,装配机器人还可以根据获取到的接触力f,分别获取目标硬盘在x轴、y轴和z轴方向的分力fx,fy和fz。

步骤1514,根据水平轴向位置和垂直轴向位置对目标硬盘进行调整。

在本实施例中,装配机器人可以获取目标硬盘的零力矩点位置和目标硬盘的中心点位置在水平轴向上的偏移距离即(x1-x2),而假定偏移阈值为0.5mm即0.5毫米,装配机器人还可以获取目标硬盘在水平轴向上的分力fx,假定水平轴向上的分力阈值为2n即2牛。

在本实施例中,若目标硬盘的偏移距离(x1-x2)的绝对值不小于0.5mm或者fx不小于2牛,则可以标明目标硬盘在水平轴向上的位置不正确,装配机器人首先将目标硬盘沿目标插槽的轴向缓慢回退上述固定距离,然后装配机器人将目标硬盘在水平轴向上进行位置调整。

装配机器人可以根据零力矩点位置和中心点位置之间的相对关系确定出目标物体的力矩移动方向以及根据目标分力fx确定出目标物体的分力移动方向,并且在力矩移动方向匹配于分力移动方向的情况下,根据零力矩点位置对目标硬盘进行移动;在力矩移动方向不匹配于分力移动方向的情况下,根据目标分力对目标硬盘进行移动。

例如,若偏移距离为(x1-x2)为-0.8mm,可以确定目标硬盘需要沿水平轴向的负方向进行移动,即力矩移动方向为沿水平轴向的负方向。而若水平轴向上的分力fx也为沿水平轴向上的负方向,即分力移动方向为沿水平轴向的负方向。那么可以确定力矩移动方向与分力移动方向一致,装配机器人可以根据零力矩点位置将目标物体沿水平轴向上的负方向移动-0.8mm。

若偏移距离为(x1-x2)为+0.8mm,可以确定目标硬盘需要沿水平轴向的正方向进行移动,即力矩移动方向为沿水平轴向的正方向。而若水平轴向上的目标分力fx沿水平轴向上的负方向,即分力移动方向为沿水平轴向上的负方向。那么可以确定力矩移动方向与分力移动方向不一致,装配机器人可以根据目标分力fx对目标硬盘进行移动。其中,装配机器人中可以预先维护有目标分力与移动距离的映射关系,例如在fx为+1n时,将目标硬盘沿水平轴向的正方向移动0.1mm;在fx为+2n时,将目标硬盘沿水平轴向的正方向移动0.2mm;在fx为-1n时,将目标硬盘沿水平轴向的负方向移动0.1mm等。假定此时目标分力fx为-1n,那么装配机器人可以根据相应的映射关系确定将目标硬盘沿水平轴向上的负方向移动0.1mm。

在本实施例中,在力矩移动方向与分力移动方向一致的情况下,可以表明计算出的零力矩点位置准确性和可靠性较高,那么装配机器人可以根据零力矩点位置对目标硬盘进行移动,以使得目标硬盘接近于目标硬盘在水平轴上的正确位置。在力矩移动方向与分力移动方向不一致的情况下,可以表明计算出的零力矩点位置存在较大误差,那么装配机器人可以根据目标分力对目标硬盘进行移动,以使得目标硬盘更加接近于目标硬盘在水平轴上的正确位置。

在本实施例中,若偏移距离(x1-x2)的绝对值小于偏移阈值0.5mm且fx小于分力阈值2n,则可以表明目标硬盘在水平轴向上的位置正确,目标硬盘不需要在水平轴向进行位置调整,那么装配机器人也就不需要在水平轴向上对目标硬盘进行移动。

在本实施例中,装配机器人可以获取目标硬盘的零力矩点位置和目标硬盘的中心点位置在垂直轴向上的偏移距离(y1-y2),假定偏移阈值为0.5mm即0.5毫米,装配机器人还可以获取目标硬盘在垂直轴向上的分力fy,假定水平轴向上的分力阈值为2n即2牛。

若偏移距离(y1-y2)的绝对值不小于0.5mm或者fy不小于2n,则可以表明目标硬盘在垂直轴向上的位置不正确,装配机器人首先将目标硬盘沿目标插槽的轴向缓慢回退上述固定距离,然后装配机器人将目标硬盘在垂直轴向上进行位置调整,其中,位置调整过程与目标硬盘在水平轴向上的调整过程相类似,所涉及的实施细节同样可参考上述目标硬盘在水平轴向上的调整过程,此处不再赘述。

若偏移距离(y1-y2)的绝对值小于0.5mm且fy小于2n,则可以表明目标硬盘在垂直轴向上的位置正确,目标硬盘不需要在垂直轴向进行位置调整,那么装配机器人也就不需要在垂直轴向上对目标硬盘进行移动。

在本实施例中,在将目标硬盘沿水平轴向上进行移动后和/或将目标硬盘沿垂直轴向上进行移动后,转入步骤1504。

步骤1516,判断目标硬盘插入目标插槽的深度是否达到深度阈值。

在本实施例中,在检测到的受力信息中接触力f小于接触力阈值且作用力矩m小于力矩阈值的情况下,装配机器人还可以检测目标硬盘插入目标插槽的深度,并且在检测到目标硬盘插入目标插槽的深度小于深度阈值的情况下,装配机器人可以对目标硬盘进行姿态调整;在深度不小于深度阈值h的情况下,装配机器人可以停止根据受力信息对目标硬盘进行姿态调整,转入步骤1518。

步骤1518,将目标硬盘沿目标插槽的轴向插入。

在装配机器人检测到目标硬盘插入目标插槽的深度大于深度阈值h的情况下,表明目标硬盘已经准确定位、可以成功插入对应的目标插槽,目标硬盘的后续插入过程可以直接借助对应的目标插槽作为导向参考,而不再需要对目标硬盘进行姿态调整。

在本实施例中,目标硬盘对应的零力矩点位置和目标硬盘中心点位置在任一调整方向上的偏移距离均小于偏移阈值且接触力在任一调整方向上的目标分力均小于分力阈值的情况下,但是装配机器人仍然无法将目标硬盘成功插入对应的目标插槽中,表明此时目标硬盘存在异常情况或者目标硬盘与目标插槽之间存在异常情况等。那么装配机器人还可以根据目标硬盘的预设调整方向和对应于该预设调整方向的预设调整距离对目标硬盘进行尝试性调整,并将尝试性调整后的目标硬盘继续插入目标插槽中,获取目标硬盘的受力信息,并根据受力信息对所述目标硬盘进行姿态调整,直至将目标硬盘可以成功插入对应的目标插槽中,其中,预设调整方向可以根据实际需要进行设置,而对应的预设调整距离也可以根据实际需要进行设置。例如,装配机器人可以将目标硬盘沿水平轴向的正方向移动0.1毫米,然后将目标硬盘继续缓慢插入目标插槽中,若仍然无法将目标硬盘插入目标插槽中且目标硬盘的受力信息为目标硬盘对应的零力矩点位置和目标硬盘的中心点位置在任一调整方向上的偏移距离均小于偏移阈值且所述接触力在所述任一调整方向上的目标分力均小于分力阈值,则将上一个调整动作沿顺时针旋转90度后得到新的调整方向,该新的调整方向为沿垂直轴向上的负方向,装配机器人可以将目标硬盘沿垂直轴向的负方向移动0.1毫米,然后将目标硬盘继续缓慢插入目标插槽中,获取目标硬盘的受力信息,并根据受力信息对目标硬盘进行姿态调整,按照该方式持续进行螺旋搜索,直至可以将目标硬盘成功插入对应的目标插槽中。当然,还可以将上一个调整动作沿逆时针旋转预设角度得到新的调整方向进行尝试等,本说明书中并不对此进行限制。

由以上技术方案可见,本说明书中检测目标物体从初始位置开始插入目标插槽过程中的受力信息,并根据受力信息对目标物体进行姿态调整,以使得目标物体对准并插入目标收纳部中,可以保证目标物体安全准确地插入目标收纳部中,可以避免目标物体与目标收纳部之间发生碰撞而造成损坏,并且可以通过装配机器人实现对目标物体的全自动插入和拔出控制,可以提升目标物体的装配效率,降低了对目标物体进行装配过程中的成本。

图17示出了根据本说明书的一示例性实施例的电子设备的结构示意图。请参考图17,在硬件层面,该电子设备包括处理器1702、内部总线1704、网络接口1706、内存1708以及非易失性存储器1710,当然还可能包括其他业务所需要的硬件。处理器1702从非易失性存储器1710中读取对应的计算机程序到内存1708中然后运行,在逻辑层面上形成收纳位置识别装置。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

请参考图18,在软件实施方式中,该收纳位置识别装置可以包括第一目标区域确定单元1802和第一网格区域确定单元1804。其中:

第一目标区域确定单元1802,用于确定目标物体所属的目标对象对应的目标区域;

第一网格区域确定单元1804,用于对所述目标区域进行网格区域划分,并根据网格区域划分结果以及物体与网格区域之间的映射关系,确定所述目标物体对应的目标网格区域,以作为所述目标物体在所述目标对象上对应的收纳位置。

可选的,所述第一目标区域确定单元1802具体用于:

在采集到的视觉图像区域中识别所述目标区域对应的目标中心点;

将所述目标中心点对应的对象区域确定为所述目标对象对应的目标区域。

可选的,所述第一目标区域确定单元1802具体用于:

将所述目标对象调整至所述视觉图像区域的预设位置处;

识别在所述视觉图像区域中的对象中心点,并将所述视觉图像区域中所处的位置匹配于所述预设位置的对象中心点确定为对应于所述目标对象的目标中心点。

可选的,所述第一目标区域确定单元1802具体用于:

依次识别所述视觉图像区域内对应于各个对象的条码标识,以确定所述目标对象对应的目标条码标识,所述目标条码标识的识别结果匹配于所述目标对象的预设描述信息;

根据所述目标条码标识在所述视觉图像区域中的位置以及所述目标条码标识与所述目标对象之间的相对位置关系,将所述目标对象调整至所述视觉图像区域的所述预设位置处。

可选的,所述第一目标区域确定单元1802具体用于:

根据对象特征模型对所述视觉图像区域内的图像进行特征点匹配,以确定出至少一组对象特征点;

根据对象特征点与对象中心点之间的相对位置关系,确定每组对象特征点分别对应的对象中心点。

可选的,所述对象特征模型用于识别对象边缘区域的特征点。

可选的,所述预设位置包括所述视觉图像区域的中央位置;所述第一目标区域确定单元1802具体用于:

在根据任一组对象特征点确定出多个对象中心点的情况下,对所述多个对象中心点进行聚类,以获取对应的聚类中心点;

将最靠近所述中央位置的聚类中心点确定为对应于所述目标对象的目标中心点。

可选的,所述第一网格区域确定单元1804具体用于:

根据物体特征模型对所述目标区域内的图像进行特征点匹配,以确定出至少一组物体特征点;

根据物体特征点与物体中心点之间的相对位置关系,确定每组物体特征点分别对应的物体中心点;

根据物体中心点与网格区域之间的相对位置关系,将所述目标区域进行网格区域划分。

可选的,所述第一网格区域确定单元1804具体用于:

在根据任一组物体特征点确定出多个物体中心点的情况下,对所述多个物体中心点进行聚类,以获取对应的聚类中心点;

将所处的位置匹配于预设的物体排列方向的聚类中心点确定为对应于每组物体特征点的物体中心点。

可选的,所述物体排列方向包括下述至少之一:水平方向、垂直方向。

可选的,所述第一网格区域确定单元1804具体用于:

根据阵列特征模型对所述目标区域内图像进行特征点匹配,以确定出至少一组阵列特征点;

根据所述阵列特征模型中定义的标准网格阵列对所述目标区域进行网格区域划分,生成目标网格阵列;其中,所述阵列特征点在所述目标网格阵列中对应的位置与在所述标准网格阵列中对应的位置一致。

可选的,还包括:

第一计算单元1806,用于在根据所述物体特征模型获取所述目标区域的第一网格区域划分结果且根据所述阵列特征模型获取所述目标区域的第二网格区域划分结果的情况下,计算出所述第一网格区域划分结果与所述第二网格区域划分结果之间的单应性矩阵;

第一校正单元1808,用于根据所述单应性矩阵对所述目标区域的网格区域划分结果进行校正,校正后的网格区域划分结果被用于确定所述目标物体对应的目标网格区域。

可选的,还包括:

第一视觉定位单元1810,用于对所述目标网格区域进行视觉定位,以根据视觉定位结果将所述目标物体装配至所述目标网格区域对应的收纳位置,或将所述目标物体从所述目标网格区域对应的收纳位置处卸载。

请参考图19,在软件实施方式中,该收纳位置识别装置可以包括第二目标区域确定单元1902和第二网格区域确定单元1904。其中:

第二目标区域确定单元1902,用于确定目标物体所属的目标服务器对应的目标区域;

第二网格区域确定单元1904,用于对所述目标区域进行网格区域划分,并根据网格区域划分结果以及硬盘与网格区域之间的映射关系,确定所述目标硬盘对应的目标网格区域,以作为所述目标硬盘在所述目标服务器上对应的收纳位置。

可选的,所述第二目标区域确定单元1902具体用于:

在采集到的视觉图像区域中识别所述目标区域对应的目标中心点;

将所述目标中心点对应的对象区域确定为所述目标对象对应的目标区域。

可选的,所述第二目标区域确定单元1902具体用于:

将所述目标对象调整至所述视觉图像区域的预设位置处;

识别在所述视觉图像区域中的对象中心点,并将所述视觉图像区域中所处的位置匹配于所述预设位置的对象中心点确定为对应于所述目标对象的目标中心点。

可选的,所述第二目标区域确定单元1902具体用于:

依次识别所述视觉图像区域内对应于各个服务器的条码标识,以确定所述目标服务器对应的目标条码标识,所述目标条码标识的识别结果匹配于所述目标服务器的预设描述信息;

根据所述目标条码标识在所述视觉图像区域中的位置以及所述目标条码标识与所述目标服务器之间的相对位置关系,将所述目标服务器调整至所述视觉图像区域的所述预设位置处。

可选的,所述第二目标区域确定单元1902具体用于:

根据服务器特征模型对所述视觉图像区域内的图像进行特征点匹配,以确定出至少一组服务器特征点;

根据服务器特征点与服务器中心点之间的相对位置关系,确定每组服务器特征点分别对应的服务器中心点。

可选的,所述服务器特征模型用于识别服务器边缘区域的特征点。

可选的,所述预设位置包括所述视觉图像区域的中央位置;所述第二目标区域确定单元1902具体用于:

在根据任一组服务器特征点确定出多个服务器中心点的情况下,对所述多个服务器中心点进行聚类,以获取对应的聚类中心点;

将最靠近所述中央位置的聚类中心点确定为对应于所述目标服务器的目标中心点。

可选的,所述第二网格区域确定单元1904具体用于:

根据硬盘特征模型对所述目标区域内的图像进行特征点匹配,以确定出至少一组硬盘特征点;

根据硬盘特征点与硬盘中心点之间的相对位置关系,确定每组硬盘特征点分别对应的硬盘中心点;

根据硬盘中心点与网格区域之间的相对位置关系,将所述目标区域进行网格区域划分。

可选的,所述第二网格区域确定单元1904具体用于:

在根据任一组硬盘特征点确定出多个硬盘中心点的情况下,对所述多个硬盘中心点进行聚类,以获取对应的聚类中心点;

将所处的位置匹配于预设的硬盘排列方向的聚类中心点确定为对应于每组硬盘特征点的硬盘中心点。

可选的,所述硬盘排列方向包括下述至少之一:水平方向、垂直方向。

可选的,所述第二网格区域确定单元1904具体用于:

根据阵列特征模型对所述目标区域内图像进行特征点匹配,以确定出至少一组阵列特征点;

根据所述阵列特征模型中定义的标准网格阵列对所述目标区域进行网格区域划分,生成目标网格阵列;其中,所述阵列特征点在所述目标网格阵列中对应的位置与在所述标准网格阵列中对应的位置一致。

可选的,还包括:

第二计算单元1906,用于在根据所述硬盘特征模型获取所述目标区域的第一网格区域划分结果且根据所述阵列特征模型获取所述目标区域的第二网格区域划分结果的情况下,计算出所述第一网格区域划分结果与所述第二网格区域划分结果之间的单应性矩阵;

第二校正单元1908,用于根据所述单应性矩阵对所述目标区域的网格区域划分结果进行校正,校正后的网格区域划分结果被用于确定所述目标硬盘对应的目标网格区域。

可选的,还包括:

第二视觉定位单元1910,用于对所述目标网格区域进行视觉定位,以根据视觉定位结果将所述目标硬盘装配至所述目标网格区域对应的收纳位置,或将所述目标硬盘从所述目标网格区域对应的收纳位置处卸载。

图20示出了根据本说明书的一示例性实施例的电子设备的结构示意图。请参考图20,在硬件层面,该电子设备包括处理器2002、内部总线2004、网络接口2006、内存2008以及非易失性存储器2010,当然还可能包括其他业务所需要的硬件。处理器2002从非易失性存储器2010中读取对应的计算机程序到内存2008中然后运行,在逻辑层面上形成物体装配装置。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

请参考图21,在软件实施方式中,该物体装配装置可以包括第一定位单元2102、第一获取单元2104和第一调整单元2106。其中:

第一定位单元2102,用于对目标收纳部进行视觉定位,并根据视觉定位结果将目标物体移动至所述目标收纳部处的初始位置;

第一获取单元2104,用于在将所述目标物体从所述初始位置插入所述目标收纳部的过程中,获取所述目标物体的受力信息;

第一调整单元2106,用于根据所述受力信息对所述目标物体进行姿态调整,使所述目标物体对准并插入所述目标收纳部。

可选的,所述受力信息包括所述目标物体与所述目标收纳部之间的接触力和对应于所述接触力的作用力矩。

可选的,所述第一调整单元2106具体用于:

在所述接触力不小于接触力阈值或所述作用力矩不小于力矩阈值的情况下,将所述目标物体沿调整方向移动相应的调整距离;

可选的,还包括:

第一插入单元2108,用于在所述接触力小于所述接触力阈值且所述作用力矩小于所述力矩阈值的情况下,将所述目标物体插入所述目标收纳部。

可选的,所述第一调整单元2106具体用于:

获取所述目标物体对应的零力矩点位置和所述目标物体的中心点位置在调整方向上的偏移距离,在所述偏移距离不小于偏移阈值的情况下,根据所述零力矩点位置对所述目标物体进行移动;或者,

获取所述接触力在所述调整方向上的目标分力,在所述目标分力不小于分力阈值的情况下,根据所述目标分力对所述目标物体进行移动;或者,

在所述偏移距离不小于偏移阈值或者所述目标分力不小于分力阈值的情况下,若根据所述零力矩点位置和所述中心点位置之间的相对关系确定出的所述目标物体的力矩移动方向匹配于根据所述目标分力确定出的所述目标物体的分力移动方向,则根据所述零力矩点位置对所述目标物体进行移动;若所述力矩移动方向不匹配于所述分力移动方向,则根据所述目标分力对所述目标物体进行移动。

可选的,所述第一调整单元2106具体用于:

在根据所述零力矩点位置对所述目标物体进行移动的情况下,所述调整距离为所述偏移距离,所述调整方向为从所述目标物体的中心点位置指向所述零力矩点位置的方向;

在根据所述目标分力对所述目标物体进行移动的情况下,所述调整距离为根据分力与调整距离的映射关系确定出的对应于所述目标分力的调整距离,所述调整方向为所述目标分力的方向。

可选的,所述调整方向包括下述至少之一:沿水平轴向的正方向、沿水平轴向的负方向、沿垂直轴向的正方向、沿垂直轴向的负方向。

可选的,还包括:

在所述目标物体对应的零力矩点位置和所述目标物体的中心点位置在任一调整方向上的偏移距离均小于偏移阈值且所述接触力在所述任一调整方向上的目标分力均小于分力阈值的情况下,若无法将所述目标物体成功插入所述目标收纳部,则根据对应于所述目标物体的预设调整方向和对应于所述预设调整方向的预设调整距离对所述目标物体进行尝试性调整;

将尝试性调整后的目标物体继续插入所述目标收纳部,并获取所述目标物体的受力信息,根据所述受力信息对所述目标物体进行姿态调整,直至所述目标物体成功插入所述目标收纳部。

可选的,还包括:

第一检测单元2112,用于检测所述目标物体插入所述目标收纳部的深度;

第一停止单元2114,用于在所述深度不小于深度阈值的情况下,停止根据所述受力信息对所述目标物体进行姿态调整。

请参考图22,在软件实施方式中,该物体装配装置可以包括第二定位单元2202、第二获取单元2204和第二调整单元2206。其中:

第二定位单元2202,用于对目标收纳部进行初始定位,并根据初始定位结果将目标物体移动至所述目标收纳部处的初始位置;

第二获取单元2204,用于在将所述目标物体从所述初始位置插入所述目标收纳部的过程中,获取所述目标物体的受力信息;

第二调整单元2206,用于根据所述受力信息对所述目标物体进行姿态调整,使所述目标物体对准并插入所述目标收纳部。

可选的,所述受力信息包括所述目标物体与所述目标收纳部之间的接触力和对应于所述接触力的作用力矩。

可选的,所述第二调整单元2206具体用于:

在所述接触力不小于接触力阈值或所述作用力矩不小于力矩阈值的情况下,将所述目标物体沿调整方向移动相应的调整距离;

可选的,还包括:

第二插入单元2208,用于在所述接触力小于所述接触力阈值且所述作用力矩小于所述力矩阈值的情况下,将所述目标物体插入所述目标收纳部。

可选的,所述第二调整单元2206具体用于:

获取所述目标物体对应的零力矩点位置和所述目标物体的中心点位置在调整方向上的偏移距离,在所述偏移距离不小于偏移阈值的情况下,根据所述零力矩点位置对所述目标物体进行移动;或者,

获取所述接触力在所述调整方向上的目标分力,在所述目标分力不小于分力阈值的情况下,根据所述目标分力对所述目标物体进行移动;或者,

在所述偏移距离不小于偏移阈值或者所述目标分力不小于分力阈值的情况下,若根据所述零力矩点位置和所述中心点位置之间的相对关系确定出的所述目标物体的力矩移动方向匹配于根据所述目标分力确定出的所述目标物体的分力移动方向,则根据所述零力矩点位置对所述目标物体进行移动;若所述力矩移动方向不匹配于所述分力移动方向,则根据所述目标分力对所述目标物体进行移动。

可选的,所述第二调整单元2206具体用于:

在根据所述零力矩点位置对所述目标物体进行移动的情况下,所述调整距离为所述偏移距离,所述调整方向为从所述目标物体的中心点位置指向所述零力矩点位置的方向;

在根据所述目标分力对所述目标物体进行移动的情况下,所述调整距离为根据分力与调整距离的映射关系确定出的对应于所述目标分力的调整距离,所述调整方向为所述目标分力的方向。

可选的,所述调整方向包括下述至少之一:沿水平轴向的正方向、沿水平轴向的负方向、沿垂直轴向的正方向、沿垂直轴向的负方向。

可选的,还包括:

第二尝试调整单元2210,用于在所述目标物体对应的零力矩点位置和所述目标物体的中心点位置在任一调整方向上的偏移距离均小于偏移阈值且所述接触力在所述任一调整方向上的目标分力均小于分力阈值的情况下,若无法将所述目标物体成功插入所述目标收纳部,则根据对应于所述目标物体的预设调整方向和对应于所述预设调整方向的预设调整距离对所述目标物体进行尝试性调整;

将尝试性调整后的目标物体继续插入所述目标收纳部,并获取所述目标物体的受力信息,根据所述受力信息对所述目标物体进行姿态调整,直至所述目标物体成功插入所述目标收纳部。

可选的,还包括:

第二检测单元2212,用于检测所述目标物体插入所述目标收纳部的深度;

第二停止单元2214,用于在所述深度不小于深度阈值的情况下,停止根据所述受力信息对所述目标物体进行姿态调整。

请参考图23,在软件实施方式中,该硬盘装配装置可以包括第三定位单元2302、第三获取单元2304和第三调整单元2306。其中:

第三定位单元2302,用于对服务器上的目标收纳部进行视觉定位,并根据视觉定位结果将目标硬盘移动至所述目标收纳部处的初始位置;

第三获取单元2304,用于检测所述目标硬盘从所述初始位置开始插入所述目标收纳部过程中的受力信息;

第三调整单元2306,用于根据所述受力信息对所述目标硬盘进行姿态调整,使所述目标硬盘对准并插入所述目标收纳部。

可选的,所述受力信息包括所述目标硬盘与所述目标收纳部之间的接触力和对应于所述接触力的作用力矩。

可选的,所述第三调整单元2306具体用于:

在所述接触力不小于接触力阈值或所述作用力矩不小于力矩阈值的情况下,将所述目标硬盘沿调整方向移动相应的调整距离;

可选的,还包括:

第三插入单元2308,用于在所述接触力小于所述接触力阈值且所述作用力矩小于所述力矩阈值的情况下,将所述目标硬盘插入所述目标收纳部。

可选的,所述第三调整单元2306具体用于:

获取所述目标硬盘对应的零力矩点位置和所述目标硬盘的中心点位置在调整方向上的偏移距离,在所述偏移距离不小于偏移阈值的情况下,根据所述零力矩点位置对所述目标硬盘进行移动;或者,

获取所述接触力在所述调整方向上的目标分力,在所述目标分力不小于分力阈值的情况下,根据所述目标分力对所述目标硬盘进行移动;或者,

在所述偏移距离不小于偏移阈值或者所述目标分力不小于分力阈值的情况下,若根据所述零力矩点位置和所述中心点位置之间的相对关系确定出的所述目标硬盘的力矩移动方向匹配于根据所述目标分力确定出的所述目标硬盘的分力移动方向,则根据所述零力矩点位置对所述目标硬盘进行移动;若所述力矩移动方向不匹配于所述分力移动方向,则根据所述目标分力对所述目标硬盘进行移动。

可选的,所述第三调整单元2306具体用于:

在根据所述零力矩点位置对所述目标硬盘进行移动的情况下,所述调整距离为所述偏移距离,所述调整方向为从所述目标硬盘的中心点位置指向所述零力矩点位置的方向;

在根据所述目标分力对所述目标硬盘进行移动的情况下,所述调整距离为根据分力与调整距离的映射关系确定出的对应于所述目标分力的调整距离,所述调整方向为所述目标分力的方向。

可选的,所述调整方向包括下述至少之一:沿水平轴向的正方向、沿水平轴向的负方向、沿垂直轴向的正方向、沿垂直轴向的负方向。

可选的,还包括:

第三尝试调整单元2310,用于在所述目标硬盘对应的零力矩点位置和所述目标硬盘的中心点位置在任一调整方向上的偏移距离均小于偏移阈值且所述接触力在所述任一调整方向上的目标分力均小于分力阈值的情况下,若无法将所述目标硬盘成功插入所述目标收纳部,则根据对应于所述目标硬盘的预设调整方向和对应于所述预设调整方向的预设调整距离对所述目标硬盘进行尝试性调整;

将尝试性调整后的目标物体继续插入所述目标收纳部,并获取所述目标物体的受力信息,根据所述受力信息对所述目标物体进行姿态调整,直至所述目标硬盘成功插入所述目标收纳部。

可选的,还包括:

第三检测单元2312,用于检测所述目标硬盘插入所述目标收纳部的深度;

第三停止单元2314,用于在所述深度不小于深度阈值的情况下,停止根据所述受力信息对所述目标硬盘进行姿态调整,根据所述目标插槽所指示的方向将所述目标硬盘继续插入所述目标插槽中。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1