CN116728436A - 一种弹琴机器人的控制方法及控制装置 - Google Patents

一种弹琴机器人的控制方法及控制装置 Download PDF

Info

Publication number
CN116728436A
CN116728436A CN202310971047.1A CN202310971047A CN116728436A CN 116728436 A CN116728436 A CN 116728436A CN 202310971047 A CN202310971047 A CN 202310971047A CN 116728436 A CN116728436 A CN 116728436A
Authority
CN
China
Prior art keywords
key
image
identifier
coordinate system
determining
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
Application number
CN202310971047.1A
Other languages
English (en)
Inventor
孟森森
朱世强
宛敏红
顾建军
严敏东
钟灵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202310971047.1A priority Critical patent/CN116728436A/zh
Publication of CN116728436A publication Critical patent/CN116728436A/zh
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/003Manipulators for entertainment
    • B25J11/004Playing a music instrument
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本说明书公开了一种弹琴机器人的控制方法及控制装置,弹琴机器人在实际弹奏过程中,根据相机中标识符的相对位置,即可确定出琴键的相对位置,从而对钢琴进行实时演奏,在演奏过程中无需对琴键进行拍摄,解决了琴键表面光滑导致的拍摄精度不佳以及弹奏时机械臂对琴键存在的遮挡导致的拍摄信息不完全的问题,降低了弹琴机器人对琴键定位的难度,提高了弹琴机器人对琴键的定位精度。

Description

一种弹琴机器人的控制方法及控制装置
技术领域
本说明书涉及人工智能领域以及视觉识别领域,尤其涉及一种弹琴机器人的控制方法及控制装置。
背景技术
随着人工智能领域的迅速发展,在众多实际应用场景中已使用大量的机器人来执行业务,如机器人送餐、机器人清扫卫生、机器人表演等。机器人在越来越多的领域出现,其主要目的便是解放人工,例如扫地机器人便节省了用户打扫所需的时间,送餐机器人也减少了餐厅进行配送时所耗费的精力。随着机器人精度的愈加进步,一些更高精度需求的机器人应运而生,如,可弹奏钢琴的弹琴机器人。
然而,现有的弹琴机器人对琴键的定位方式并不完善。例如通过深度图(RGBDepth Map,RGBD)相机直接获取带有深度数据的图像并借由琴键模板从而确定琴键位置,缺点在于钢琴在较强的环境光照射下,琴键会出现较为严重的反光情况,导致机器人在弹奏过程中可能无法通过RGBD相机对琴键进行准确识别。另一种常用方法会在特定琴键上粘贴特殊形状标签,以此来辅助机器人识别并确定出各琴键的位置。然而这种方法在实际演奏时会出现标签被机械臂遮挡的情况,从而导致机器人在弹奏过程中无法对琴键进行识别。
发明内容
本说明书提供一种弹琴机器人的控制方法及控制装置,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种弹琴机器人的控制方法,包括:
弹琴机器人通过设置的相机,对预设位置上的标识符进行图像采集,得到采集后的图像,其中,所述标识符设置在钢琴弹奏过程中所述弹琴机器人面对钢琴可观测到的位置;
通过预先保存的标识符的标准图像对所述图像进行匹配,以确定出所述标识符在所述图像中的图像位置;
根据所述图像位置以及预先确定出的转化矩阵,确定出所述弹琴机器人在弹琴过程中所处位姿下所述弹琴机器人与各琴键之间的相对位置,所述转化矩阵用于表示所述标识符所在的标识符坐标系与琴键所在的琴键坐标系之间的坐标转化关系,所述转化矩阵是预先基于标定相机的相机坐标系所确定出的;
根据所述相对位置,控制所述弹琴机器人上的机械臂进行弹奏。
可选地,预先确定所述转化矩阵,具体包括:
通过所述相机采集同时包括钢琴琴键和所述标识符的图像信息,作为第一图像;
对所述第一图像进行识别,以确定至少部分琴键表面的各关键点信息,并根据所述各关键点信息,确定各琴键的图像坐标,以及确定出所述标识符的图像坐标;
根据所述标识符的图像坐标以及预先确定出的所述标识符在标识符坐标系中的坐标,确定所述相机的相机坐标系与所述标识符的标识符坐标系之间的坐标转化关系,作为第一转化关系,以及根据所述各琴键的图像坐标以及预先确定出的所述各琴键在琴键坐标系中的坐标,确定出所述相机坐标系与所述各琴键的琴键坐标系之间的坐标转化关系,作为第二转化关系;
根据所述第一转化关系以及所述第二转化关系,确定所述标识符坐标系与所述琴键坐标系之间的转化矩阵。
可选地,对所述第一图像进行识别,以确定至少部分琴键表面的各关键点信息,具体包括:
获取包含有所有琴键的二值图像;
根据所述二值图像中像素值的变化,确定满足预设长度范围且满足预设斜率范围的直线,作为黑键区域与白键区域的分隔线,以及确定每个琴键各自的边缘线;
根据确定出的所述分隔线以及每个琴键各自的边缘线,确定至少部分琴键表面的各关键点信息。
可选地,确定出所述标识符的图像坐标,具体包括:
通过不同大小的图像滑窗,对所述第一图像进行处理,以得到多个处理后图像,其中,针对每个处理后图像,该处理后图像中标识出至少一个候选标识符所处的图像区域;
根据所述标识符的图像所满足的位置条件以及候选标识符所满足的尺寸条件,从所述多个处理后图像中确定出所述标识符所在的候选图像区域;
通过预先保存的所述标识符的标准图像,在所述候选图像区域中对所述标识符进行匹配,以确定出所述标识符的图像坐标。
可选地,根据所述标识符的图像所满足的位置条件以及候选标识符所满足的尺寸条件,从所述多个处理后图像中确定出所述标识符所在的候选图像区域,具体包括:
从所述多个处理后图像中确定出位于图像中心邻域范围内的候选标识符所在的图像区域,作为过渡候选区域;
将所述多个处理后图像中针对同一位置的多个过渡候选区域中区域周长最长的过渡候选区域,作为确定出的所述标识符所在的候选图像区域。
本说明书提供了一种弹琴机器人的控制装置,包括:
采集模块,用于通过设置的相机,对预设位置上的标识符进行图像采集,得到采集后的图像,其中,所述标识符设置在钢琴弹奏过程中所述弹琴机器人面对钢琴可观测到的位置;
第一确定模块,用于通过预先保存的标识符的标准图像对所述图像进行匹配,以确定出所述标识符在所述图像中的图像位置;
第二确定模块,用于根据所述图像位置以及预先确定出的转化矩阵,确定出弹琴机器人在弹琴过程中所处位姿下所述弹琴机器人与各琴键之间的相对位置,所述转化矩阵用于表示所述标识符所在的标识符坐标系与琴键所在的琴键坐标系之间的坐标转化关系,所述转化矩阵是预先基于标定相机的相机坐标系所确定出的;
控制模块,用于根据所述相对位置,控制所述弹琴机器人上的机械臂进行弹奏。
可选的,所述第二确定模块具体用于,通过所述相机采集同时包括钢琴琴键和所述标识符的图像信息,作为第一图像;对所述第一图像进行识别,以确定至少部分琴键表面的各关键点信息,并根据所述各关键点信息,确定各琴键的图像坐标,以及确定出所述标识符的图像坐标;根据所述标识符的图像坐标以及预先确定出的所述标识符在标识符坐标系中的坐标,确定所述相机的相机坐标系与所述标识符的标识符坐标系之间的坐标转化关系,作为第一转化关系,以及根据所述各琴键的图像坐标以及预先确定出的所述各琴键在琴键坐标系中的坐标,确定出所述相机坐标系与所述各琴键的琴键坐标系之间的坐标转化关系,作为第二转化关系;根据所述第一转化关系以及所述第二转化关系,确定所述标识符坐标系与所述琴键坐标系之间的转化矩阵。
可选的,所述第二确定模块具体用于,获取包含有所有琴键的二值图像;根据所述二值图像中像素值的变化,确定满足预设长度范围且满足预设斜率范围的直线,作为黑键区域与白键区域的分隔线,以及确定每个琴键各自的边缘线;根据确定出的所述分隔线以及每个琴键各自的边缘线,确定至少部分琴键表面的各关键点信息。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现弹琴机器人的控制方法。
本说明书提供了一种弹琴机器人,包括处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述弹琴机器人的控制方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的弹琴机器人的控制方法中,通过相机获取包含标识符的图像信息,将所述图像信息进行处理后与标识符的标准图像进行匹配,确定出所述标识符在图像中的图像位置,根据所述图像位置以及预先确定的转化矩阵确定出弹琴过程中,各琴键与弹琴机器人的相对位置,根据所述相对位置,控制所述弹琴机器人上的机械臂进行演奏。
从上述方法可以看出,弹琴机器人在实际弹奏过程中,根据相机中标识符的相对位置,即可确定出琴键的相对位置,从而对钢琴进行实时演奏,在演奏过程中无需对琴键进行拍摄,解决了琴键表面光滑导致的拍摄精度不佳以及弹奏时机械臂对琴键存在的遮挡导致的拍摄信息不完全的问题,降低了弹琴机器人对琴键定位的难度,提高了弹琴机器人对琴键的定位精度。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书提供的一种弹琴机器人的控制方法流程示意图;
图2为本说明书提供的一种标识符的位置示意图;
图3为本说明书提供的在处理后图像中选取出符合标识符所在区域的候选图像区域的示意图;
图4为本说明书提供的在确定后的琴键区域内确定琴键坐标的示意图;
图5为本说明书实施例提供的一种弹琴机器人的控制装置的结构示意图;
图6为本说明书中提供的一种对应于图1的电子设备的结构示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书提供的一种弹琴机器人的控制方法的流程示意图,包括:
S101:弹琴机器人通过设置的相机,对预设位置上的标识符进行图像采集,得到采集后的图像。
在现有琴键定位领域中,目前的主流方法往往局限于直接对琴键进行定位,从而确认琴键坐标,其中对琴键进行直接定位可以采用多种方式,但都存在着一定的问题。
例如,在弹琴机器人进行对钢琴的弹奏时,通常需要使用RGBD相机,对钢琴的琴键进行识别,从而完成对琴键的定位。
但是,由于在识别过程中,钢琴琴键的高反射率容易在强光环境下对相机所拍摄图像信息产生影响,导致所拍摄到的深度信息存在误差。此外,由于弹奏过程中机械臂也会遮掩相机导致图像信息不完全,进而导致无法准确定位琴键。
除此之外,也存在着基于边缘分割的琴键定位技术,通过对琴键缝隙的扫描进行琴键定位。
但是,这种方式只适用于视野中心的琴键,对于视野两侧琴键定位效果较差。在实际演奏中,往往需要机器人拟人运动,无法获取更大的视野范围,导致琴键定位存在误差。
如上所述,两种方式都会导致在弹琴机器人弹奏的过程中出现对琴键识别出现误差,从而无法准确定位琴键位置。而在钢琴的实时弹奏过程中,对钢琴琴键的识别需要具有较高的稳定性。
基于此,本说明书提供了一种弹琴机器人的控制方法,使弹琴机器人能够通过相机获取的标识符图片获取标识符的相对位置,进而根据预先设定的转化矩阵确定琴键的相对位置。其中,标识符放置在钢琴弹奏过程中弹琴机器人面对钢琴可观测到的位置,如图2所示。
图2为本说明书提供的一种标识符的位置示意图。
图2中钢琴上门板中心的长方形标识即是标识符,弹琴机器人在弹奏过程中,持续进行对标识符的拍摄,从而定位标识符位置,进而通过定位出的标识符的位置,来确定出弹琴机器人自身与各琴键之间的相对位置。需要说明的是,也可以采用其他形状的标识符,例如,logo或者诸如三角形、菱形等规则图形,本说明书对此不做限定。
S102:通过预先保存的标识符的标准图像对所述图像进行匹配,以确定出所述标识符在所述图像中的图像位置。
在采集到预设位置上的标识符图像信息后,弹琴机器人可以将标识符的图像信息进行处理后与预先保存的标识符的标准图像进行匹配,以确定出标识符所在的图像坐标。
在通过预先保存的标识符的标准图像对所述标识符的图像进行匹配前,需要对标识符的图像中的标识符进行定位,从而保证了标识符图像信息在处理后不被无关的信息干扰。
例如,弹琴机器人可以使用不同大小的图像滑窗建立并行检测通道,其中滑窗大小可以根据标识符、弹琴机器人以及钢琴具体情况决定,例如,图像滑窗大小为:3*3、5*5、7*7,此处不作具体限制。
弹琴机器人将标识符的图像信息分别经由不同的并行检测通道进行处理从而得到不同的处理后图像。而后,弹琴机器人可以针对每个处理后图像,确定出每个处理后图像中符合标识符区域位置的候选图像区域,如图3所示。
图3为本说明书提供的在处理后图像中选取出符合标识符所在区域的候选图像区域的示意图。
图3即为对标识符图像信息进行处理后的图像,其中包括了三个长方形区域:A、B、C。弹琴机器人选择在符合标识符所在区域位置的候选图像区域时,区域A即可视为选择的候选图像区域,B与C则是由于不属于标识符所在的区域位置的条件而被舍弃的图像区域。这样一来,可以保证标识符图像信息在处理后不被无关的信息干扰。
从上述方法可以看出,在确定标识符所在的候选图像区域时,实际上需要基于标识符的图像所满足的位置条件来排除一些非标识符的图像区域。当然,为了进一步地提高目标检测的准确性,在本说明书中,也可以加入其他条件,来确定出标识符所在的候选图像区域。
在确定标识符所在的候选图像区域时,不同处理后图像中会出现位置相似的候选图像区域。原因在于:标识符的图像在经由不同的并行处理通道处理后,不同处理后图像中都会对应相同的目标物,由于图像滑窗大小不同,不同处理后图像中的候选图像区域会有所区别。这些位置相似的候选图像区域清晰度各不相同,无法准确定位图像中的标识符位置。
所以,为了解决相似候选图像区域所存在的问题,在通过位置条件获得候选图像区域,即,过渡候选区域后,需要在同一候选标识符所对应的所有过渡候选区域中选择一个,去除其余所有处理后图像中同一候选标识符对应的过渡候选区域。
在过渡候选区域中选择时,可以通过加入尺寸条件进行选择。
所以在选择过度候选区域时,对于不同处理后图像中距离小于一定阈值的过渡候选区域,则认为是同一个物品对应的图像,保留图像周长更为大的一个候选标识符所在的过渡候选区域,以保证更为清晰。
在确定标识符图像信息中的候选图像区域后,需要与预先保存的标识符图像进行匹配,从而确定标识符在图像中位置。但标识符图像信息在采集过程中会出现畸变,无法直接与标识符的标准图像进行匹配,需要对图像进行矫正处理后才可与标识符的标准图像进行匹配。
其中,图像信息出现畸变的原因在于:在使用光学透镜采集标识符图像信息时,会出现镜头畸变,其中主要包括镜像畸变和线性畸变,前者由于镜头导致,后者则是由图像预处理导致的。所以,在弹琴机器人采集到标识符图像信息后无法直接与预先保存的标识符的标准图像信息进行匹配,需要对标识符图像信息进行处理,从而得到可以与预先保存的标识符的标准图像信息进行匹配的图像。
可选的,弹琴机器人可通过对候选图像区域进行透视变换从而得到矫正后的候选图像区域,从而得到可与预先保存的标识符进行匹配的标识符图像,若匹配一致,则可确定候选图像区域即为包含有标识符图像的图像区域。
其中匹配可以采用多种方式。可选的,弹琴机器人可采用哈希匹配算法将两者进行匹配。
在采用哈希匹配算法进行匹配的过程中,将缩放后的候选图像区域转化为单通道的灰度图,将灰度图转化为一个像素矩阵,确定像素矩阵中所有像素的平均值,并通过像素平均值对像素矩阵进行处理,从而得到候选图像区域对应的处理后像素矩阵。而后,确定候选图像区域对应的处理后像素矩阵的哈希值。
同理,也需要对预先保存的标识符的标准图像进行同样的处理方式进行处理,从而得到标准图像对应的哈希值,进而通过比较两者的哈希值,在候选图像区域中对标识符进行匹配,而一旦匹配出标识符,则可以确定出标识符的图像坐标。
进而通过处理后矩阵的对比进行图像匹配,从而确定标识符在图像上坐标。将矫正后的候选标识符图像与预先保存的标识符图像分别转化为处理后整数矩阵,通过处理后矩阵的相似值进行匹配。
当然,也不仅仅限于上述的匹配方式,来确定标识符的图像坐标,也可以通过诸如计算候选图像区域与标准图像之间的图像相似度的方式,在候选图像区域中对标识符进行匹配。对图像进行处理以及匹配的方式不作限定,可使候选标识符图像与预先保存的标识符图像进行匹配即可。
S103:根据标识符图像位置以及预先确定出的转化矩阵,确定出所述弹琴机器人在弹琴过程中所处位姿下所述弹琴机器人与各琴键之间的相对位置。
弹琴机器人确定标识符图像位置后,可根据预先确定出的转化矩阵将弹琴机器人与标识符的相对位置关系转化为弹琴机器人与琴键的相对位置关系。
其中,转化矩阵在使用之前,需要预先确定。
在确定转化矩阵时,先通过已知位置的相机,同时采集包括钢琴琴键和标识符的图像信息,作为第一图像。对第一图像中的标识符以及琴键进行分别定位,进而确定琴键世界坐标系以及标识符世界坐标系。借助相机世界坐标系,建立琴键世界坐标系与标识符世界坐标系的转化关系,确认转化矩阵。需要说明的是,这里提到的采集第一图像的相机可以是弹琴机器人上的相机,也可以是其他图像采集设备上的相机。
在确定琴键和标识符的图像坐标中,标识符的图像坐标可由与步骤S102类似的方法进行确定。而对于琴键位置的定位,由于第一图像中并不只包含琴键,所以需要先对第一图像中的琴键区域进行定位,从而确定琴键的范围,而后确定第一图像中各琴键的琴键坐标。
具体的,弹琴机器人可以先将第一图像转化为灰度图,而后将灰度图转化为二值图像,从而获取到针对琴键的二值图像。在二值图像中,图像中黑键区域或白键区域的边缘线,像素值会出现较大的变化,例如,黑色琴键区域和白色琴键区域之间的过渡区域,往往伴随着像素值的突变,所以,这一像素值突变的区域,即为黑色琴键和白色琴键的分隔区域。
在确定边缘线的过程中,若只通过像素值变化确定分隔线,可能会出现辨别错误的情况,为了避免判断出现错误,可通过对边缘线预先限定的方法进行边缘线的确定。
例如,限定条件具体可以为,以确定出的黑键区域与白键区域的分隔线为一条满足预设斜率范围与预设长度范围的直线为约束条件,在图像中从上到下进行计算,确定出像素值突变最大的一条直线,即可确定黑键区域与白键区域的分隔线。
在确定出琴键区域的分隔线后,即可确定第一图像中琴键区域所在位置。在确定琴键区域后,即可通过琴键区域中像素值的变化确定第一图像中琴键的具体位置,从而确定琴键坐标。琴键区域图像如图4所示。
图4为本说明书提供的在确定后的琴键区域内确定琴键坐标的示意图。
在确定琴键具体位置的过程中,可通过琴键区域内检测出的单一琴键的边缘线,来确定单一琴键位置。
由上述方法,根据像素值的变化确定出琴键区域的分隔线以及边缘线,进而确定琴键区域。在确定的琴键区域中对单一琴键的边缘线进行定位后,即可确定第一图像中琴键关键点坐标。如图4,通过琴键边缘线与分隔线之间的交点,可得到琴键关键点的位置,部分关键点如图4所示。
在确定出第一图像中的琴键关键点坐标以及标识符坐标后,建立琴键世界坐标系以及标识符世界坐标系,进而建立琴键世界坐标系中坐标与标识符世界坐标系中坐标的转化关系。在建立转化关系时,由于琴键世界坐标系与标识符世界坐标系都是基于第一图像生成的,无法建立稳定的转化关系。在建立转化关系时,通过引入第一图像对应的相机坐标系,建立琴键世界坐标系与标识符世界坐标系之间的联系。
具体的,采用相机坐标系作为中介,先求取相机坐标系在琴键世界坐标系和标识符世界坐标系下的位姿,分别得到对应的转化矩阵:第一转化关系Mpiano,第二转化关系Mmark。其分别代表了在相机世界坐标系中,琴键世界坐标系和标识符世界坐标系中的坐标点转化到相机世界坐标系所使用的转化矩阵。
在得到了第一转化关系以及第二转化关系后,可以通过相机世界坐标系在琴键世界坐标系与标识符世界坐标系之间建立联系,将琴键世界坐标系中的坐标点与标识符世界坐标系中的坐标点进行转化,确定出琴键关键点在标识符坐标系下坐标。在转化过程中,需要将琴键世界坐标系中琴键关键点的坐标点通过第一转化关系转化至相机世界坐标系中,而后通过第二转化关系将相机世界坐标系中代表琴键关键点的坐标点转化至标识符世界坐标系。
而后,根据第一转化关系以及第二转化关系后,可以确认琴键世界坐标系到标识符世界坐标系之间的转化关系,以获得标识符坐标系与琴键坐标系之间的转化矩阵。
在琴键世界坐标系到标识符世界坐标系的转化过程中,若使用P key,i表示琴键关键点在标识符坐标系下坐标,表示第二转化关系的逆矩阵,计算琴键世界坐标系到标识符世界坐标系的转化可用公式表示:
弹琴机器人在已知转化矩阵的情况下,即可计算出琴键在标识符坐标系下的坐标。由于琴键位置和标识符位置固定,所以转化矩阵恒定不变。
S104:根据琴键在标识符坐标系下的坐标,控制弹琴机器人上的机械臂进行弹奏。
在确定琴键在标识符世界坐标系下的坐标后,即可在实际弹奏过程中,根据标识符和弹琴机器人之间的相对位置关系计算出琴键与弹琴机器人之间的相对位置关系。弹琴机器人在获取琴键的相对位置后,控制机械臂对钢琴进行弹奏。
从上述方法可以看出,通过避免对琴键的直接定位,避免了由于钢琴琴键表面的高反射率与机械臂在弹奏过程中遮挡所导致的琴键定位不精确问题。弹琴机器人在弹奏过程中,可以通过对标识符的定位间接实现对琴键的精准定位,避免了现有技术所存在的问题,提高了弹琴机器人对于琴键定位的稳定程度。
需要说明的是,上述方法是以弹琴机器人作为执行主体来进行说明的,但是,上述过程中的部分步骤实际上也可以采用其他的设备来作为执行主体执行,例如,在确定上述转化矩阵的过程中,可以通过外置的电脑设备来进行确定,而后,将确定出的转化矩阵在同步给弹琴机器人。
以上为本说明书的一个或多个弹琴机器人的控制方法基于同样的思路,本说明书还提供了相应的装置、存储介质和电子设备。
图5为本说明书实施例提供的一种弹琴机器人的控制装置的结构示意图,所述装置包括:
采集模块501,用于通过设置的相机,对预设位置上的标识符进行图像采集,得到采集后的图像,其中,所述标识符设置在钢琴弹奏过程中所述弹琴机器人面对钢琴可观测到的位置;
第一确定模块502,用于通过预先保存的标识符的标准图像对所述图像进行匹配,以确定出所述标识符在所述图像中的图像位置;
第二确定模块503,用于根据所述图像位置以及预先确定出的转化矩阵,确定出弹琴机器人在弹琴过程中所处位姿下所述弹琴机器人与各琴键之间的相对位置,所述转化矩阵用于表示所述标识符所在的标识符坐标系与琴键所在的琴键坐标系之间的坐标转化关系,所述转化矩阵是预先基于标定相机的相机坐标系所确定出的;
控制模块504,用于根据所述相对位置,控制所述弹琴机器人上的机械臂进行弹奏。
可选地,所述第二确定模块503具体用于,通过所述相机采集同时包括钢琴琴键和所述标识符的图像信息,作为第一图像;对所述第一图像进行识别,以确定至少部分琴键表面的各关键点信息,并根据所述各关键点信息,确定各琴键的图像坐标,以及确定出所述标识符的图像坐标;根据所述标识符的图像坐标以及预先确定出的所述标识符在标识符坐标系中坐标,确定所述相机的相机坐标系与所述标识符的标识符坐标系之间的坐标转化关系,作为第一转化关系,以及根据所述各琴键的图像坐标以及预先确定出的所述各琴键在琴键坐标系中坐标,确定出所述相机坐标系与所述各琴键的琴键坐标系之间的坐标转化关系,作为第二转化关系;根据所述第一转化关系以及所述第二转化关系,确定所述标识符坐标系与所述琴键坐标系之间的转化矩阵。
可选地,所述第二确定模块503具体用于,获取包含有所有琴键的二值图像;根据所述二值图像中像素值的变化,确定满足预设长度范围且满足预设斜率范围的直线,作为黑键区域与白键区域的分隔线,以及确定每个琴键各自的边缘线;根据确定出的所述分隔线以及每个琴键各自的边缘线,确定至少部分琴键表面的各关键点信息。
可选地,所述第二确定模块503具体用于,通过不同大小的图像滑窗,对所述第一图像进行处理,以得到多个处理后图像,其中,针对每个处理后图像,该处理后图像中标识出至少一个候选标识符所处的图像区域;根据所述标识符的图像所满足的位置条件以及候选标识符所满足的尺寸条件,从所述多个处理后图像中确定出所述标识符所在的候选图像区域;通过预先保存的所述标识符的标准图像,在所述候选图像区域中对所述标识符进行匹配,以确定出所述标识符的图像坐标。
可选地,所述第二确定模块503具体用于,从所述多个处理后图像中确定出位于图像中心邻域范围内的候选标识符所在的图像区域,作为过渡候选区域;将所述多个处理后图像中针对同一位置的多个过渡候选区域中区域周长最长的过渡候选区域,作为确定出的所述标识符所在的候选图像区域。
本说明书还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可用于执行上述图1提供的弹琴机器人的控制方法。
基于图1所示的一种弹琴机器人的控制方法,本说明书实施例还提供了图6所示的电子设备的结构示意图。如图6,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的一种弹琴机器人的控制方法。
当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (10)

1.一种弹琴机器人的控制方法,其特征在于,包括:
弹琴机器人通过设置的相机,对预设位置上的标识符进行图像采集,得到采集后的图像,其中,所述标识符设置在钢琴弹奏过程中所述弹琴机器人面对钢琴可观测到的位置;
通过预先保存的标识符的标准图像对所述图像进行匹配,以确定出所述标识符在所述图像中的图像位置;
根据所述图像位置以及预先确定出的转化矩阵,确定出所述弹琴机器人在弹琴过程中所处位姿下所述弹琴机器人与各琴键之间的相对位置,所述转化矩阵用于表示所述标识符所在的标识符坐标系与琴键所在的琴键坐标系之间的坐标转化关系,所述转化矩阵是预先基于标定相机的相机坐标系所确定出的;
根据所述相对位置,控制所述弹琴机器人上的机械臂进行弹奏。
2.如权利要求1所述的方法,其特征在于,预先确定所述转化矩阵,具体包括:
通过所述相机采集同时包括钢琴琴键和所述标识符的图像信息,作为第一图像;
对所述第一图像进行识别,以确定至少部分琴键表面的各关键点信息,并根据所述各关键点信息,确定各琴键的图像坐标,以及确定出所述标识符的图像坐标;
根据所述标识符的图像坐标以及预先确定出的所述标识符在标识符坐标系中的坐标,确定所述相机的相机坐标系与所述标识符的标识符坐标系之间的坐标转化关系,作为第一转化关系,以及根据所述各琴键的图像坐标以及预先确定出的所述各琴键在琴键坐标系中的坐标,确定出所述相机坐标系与所述各琴键的琴键坐标系之间的坐标转化关系,作为第二转化关系;
根据所述第一转化关系以及所述第二转化关系,确定所述标识符坐标系与所述琴键坐标系之间的转化矩阵。
3.如权利要求2所述的方法,其特征在于,对所述第一图像进行识别,以确定至少部分琴键表面的各关键点信息,具体包括:
获取包含有所有琴键的二值图像;
根据所述二值图像中像素值的变化,确定满足预设长度范围且满足预设斜率范围的直线,作为黑键区域与白键区域的分隔线,以及确定每个琴键各自的边缘线;
根据确定出的所述分隔线以及每个琴键各自的边缘线,确定至少部分琴键表面的各关键点信息。
4.如权利要求2所述的方法,其特征在于,确定出所述标识符的图像坐标,具体包括:
通过不同大小的图像滑窗,对所述第一图像进行处理,以得到多个处理后图像,其中,针对每个处理后图像,该处理后图像中标识出至少一个候选标识符所处的图像区域;
根据所述标识符的图像所满足的位置条件以及候选标识符所满足的尺寸条件,从所述多个处理后图像中确定出所述标识符所在的候选图像区域;
通过预先保存的所述标识符的标准图像,在所述候选图像区域中对所述标识符进行匹配,以确定出所述标识符的图像坐标。
5.如权利要求4所述的方法,其特征在于,根据所述标识符的图像所满足的位置条件以及候选标识符所满足的尺寸条件,从所述多个处理后图像中确定出所述标识符所在的候选图像区域,具体包括:
从所述多个处理后图像中确定出位于图像中心邻域范围内的候选标识符所在的图像区域,作为过渡候选区域;
将所述多个处理后图像中针对同一位置的多个过渡候选区域中区域周长最长的过渡候选区域,作为确定出的所述标识符所在的候选图像区域。
6.一种弹琴机器人的控制装置,其特征在于,包括:
采集模块,用于通过设置的相机,对预设位置上的标识符进行图像采集,得到采集后的图像,其中,所述标识符设置在钢琴弹奏过程中所述弹琴机器人面对钢琴可观测到的位置;
第一确定模块,用于通过预先保存的标识符的标准图像对所述图像进行匹配,以确定出所述标识符在所述图像中的图像位置;
第二确定模块,用于根据所述图像位置以及预先确定出的转化矩阵,确定出弹琴机器人在弹琴过程中所处位姿下所述弹琴机器人与各琴键之间的相对位置,所述转化矩阵用于表示所述标识符所在的标识符坐标系与琴键所在的琴键坐标系之间的坐标转化关系,所述转化矩阵是预先基于标定相机的相机坐标系所确定出的;
控制模块,用于根据所述相对位置,控制所述弹琴机器人上的机械臂进行弹奏。
7.如权利要求6所述的装置,其特征在于,所述第二确定模块具体用于,通过所述相机采集同时包括钢琴琴键和所述标识符的图像信息,作为第一图像;对所述第一图像进行识别,以确定至少部分琴键表面的各关键点信息,并根据所述各关键点信息,确定各琴键的图像坐标,以及确定出所述标识符的图像坐标;根据所述标识符的图像坐标以及预先确定出的所述标识符在标识符坐标系中坐标,确定所述相机的相机坐标系与所述标识符的标识符坐标系之间的坐标转化关系,作为第一转化关系,以及根据所述各琴键的图像坐标以及预先确定出的所述各琴键在琴键坐标系中坐标,确定出所述相机坐标系与所述各琴键的琴键坐标系之间的坐标转化关系,作为第二转化关系;根据所述第一转化关系以及所述第二转化关系,确定所述标识符坐标系与所述琴键坐标系之间的转化矩阵。
8.如权利要求7所述的装置,其特征在于,所述第二确定模块具体用于,获取包含有所有琴键的二值图像;根据所述二值图像中像素值的变化,确定满足预设长度范围且满足预设斜率范围的直线,作为黑键区域与白键区域的分隔线,以及确定每个琴键各自的边缘线;根据确定出的所述分隔线以及每个琴键各自的边缘线,确定至少部分琴键表面的各关键点信息。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~5任一项所述的方法。
10.一种弹琴机器人,包括处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~5任一项所述的方法。
CN202310971047.1A 2023-08-02 2023-08-02 一种弹琴机器人的控制方法及控制装置 Pending CN116728436A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310971047.1A CN116728436A (zh) 2023-08-02 2023-08-02 一种弹琴机器人的控制方法及控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310971047.1A CN116728436A (zh) 2023-08-02 2023-08-02 一种弹琴机器人的控制方法及控制装置

Publications (1)

Publication Number Publication Date
CN116728436A true CN116728436A (zh) 2023-09-12

Family

ID=87908299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310971047.1A Pending CN116728436A (zh) 2023-08-02 2023-08-02 一种弹琴机器人的控制方法及控制装置

Country Status (1)

Country Link
CN (1) CN116728436A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117207204A (zh) * 2023-11-09 2023-12-12 之江实验室 一种弹琴机器人的控制方法及控制装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117207204A (zh) * 2023-11-09 2023-12-12 之江实验室 一种弹琴机器人的控制方法及控制装置
CN117207204B (zh) * 2023-11-09 2024-01-30 之江实验室 一种弹琴机器人的控制方法及控制装置

Similar Documents

Publication Publication Date Title
US10915998B2 (en) Image processing method and device
CN107633526B (zh) 一种图像跟踪点获取方法及设备、存储介质
CN112001456B (zh) 一种车辆定位方法、装置、存储介质及电子设备
CN111238450B (zh) 视觉定位方法及装置
JP2002269559A (ja) 画像のテンプレートマッチング方法及び画像処理装置
CN116728436A (zh) 一种弹琴机器人的控制方法及控制装置
US9091821B2 (en) Device and method of focusing on points of objects
JP2013126135A (ja) ステレオ画像生成装置、ステレオ画像生成方法及びステレオ画像生成用コンピュータプログラム
CN112861831A (zh) 一种目标物的识别方法、装置、存储介质及电子设备
CN111476729B (zh) 一种目标识别的方法及装置
CN110047126B (zh) 渲染图像的方法、装置、电子设备和计算机可读存储介质
CN114723715B (zh) 车辆目标检测方法、装置、设备、车辆及介质
CN112734851B (zh) 一种位姿确定的方法以及装置
CN111798489B (zh) 一种特征点跟踪方法、设备、介质及无人设备
CN117207204B (zh) 一种弹琴机器人的控制方法及控制装置
CN114863206A (zh) 一种模型训练的方法、目标检测的方法及装置
CN110659343B (zh) 一种地理围栏数据的提取方法、装置及设备
JP2013042201A (ja) 画像処理装置、撮像装置、及びプログラム
CN112529943A (zh) 一种物体检测方法、物体检测装置及智能设备
JP2011171991A (ja) 画像処理装置、電子機器、画像処理方法、および、画像処理プログラム
CN113888611B (zh) 一种确定图像深度的方法、装置及存储介质
JP2021068356A (ja) 撮像装置、方法及びプログラム
CN117036175B (zh) 一种线阵图片拼接方法、装置、介质以及设备
CN110503109B (zh) 图像特征提取方法和装置、图像处理方法和装置
CN116188919B (zh) 一种测试方法、装置、可读存储介质及电子设备

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