CN116604554A - 机械臂控制方法、装置、设备及存储介质 - Google Patents
机械臂控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116604554A CN116604554A CN202310556201.9A CN202310556201A CN116604554A CN 116604554 A CN116604554 A CN 116604554A CN 202310556201 A CN202310556201 A CN 202310556201A CN 116604554 A CN116604554 A CN 116604554A
- Authority
- CN
- China
- Prior art keywords
- ellipse
- target
- image
- cup
- gradient
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 239000011159 matrix material Substances 0.000 claims description 107
- 238000001514 detection method Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 17
- 238000013519 translation Methods 0.000 claims description 17
- 230000003287 optical effect Effects 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000004378 air conditioning Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 12
- 238000013473 artificial intelligence Methods 0.000 abstract description 8
- 241001122767 Theaceae Species 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 238000012216 screening Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Geometry (AREA)
- Robotics (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及人工智能及数字医疗领域,提供一种机械臂控制方法、装置、设备及存储介质。该方法检测左图像及右图像,得到第一椭圆边界及第二椭圆边界,选取出第一聚类椭圆及第二聚类椭圆并进行匹配,得到目标左椭圆及目标右椭圆,根据目标左椭圆的左中心点及目标右椭圆的右中心点识别出桌面杯子与电子设备的初始距离,根据目标左椭圆的第一左长轴顶点及第二左长轴顶点、目标右椭圆的第一右长轴顶点及第二右长轴顶点识别出桌面杯子的杯子直径,基于电子设备与机械臂的位置关系、初始距离生成机械臂与桌面杯子的距离关系,并控制所述机械臂进行运转,本申请适配动态场景。此外,本发明还涉及区块链技术,所述距离关系及所述杯子直径可存储于区块链中。
Description
技术领域
本发明涉及人工智能及数字医疗技术领域,尤其涉及一种机械臂控制方法、装置、设备及存储介质。
背景技术
随着人工智能的发展,控制机械臂运转的方案也随之产生,在机械臂的倒茶场景中,由于茶具的杯子比较相似,而倒茶又有一定的次序和工序要求,导致倒茶场景中需要使用特定大小的杯子,同时,还需要按照特定位置摆放杯子,从而造成无法适配动态场景。另外,机械臂控制方案也可以应用于数字医疗领域,例如,可以通过控制机械臂的运转对医疗器械的摆放。
发明内容
鉴于以上内容,有必要提供一种机械臂控制方法、装置、设备及存储介质,能够解决机械臂无法适配动态场景的技术问题。
一方面,本发明提出一种机械臂控制方法,应用于电子设备,所述电子设备安装有双目摄像机,所述电子设备与机械臂相通信,所述机械臂控制方法包括:
获取所述双目摄像机拍摄桌面杯子所得到的左图像及右图像;
对所述左图像进行椭圆粗检测,得到多个第一椭圆边界,并对所述右图像进行椭圆粗检测,得到多个第二椭圆边界;
从所述多个第一椭圆边界中选取出第一聚类椭圆,并从所述多个第二椭圆边界中选取出第二聚类椭圆;
将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,得到所述左图像的目标左椭圆及所述右图像的目标右椭圆;
根据所述目标左椭圆的左中心点及所述目标右椭圆的右中心点识别出所述桌面杯子与所述电子设备的初始距离,并根据所述目标左椭圆的第一左长轴顶点、所述目标左椭圆的第二左长轴顶点、所述目标右椭圆的第一右长轴顶点及所述目标右椭圆的第二右长轴顶点识别出所述桌面杯子的杯子直径;
基于所述电子设备与所述机械臂的位置关系、所述初始距离,生成所述机械臂与所述桌面杯子的距离关系;
基于所述距离关系及所述杯子直径,控制所述机械臂进行运转。
根据本发明优选实施例,所述对所述左图像进行椭圆粗检测,得到多个第一椭圆边界包括:
将所述左图像进行高斯卷积处理,得到滤波图像;
基于预设横向矩阵及预设纵向矩阵,对所述滤波图像进行图像梯度计算,得到梯度图像;
对所述梯度图像中每个梯度像素点与对应的邻近像素点进行梯度比较,生成边缘边界图像;
获取所述边缘边界图像中每个边缘像素点的梯度强度;
将所述梯度强度大于或者等于第一预设梯度阈值的边缘像素点确定为目标边缘像素点,并将所述梯度强度小于所述第一预设梯度阈值,且大于或者等于第二预设梯度阈值的边缘像素点确定为待识别边缘像素点,所述第一预设梯度阈值大于所述第二预设梯度阈值;
根据所述目标边缘像素点及所述待识别边缘像素点,生成所述多个第一椭圆边界。
根据本发明优选实施例,所述将所述左图像进行高斯卷积处理,得到滤波图像包括:
统计所述左图像的长度像素数量,并统计所述左图像的高度像素数量;
若所述长度像素数量与所述高度像素数量不相等,则对所述左图像进行裁剪,得到裁剪图像;
根据所述裁剪图像的横向像素数量生成卷积矩阵;
基于所述卷积矩阵对所述裁剪图像中每个裁剪像素点的裁剪像素矩阵进行卷积处理,得到每个裁剪像素点的亮度值;
根据多个所述亮度值生成所述滤波图像。
根据本发明优选实施例,所述基于预设横向矩阵及预设纵向矩阵,对所述滤波图像进行图像梯度计算,得到梯度图像包括:
基于所述预设横向矩阵对所述滤波图像中每个滤波像素点的滤波像素矩阵进行卷积处理,得到每个滤波像素点的横向梯度值;
基于所述预设纵向矩阵对所述滤波像素矩阵进行卷积处理,得到每个滤波像素点的纵向梯度值;
根据所述横向梯度值及所述纵向梯度值生成所述梯度图像。
根据本发明优选实施例,所述根据所述目标边缘像素点及所述待识别边缘像素点,生成所述多个第一椭圆边界包括:
依照所述目标边缘像素点及所述待识别边缘像素点在所述边缘边界图像中的像素位置,连接所述目标边缘像素点及所述待识别边缘像素点,得到连接圆弧;
从所述连接圆弧中识别出与所述待识别边缘像素点对应的目标圆弧,所述目标圆弧的圆弧长度等于预设长度;
若所述目标圆弧中包括所述目标边缘像素点,则将所述待识别边缘像素点确定为已识别边缘像素点;
连接所述目标边缘像素点及所述已识别边缘像素点,得到多条凹弧线以及多条凸弧线;
根据所述多条凹弧线以及所述多条凸弧线生成多个待处理圆弧;
对每个待处理圆弧进行椭圆拟合,得到所述多个第一椭圆边界。
根据本发明优选实施例,所述将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,得到所述左图像的目标左椭圆及所述右图像的目标右椭圆包括:
获取所述双目摄像机中左相机的左内参矩阵及所述双目摄像机中右相机的右内参矩阵;
基于所述左图像构建左坐标系,并基于所述右图像构建右坐标系;
获取所述左坐标系与所述右坐标系的外参矩阵及平移向量;
获取所述第一聚类椭圆的第一聚类中心在所述左坐标系的第一聚类坐标信息,并获取所述第二聚类椭圆的第二聚类中心在所述右坐标系的第二聚类坐标信息;
根据所述左内参矩阵、所述右内参矩阵、所述外参矩阵、所述平移向量、所述第一聚类坐标信息及所述第二聚类坐标信息生成误差值;
若所述误差值小于预设值,则将该第一聚类椭圆确定为所述目标左椭圆,并将该第二聚类椭圆确定为所述目标右椭圆。
根据本发明优选实施例,所述根据所述目标左椭圆的第一左长轴顶点、所述目标左椭圆的第二左长轴顶点、所述目标右椭圆的第一右长轴顶点及所述目标右椭圆的第二右长轴顶点识别出所述桌面杯子的杯子直径包括:
根据所述外参矩阵、所述平移向量、所述左内参矩阵及所述第一左长轴顶点在所述左坐标系的第一左长轴坐标信息,生成所述第一左长轴顶点在所述右坐标系的第一目标坐标信息;
根据所述外参矩阵、所述平移向量、所述左内参矩阵及所述第二左长轴顶点在所述左坐标系的第二左长轴坐标信息,生成所述第二左长轴顶点在所述右坐标系的第二目标坐标信息;
根据所述第一右长轴顶点在所述右坐标系的第一右长轴坐标信息及所述第一目标坐标信息生成所述第一左长轴顶点与所述第一右长轴顶点的第一顶点视差;
根据所述第二右长轴顶点在所述右坐标系的第二右长轴坐标信息及所述第二目标坐标信息生成所述第二左长轴顶点与所述第二右长轴顶点的第二顶点视差;
根据所述双目摄像机的焦距、所述左相机与所述右相机的光心距离及所述第一顶点视差生成所述桌面杯子与所述电子设备的第一杯沿距离,并根据所述焦距、所述光心距离及所述第二顶点视差生成所述桌面杯子与所述电子设备的第二杯沿距离;
计算所述第一杯沿距离与所述第二杯沿距离的差值,得到所述杯子直径。
另一方面,本发明还提出一种机械臂控制装置,运行于电子设备,所述电子设备安装有双目摄像机,所述电子设备与机械臂相通信,所述机械臂控制装置包括:
获取单元,用于获取所述双目摄像机拍摄桌面杯子所得到的左图像及右图像;
检测单元,用于对所述左图像进行椭圆粗检测,得到多个第一椭圆边界,并对所述右图像进行椭圆粗检测,得到多个第二椭圆边界;
选取单元,用于从所述多个第一椭圆边界中选取出第一聚类椭圆,并从所述多个第二椭圆边界中选取出第二聚类椭圆;
匹配单元,用于将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,得到所述左图像的目标左椭圆及所述右图像的目标右椭圆;
识别单元,用于根据所述目标左椭圆的左中心点及所述目标右椭圆的右中心点识别出所述桌面杯子与所述电子设备的初始距离,并根据所述目标左椭圆的第一左长轴顶点、所述目标左椭圆的第二左长轴顶点、所述目标右椭圆的第一右长轴顶点及所述目标右椭圆的第二右长轴顶点识别出所述桌面杯子的杯子直径;
生成单元,用于基于所述电子设备与所述机械臂的位置关系、所述初始距离,生成所述机械臂与所述桌面杯子的距离关系;
控制单元,用于基于所述距离关系及所述杯子直径,控制所述机械臂进行运转。
另一方面,本发明还提出一种电子设备,所述电子设备包括:
存储器,存储计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现所述机械臂控制方法。
另一方面,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现所述机械臂控制方法。
由以上技术方案可以看出,本申请通过椭圆粗检测,由于计算量较小,因此能够实时检测到所述桌面杯子的位置,从而能够灵活调整控制所述机械臂进行运转,进而通过选取所述第一聚类椭圆及所述第二聚类椭圆,能够避免粗检测所带来的误差,进而通过将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,能够结合所述双目摄像机的特性,从而提高了所述目标左椭圆及所述目标右椭圆的筛选准确性,从而提高所述距离关系的生成准确性,可见,本申请通过引入了视觉感知,能够解决因所述桌面杯子的移动而导致所述机械臂无法准确倒茶的问题,通过准确的识别出所述机械臂与所述桌面杯子的距离关系,使得本申请能够适配动态场景,而无需按照特定位置摆放所述桌面杯子。此外,本申请通过所述第一左长轴顶点、所述第二左长轴顶点、所述第一右长轴顶点及所述第二右长轴顶点能够准确的识别出所述桌面杯子的杯子直径,因此,本申请可以使用任意大小的桌面杯子,提高了本申请的实用性,并进一步提高本申请的动态场景的适配性。
附图说明
图1是本发明机械臂控制方法的应用场景图。
图2是本发明机械臂控制方法的较佳实施例的流程图。
图3是本发明机械臂控制装置的较佳实施例的功能模块图。
图4是本发明实现机械臂控制方法的较佳实施例的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明机械臂控制方法的应用场景图。
所述机械臂控制方法应用于电子设备1中,所述电子设备1上安装有双目摄像机11,所述电子设备1与机械臂2相通信,所述电子设备1可以调用程序控制所述机械臂2进行运转及抓取等动作,所述双目摄像机11可以拍摄桌面杯子3,所述电子设备1、所述机械臂2及所述桌面杯子3处于同一平面上。
本申请将所述双目摄像机11安装于所述电子设备1上,而并非安装于所述机械臂2,能够实现所述双目摄像机11对所述桌面杯子3进行定点拍摄,从而提高所述双目摄像机拍摄桌面杯子所得到的左图像及右图像的清晰度,从而确保所述机械臂2能够进行准确的运转。
如图2所示,是本发明机械臂控制方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述机械臂控制方法可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
所述机械臂控制方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的计算机可读指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能穿戴式设备等。
所述电子设备可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络电子设备、多个网络电子设备组成的电子设备组或基于云计算(CloudComputing)的由大量主机或网络电子设备构成的云。
所述电子设备所在的网络包括,但不限于:互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
101,获取所述双目摄像机拍摄桌面杯子所得到的左图像及右图像。
在本发明的至少一个实施例中,所述双目摄像机安装在所述电子设备中。所述桌面杯子与所述电子设备处于同一平面中。
所述左图像是指所述电子设备控制所述双目摄像机中的左相机拍摄所生成的图像,所述右图像是指所述电子设备控制所述双目摄像机中的右相机拍摄所生成的图像。在医学场景中,所述桌面杯子可以为医疗器械,则所述左图像及所述右图像还可以是所述双目摄像机拍摄医疗器械所得到的图像。
在本发明的至少一个实施例中,所述电子设备从与所述双目摄像机对应的数据库中获取与所述桌面杯子所对应的杯子图像,基于所述杯子图像的图像标签识别出所述左图像及所述右图像。
102,对所述左图像进行椭圆粗检测,得到多个第一椭圆边界,并对所述右图像进行椭圆粗检测,得到多个第二椭圆边界。
在本发明的至少一个实施例中,所述多个第一椭圆边界是指从所述左图像中识别得到的椭圆形边界。所述多个第二椭圆边界是指从所述右图像中识别得到的椭圆形边界。
在本发明的至少一个实施例中,所述电子设备对所述左图像进行椭圆粗检测,得到多个第一椭圆边界包括:
将所述左图像进行高斯卷积处理,得到滤波图像;
基于预设横向矩阵及预设纵向矩阵,对所述滤波图像进行图像梯度计算,得到梯度图像;
对所述梯度图像中每个梯度像素点与对应的邻近像素点进行梯度比较,生成边缘边界图像;
获取所述边缘边界图像中每个边缘像素点的梯度强度;
将所述梯度强度大于或者等于第一预设梯度阈值的边缘像素点确定为目标边缘像素点,并将所述梯度强度小于所述第一预设梯度阈值,且大于或者等于第二预设梯度阈值的边缘像素点确定为待识别边缘像素点,所述第一预设梯度阈值大于所述第二预设梯度阈值;
根据所述目标边缘像素点及所述待识别边缘像素点,生成所述多个第一椭圆边界。
其中,所述滤波图像是指过滤掉所述左图像的图像噪声后所得到的图像。
所述预设横向矩阵及所述预设纵向矩阵可以根据实际需求设定,所述预设横向矩阵及所述预设纵向矩阵可以设置为3*3的矩阵。
所述邻近像素点是指与每个梯度像素点的像素距离小于预设距离的其他梯度像素点。
通过对所述左图像进行高斯卷积处理,能够滤除所述左图像的噪声,通过所述预设横向矩阵及所述预设纵向矩阵,能够将所述滤波图像中的亮度值转换为梯度值,进而通过每个梯度像素点与对应的邻近像素点进行梯度比较,能够生成所述边缘边界图像,通过设定所述第一预设梯度阈值及所述第二预设梯度阈值,能够剔除所述梯度强度小于所述第二预设梯度阈值的边缘像素点,从而提高所述多个第一椭圆边界的生成准确性。
具体地,所述电子设备将所述左图像进行高斯卷积处理,得到滤波图像包括:
统计所述左图像的长度像素数量,并统计所述左图像的高度像素数量;
若所述长度像素数量与所述高度像素数量不相等,则对所述左图像进行裁剪,得到裁剪图像;
根据所述裁剪图像的横向像素数量生成卷积矩阵;
基于所述卷积矩阵对所述裁剪图像中每个裁剪像素点的裁剪像素矩阵进行卷积处理,得到每个裁剪像素点的亮度值;
根据多个所述亮度值生成所述滤波图像。
其中,所述裁剪图像的横向像素数量及纵向像素数量相等。当所述长度像素数量小于所述高度像素数量时,则所述横向像素数量及所述纵向像素数量均等于所述长度像素数量。当所述长度像素数量大于所述高度像素数量时,则所述横向像素数量及所述纵向像素数量均等于所述高度像素数量。
所述卷积矩阵中每个矩阵元素的生成公式为:
1≤i,j≤(2k+1);
其中,Aij表示所述卷积矩阵中第i行第j列的矩阵元素。
所述裁剪像素矩阵是指以该裁剪像素点的像素值为中心点的矩阵,所述裁剪像素矩阵的矩阵形式可以是3*3等。
通过所述横向像素数量能够合理的生成卷积矩阵,进而通过所述卷积矩阵对每个裁剪像素点进行卷积处理,能够合理的滤除所述左图像中的噪声,提高所述滤波图像的准确性。
具体地,所述电子设备基于预设横向矩阵及预设纵向矩阵,对所述滤波图像进行图像梯度计算,得到梯度图像包括:
基于所述预设横向矩阵对所述滤波图像中每个滤波像素点的滤波像素矩阵进行卷积处理,得到每个滤波像素点的横向梯度值;
基于所述预设纵向矩阵对所述滤波像素矩阵进行卷积处理,得到每个滤波像素点的纵向梯度值;
根据所述横向梯度值及所述纵向梯度值生成所述梯度图像。
其中,所述滤波像素矩阵是指以该滤波像素点的亮度值为中心点的矩阵,所述滤波像素矩阵的矩阵形式可以是3*3等。
所述梯度图像中每个像素点的梯度强度值为所述横向梯度值与所述纵向梯度值的平方和的开方根值。
通过所述预设横向矩阵及所述预设纵向矩阵分别对所述滤波像素矩阵进行卷积处理,能够从不同维度生成图像的梯度值,进而结合不同维度的梯度值能够更准确的生成所述梯度图像。
具体地,所述电子设备对所述梯度图像中每个梯度像素点与对应的邻近像素点进行梯度比较,生成边缘边界图像包括:
获取所述梯度图像中每个梯度像素点的梯度强度;
根据每个梯度像素点在所述梯度图像中的像素位置,识别出每个梯度像素点的邻近像素点;
将每个梯度像素点的梯度强度与所述邻近像素点的梯度强度进行比较;
根据所述梯度强度大于所述邻近像素点的梯度强度的梯度像素点,生成所述边缘边界图像。
其中,所述邻近像素点是指与每个梯度像素点相邻近的其他梯度像素点。
通过每个梯度像素点的梯度强度与所述邻近像素点的梯度强度进行比较,能够准确的筛选出边缘像素点,从而提高所述边缘边界图像的生成准确性。
具体地,所述电子设备根据所述目标边缘像素点及所述待识别边缘像素点,生成所述多个第一椭圆边界包括:
依照所述目标边缘像素点及所述待识别边缘像素点在所述边缘边界图像中的像素位置,连接所述目标边缘像素点及所述待识别边缘像素点,得到连接圆弧;
从所述连接圆弧中识别出与所述待识别边缘像素点对应的目标圆弧,所述目标圆弧的圆弧长度等于预设长度;
若所述目标圆弧中包括所述目标边缘像素点,则将所述待识别边缘像素点确定为已识别边缘像素点;
连接所述目标边缘像素点及所述已识别边缘像素点,得到多条凹弧线以及多条凸弧线;
根据所述多条凹弧线以及所述多条凸弧线生成多个待处理圆弧;
对每个待处理圆弧进行椭圆拟合,得到所述多个第一椭圆边界。
通过检测所述目标圆弧中是否包括所述目标边缘像素点,能够准确的检测出所述待识别边缘像素点属于噪声还是属于边缘像素点,从而提高所述多条凹弧线以及所述多条凸弧线的生成准确性,进而通过对每个待处理圆弧进行椭圆拟合,提高所述多个第一椭圆边界的生成准确性。
在其他实施例中,所述电子设备生成多个第二椭圆边界的方式与所述电子设备生成多个第一椭圆边界的方式相似,本申请对此不再赘述。
103,从所述多个第一椭圆边界中选取出第一聚类椭圆,并从所述多个第二椭圆边界中选取出第二聚类椭圆。
在本发明的至少一个实施例中,所述第一聚类椭圆是指所述左相机拍摄所述桌面杯子所对应的椭圆图像,所述第二聚类椭圆是指所述右相机拍摄所述桌面杯子所对应的椭圆图像。
在本发明的至少一个实施例中,所述电子设备从所述多个第一椭圆边界中选取出第一聚类椭圆包括:
统计每个第一椭圆边界与对应的连接圆弧的重合像素点的像素点数量;
统计每个第一椭圆边界中所有像素点的像素点总量;
计算所述像素点数量与所述像素点总量的比值;
将所述比值最大的第一椭圆边界确定为所述第一聚类椭圆。
其中,所述重合像素点是指所述第一椭圆边界与所述对应的连接圆弧相重合的像素点。
通过所述比值的比值,能够准确的筛选出所述第一聚类椭圆。
在其他实施例中,所述电子设备选取所述第二聚类椭圆的方式与所述电子设备选取所述第一聚类椭圆的方式相似,本申请对此不再赘述。
104,将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,得到所述左图像的目标左椭圆及所述右图像的目标右椭圆。
在本发明的至少一个实施例中,所述目标左椭圆是指所述左图像中与所述第二聚类椭圆相匹配的第一聚类椭圆,所述目标右椭圆是指所述右图像中与所述第一聚类椭圆相匹配的第二聚类椭圆。
在本发明的至少一个实施例中,所述电子设备将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,得到所述左图像的目标左椭圆及所述右图像的目标右椭圆包括:
获取所述双目摄像机中左相机的左内参矩阵及所述双目摄像机中右相机的右内参矩阵;
基于所述左图像构建左坐标系,并基于所述右图像构建右坐标系;
获取所述左坐标系与所述右坐标系的外参矩阵及平移向量;
获取所述第一聚类椭圆的第一聚类中心在所述左坐标系的第一聚类坐标信息,并获取所述第二聚类椭圆的第二聚类中心在所述右坐标系的第二聚类坐标信息;
根据所述左内参矩阵、所述右内参矩阵、所述外参矩阵、所述平移向量、所述第一聚类坐标信息及所述第二聚类坐标信息生成误差值;
若所述误差值小于预设值,则将该第一聚类椭圆确定为所述目标左椭圆,并将该第二聚类椭圆确定为所述目标右椭圆。
其中,所述误差值的生成公式为:
其中,y表示所述误差值,K1表示所述左内参矩阵,K2表示所述右内参矩阵,r表示所述外参矩阵,t表示所述平移向量,(x1,y1)表示所述第一聚类坐标信息,(x2,y2)表示所述第二聚类坐标信息。
所述预设值为正实数,所述预设值的具体取值可以根据实际需求设定,在理想值的情况下,所述预设值可以设置为0。
通过所述误差值能够准确的衡量出所述第一聚类椭圆与所述第二聚类椭圆的匹配关系,从而能够准确的生成所述目标左椭圆及所述目标右椭圆。
105,根据所述目标左椭圆的左中心点及所述目标右椭圆的右中心点识别出所述桌面杯子与所述电子设备的初始距离,并根据所述目标左椭圆的第一左长轴顶点、所述目标左椭圆的第二左长轴顶点、所述目标右椭圆的第一右长轴顶点及所述目标右椭圆的第二右长轴顶点识别出所述桌面杯子的杯子直径。
在本发明的至少一个实施例中,所述初始距离是指所述桌面杯子距离所述电子设备的长度。
在本发明的至少一个实施例中,所述电子设备根据所述目标左椭圆的第一左长轴顶点、所述目标左椭圆的第二左长轴顶点、所述目标右椭圆的第一右长轴顶点及所述目标右椭圆的第二右长轴顶点识别出所述桌面杯子的杯子直径包括:
根据所述外参矩阵、所述平移向量、所述左内参矩阵及所述第一左长轴顶点在所述左坐标系的第一左长轴坐标信息,生成所述第一左长轴顶点在所述右坐标系的第一目标坐标信息;
根据所述外参矩阵、所述平移向量、所述左内参矩阵及所述第二左长轴顶点在所述左坐标系的第二左长轴坐标信息,生成所述第二左长轴顶点在所述右坐标系的第二目标坐标信息;
根据所述第一右长轴顶点在所述右坐标系的第一右长轴坐标信息及所述第一目标坐标信息生成所述第一左长轴顶点与所述第一右长轴顶点的第一顶点视差;
根据所述第二右长轴顶点在所述右坐标系的第二右长轴坐标信息及所述第二目标坐标信息生成所述第二左长轴顶点与所述第二右长轴顶点的第二顶点视差;
根据所述双目摄像机的焦距、所述左相机与所述右相机的光心距离及所述第一顶点视差生成所述桌面杯子与所述电子设备的第一杯沿距离,并根据所述焦距、所述光心距离及所述第二顶点视差生成所述桌面杯子与所述电子设备的第二杯沿距离;
计算所述第一杯沿距离与所述第二杯沿距离的差值,得到所述杯子直径。
其中,所述第一目标坐标信息的生成方式为:
其中,f表示所述第一目标坐标信息,(a1,b1)表示所述第一左长轴坐标信息。
所述第一顶点视差是指所述第一目标坐标信息与所述第一右长轴坐标信息的差值。
所述第一杯沿距离的生成方式为:计算所述焦距与所述光心距离的乘积,并计算所述乘积在所述第一顶点视差中在占比。
通过上述实施方式,能够准确的计算出所述第一杯沿距离及所述第二杯沿距离,从而提高所述杯子直径的准确性。
在其他实施例中,所述电子设备识别出所述初始距离的方式与所述电子设备识别出所述第一杯沿距离及所述第二杯沿距离的方式相似,本申请对此不再赘述。
106,基于所述电子设备与所述机械臂的位置关系、所述初始距离,生成所述机械臂与所述桌面杯子的距离关系。
在本发明的至少一个实施例中,所述位置关系包括所述电子设备相对于所述机械臂的具体位置及位置长度。
所述距离关系是指所述桌面杯子距离所述机械臂的长度。
在本发明的至少一个实施例中,当所述具体位置为所述电子设备及所述机械臂分别处于所述桌面杯子的两侧时,所述电子设备计算所述位置长度与所述初始距离的差值,得到所述距离关系。
在其他实施例中,当所述具体位置为所述机械臂及所述桌面杯子处于所述电子设备的两侧时,所述电子设备计算所述位置长度与所述初始距离的总和,得到所述距离关系。
在其他实施例中,当所述具体位置为所述电子设备及所述桌面杯子处于所述机械臂的两侧时,所述电子设备计算计算所述初始距离与所述位置长度的差值,得到所述距离关系。
通过上述实施方式,能够结合所述电子设备相对于所述机械臂的具体位置,准确的量化出所述距离关系。
107,基于所述距离关系及所述杯子直径,控制所述机械臂进行运转。
需要强调的是,为进一步保证所述距离关系及所述杯子直径的私密和安全性,所述距离关系及所述杯子直径还可以存储于一区块链的节点中。
在本发明的至少一个实施例中,所述电子设备根据所述距离关系及所述杯子直径生成控制程序,所述电子设备调用所述控制程序控制所述机械臂对所述桌面杯子进行倒茶及抓取等操作。
本申请通过识别出所述杯子直径,能够准确的控制所述机械臂对所述桌面杯子进行抓取,通过识别出所述距离关系,能够准确的控制所述机械臂对所述桌面杯子进行倒茶等操作。
由以上技术方案可以看出,本申请通过椭圆粗检测,由于计算量较小,因此能够实时检测到所述桌面杯子的位置,从而能够灵活调整控制所述机械臂进行运转,进而通过选取所述第一聚类椭圆及所述第二聚类椭圆,能够避免粗检测所带来的误差,进而通过将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,能够结合所述双目摄像机的特性,从而提高了所述目标左椭圆及所述目标右椭圆的筛选准确性,从而提高所述距离关系的生成准确性,可见,本申请通过引入了视觉感知,能够解决因所述桌面杯子的移动而导致所述机械臂无法准确倒茶的问题,通过准确的识别出所述机械臂与所述桌面杯子的距离关系,使得本申请能够适配动态场景,而无需按照特定位置摆放所述桌面杯子。此外,本申请通过所述第一左长轴顶点、所述第二左长轴顶点、所述第一右长轴顶点及所述第二右长轴顶点能够准确的识别出所述桌面杯子的杯子直径,因此,本申请可以使用任意大小的桌面杯子,提高了本申请的实用性,并进一步提高本申请的动态场景的适配性。
如图3所示,是本发明机械臂控制装置的较佳实施例的功能模块图。所述机械臂控制装置11包括获取单元110、检测单元111、选取单元112、匹配单元113、识别单元114、生成单元115及控制单元116。本发明所称的模块/单元是指一种能够被处理器13所获取,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
所述机械臂控制装置11运行于电子设备,所述电子设备安装有双目摄像机,所述电子设备与机械臂相通信。
获取单元110,用于获取所述双目摄像机拍摄桌面杯子所得到的左图像及右图像;
检测单元111,用于对所述左图像进行椭圆粗检测,得到多个第一椭圆边界,并对所述右图像进行椭圆粗检测,得到多个第二椭圆边界;
选取单元112,用于从所述多个第一椭圆边界中选取出第一聚类椭圆,并从所述多个第二椭圆边界中选取出第二聚类椭圆;
匹配单元113,用于将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,得到所述左图像的目标左椭圆及所述右图像的目标右椭圆;
识别单元114,用于根据所述目标左椭圆的左中心点及所述目标右椭圆的右中心点识别出所述桌面杯子与所述电子设备的初始距离,并根据所述目标左椭圆的第一左长轴顶点、所述目标左椭圆的第二左长轴顶点、所述目标右椭圆的第一右长轴顶点及所述目标右椭圆的第二右长轴顶点识别出所述桌面杯子的杯子直径;
生成单元115,用于基于所述电子设备与所述机械臂的位置关系、所述初始距离,生成所述机械臂与所述桌面杯子的距离关系;
控制单元116,用于基于所述距离关系及所述杯子直径,控制所述机械臂进行运转。
在本发明的至少一个实施例中,所述检测单元111,还用于将所述左图像进行高斯卷积处理,得到滤波图像;
基于预设横向矩阵及预设纵向矩阵,对所述滤波图像进行图像梯度计算,得到梯度图像;
对所述梯度图像中每个梯度像素点与对应的邻近像素点进行梯度比较,生成边缘边界图像;
获取所述边缘边界图像中每个边缘像素点的梯度强度;
将所述梯度强度大于或者等于第一预设梯度阈值的边缘像素点确定为目标边缘像素点,并将所述梯度强度小于所述第一预设梯度阈值,且大于或者等于第二预设梯度阈值的边缘像素点确定为待识别边缘像素点,所述第一预设梯度阈值大于所述第二预设梯度阈值;
根据所述目标边缘像素点及所述待识别边缘像素点,生成所述多个第一椭圆边界。
在本发明的至少一个实施例中,所述检测单元111,还用于统计所述左图像的长度像素数量,并统计所述左图像的高度像素数量;
若所述长度像素数量与所述高度像素数量不相等,则对所述左图像进行裁剪,得到裁剪图像;
根据所述裁剪图像的横向像素数量生成卷积矩阵;
基于所述卷积矩阵对所述裁剪图像中每个裁剪像素点的裁剪像素矩阵进行卷积处理,得到每个裁剪像素点的亮度值;
根据多个所述亮度值生成所述滤波图像。
在本发明的至少一个实施例中,所述检测单元111,还用于基于所述预设横向矩阵对所述滤波图像中每个滤波像素点的滤波像素矩阵进行卷积处理,得到每个滤波像素点的横向梯度值;
基于所述预设纵向矩阵对所述滤波像素矩阵进行卷积处理,得到每个滤波像素点的纵向梯度值;
根据所述横向梯度值及所述纵向梯度值生成所述梯度图像。
在本发明的至少一个实施例中,所述检测单元111,还用于依照所述目标边缘像素点及所述待识别边缘像素点在所述边缘边界图像中的像素位置,连接所述目标边缘像素点及所述待识别边缘像素点,得到连接圆弧;
从所述连接圆弧中识别出与所述待识别边缘像素点对应的目标圆弧,所述目标圆弧的圆弧长度等于预设长度;
若所述目标圆弧中包括所述目标边缘像素点,则将所述待识别边缘像素点确定为已识别边缘像素点;
连接所述目标边缘像素点及所述已识别边缘像素点,得到多条凹弧线以及多条凸弧线;
根据所述多条凹弧线以及所述多条凸弧线生成多个待处理圆弧;
对每个待处理圆弧进行椭圆拟合,得到所述多个第一椭圆边界。
在本发明的至少一个实施例中,所述匹配单元113,还用于获取所述双目摄像机中左相机的左内参矩阵及所述双目摄像机中右相机的右内参矩阵;
基于所述左图像构建左坐标系,并基于所述右图像构建右坐标系;
获取所述左坐标系与所述右坐标系的外参矩阵及平移向量;
获取所述第一聚类椭圆的第一聚类中心在所述左坐标系的第一聚类坐标信息,并获取所述第二聚类椭圆的第二聚类中心在所述右坐标系的第二聚类坐标信息;
根据所述左内参矩阵、所述右内参矩阵、所述外参矩阵、所述平移向量、所述第一聚类坐标信息及所述第二聚类坐标信息生成误差值;
若所述误差值小于预设值,则将该第一聚类椭圆确定为所述目标左椭圆,并将该第二聚类椭圆确定为所述目标右椭圆。
在本发明的至少一个实施例中,所述识别单元114,还用于根据所述外参矩阵、所述平移向量、所述左内参矩阵及所述第一左长轴顶点在所述左坐标系的第一左长轴坐标信息,生成所述第一左长轴顶点在所述右坐标系的第一目标坐标信息;
根据所述外参矩阵、所述平移向量、所述左内参矩阵及所述第二左长轴顶点在所述左坐标系的第二左长轴坐标信息,生成所述第二左长轴顶点在所述右坐标系的第二目标坐标信息;
根据所述第一右长轴顶点在所述右坐标系的第一右长轴坐标信息及所述第一目标坐标信息生成所述第一左长轴顶点与所述第一右长轴顶点的第一顶点视差;
根据所述第二右长轴顶点在所述右坐标系的第二右长轴坐标信息及所述第二目标坐标信息生成所述第二左长轴顶点与所述第二右长轴顶点的第二顶点视差;
根据所述双目摄像机的焦距、所述左相机与所述右相机的光心距离及所述第一顶点视差生成所述桌面杯子与所述电子设备的第一杯沿距离,并根据所述焦距、所述光心距离及所述第二顶点视差生成所述桌面杯子与所述电子设备的第二杯沿距离;
计算所述第一杯沿距离与所述第二杯沿距离的差值,得到所述杯子直径。
由以上技术方案可以看出,本申请通过椭圆粗检测,由于计算量较小,因此能够实时检测到所述桌面杯子的位置,从而能够灵活调整控制所述机械臂进行运转,进而通过选取所述第一聚类椭圆及所述第二聚类椭圆,能够避免粗检测所带来的误差,进而通过将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,能够结合所述双目摄像机的特性,从而提高了所述目标左椭圆及所述目标右椭圆的筛选准确性,从而提高所述距离关系的生成准确性,可见,本申请通过引入了视觉感知,能够解决因所述桌面杯子的移动而导致所述机械臂无法准确倒茶的问题,通过准确的识别出所述机械臂与所述桌面杯子的距离关系,使得本申请能够适配动态场景,而无需按照特定位置摆放所述桌面杯子。此外,本申请通过所述第一左长轴顶点、所述第二左长轴顶点、所述第一右长轴顶点及所述第二右长轴顶点能够准确的识别出所述桌面杯子的杯子直径,因此,本申请可以使用任意大小的桌面杯子,提高了本申请的实用性,并进一步提高本申请的动态场景的适配性。
如图4所示,是本发明实现机械臂控制方法的较佳实施例的电子设备的结构示意图。
在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机可读指令,例如机械臂控制程序。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。
所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。
示例性的,所述计算机可读指令可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该计算机可读指令段用于描述所述计算机可读指令在所述电子设备1中的执行过程。例如,所述计算机可读指令可以被分割成获取单元110、检测单元111、选取单元112、匹配单元113、识别单元114、生成单元115及控制单元116。
所述存储器12可用于存储所述计算机可读指令和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机可读指令和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。存储器12可以包括非易失性和易失性存储器,例如:硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。
所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机可读指令包括计算机可读指令代码,所述计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)。
本发明所指区块链是分布式机械臂控制、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
结合图2,所述电子设备1中的所述存储器12存储计算机可读指令实现一种机械臂控制方法,所述处理器13可执行所述计算机可读指令从而实现:
获取双目摄像机拍摄桌面杯子所得到的左图像及右图像;
对所述左图像进行椭圆粗检测,得到多个第一椭圆边界,并对所述右图像进行椭圆粗检测,得到多个第二椭圆边界;
从所述多个第一椭圆边界中选取出第一聚类椭圆,并从所述多个第二椭圆边界中选取出第二聚类椭圆;
将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,得到所述左图像的目标左椭圆及所述右图像的目标右椭圆;
根据所述目标左椭圆的左中心点及所述目标右椭圆的右中心点识别出所述桌面杯子与电子设备的初始距离,并根据所述目标左椭圆的第一左长轴顶点、所述目标左椭圆的第二左长轴顶点、所述目标右椭圆的第一右长轴顶点及所述目标右椭圆的第二右长轴顶点识别出所述桌面杯子的杯子直径;
基于所述电子设备与机械臂的位置关系、所述初始距离,生成所述机械臂与所述桌面杯子的距离关系;
基于所述距离关系及所述杯子直径,控制所述机械臂进行运转。
具体地,所述处理器13对上述计算机可读指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述计算机可读存储介质上存储有计算机可读指令,其中,所述计算机可读指令被处理器13执行时用以实现以下步骤:
获取双目摄像机拍摄桌面杯子所得到的左图像及右图像;
对所述左图像进行椭圆粗检测,得到多个第一椭圆边界,并对所述右图像进行椭圆粗检测,得到多个第二椭圆边界;
从所述多个第一椭圆边界中选取出第一聚类椭圆,并从所述多个第二椭圆边界中选取出第二聚类椭圆;
将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,得到所述左图像的目标左椭圆及所述右图像的目标右椭圆;
根据所述目标左椭圆的左中心点及所述目标右椭圆的右中心点识别出所述桌面杯子与电子设备的初始距离,并根据所述目标左椭圆的第一左长轴顶点、所述目标左椭圆的第二左长轴顶点、所述目标右椭圆的第一右长轴顶点及所述目标右椭圆的第二右长轴顶点识别出所述桌面杯子的杯子直径;
基于所述电子设备与机械臂的位置关系、所述初始距离,生成所述机械臂与所述桌面杯子的距离关系;
基于所述距离关系及所述杯子直径,控制所述机械臂进行运转。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。所述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种机械臂控制方法,应用于电子设备中,所述电子设备安装有双目摄像机,所述电子设备与机械臂相通信,其特征在于,所述机械臂控制方法包括:
获取所述双目摄像机拍摄桌面杯子所得到的左图像及右图像;
对所述左图像进行椭圆粗检测,得到多个第一椭圆边界,并对所述右图像进行椭圆粗检测,得到多个第二椭圆边界;
从所述多个第一椭圆边界中选取出第一聚类椭圆,并从所述多个第二椭圆边界中选取出第二聚类椭圆;
将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,得到所述左图像的目标左椭圆及所述右图像的目标右椭圆;
根据所述目标左椭圆的左中心点及所述目标右椭圆的右中心点识别出所述桌面杯子与所述电子设备的初始距离,并根据所述目标左椭圆的第一左长轴顶点、所述目标左椭圆的第二左长轴顶点、所述目标右椭圆的第一右长轴顶点及所述目标右椭圆的第二右长轴顶点识别出所述桌面杯子的杯子直径;
基于所述电子设备与所述机械臂的位置关系、所述初始距离,生成所述机械臂与所述桌面杯子的距离关系;
基于所述距离关系及所述杯子直径,控制所述机械臂进行运转。
2.如权利要求1所述的机械臂控制方法,其特征在于,所述对所述左图像进行椭圆粗检测,得到多个第一椭圆边界包括:
将所述左图像进行高斯卷积处理,得到滤波图像;
基于预设横向矩阵及预设纵向矩阵,对所述滤波图像进行图像梯度计算,得到梯度图像;
对所述梯度图像中每个梯度像素点与对应的邻近像素点进行梯度比较,生成边缘边界图像;
获取所述边缘边界图像中每个边缘像素点的梯度强度;
将所述梯度强度大于或者等于第一预设梯度阈值的边缘像素点确定为目标边缘像素点,并将所述梯度强度小于所述第一预设梯度阈值,且大于或者等于第二预设梯度阈值的边缘像素点确定为待识别边缘像素点,所述第一预设梯度阈值大于所述第二预设梯度阈值;
根据所述目标边缘像素点及所述待识别边缘像素点,生成所述多个第一椭圆边界。
3.如权利要求2所述的机械臂控制方法,其特征在于,所述将所述左图像进行高斯卷积处理,得到滤波图像包括:
统计所述左图像的长度像素数量,并统计所述左图像的高度像素数量;
若所述长度像素数量与所述高度像素数量不相等,则对所述左图像进行裁剪,得到裁剪图像;
根据所述裁剪图像的横向像素数量生成卷积矩阵;
基于所述卷积矩阵对所述裁剪图像中每个裁剪像素点的裁剪像素矩阵进行卷积处理,得到每个裁剪像素点的亮度值;
根据多个所述亮度值生成所述滤波图像。
4.如权利要求2所述的机械臂控制方法,其特征在于,所述基于预设横向矩阵及预设纵向矩阵,对所述滤波图像进行图像梯度计算,得到梯度图像包括:
基于所述预设横向矩阵对所述滤波图像中每个滤波像素点的滤波像素矩阵进行卷积处理,得到每个滤波像素点的横向梯度值;
基于所述预设纵向矩阵对所述滤波像素矩阵进行卷积处理,得到每个滤波像素点的纵向梯度值;
根据所述横向梯度值及所述纵向梯度值生成所述梯度图像。
5.如权利要求2所述的机械臂控制方法,其特征在于,所述根据所述目标边缘像素点及所述待识别边缘像素点,生成所述多个第一椭圆边界包括:
依照所述目标边缘像素点及所述待识别边缘像素点在所述边缘边界图像中的像素位置,连接所述目标边缘像素点及所述待识别边缘像素点,得到连接圆弧;
从所述连接圆弧中识别出与所述待识别边缘像素点对应的目标圆弧,所述目标圆弧的圆弧长度等于预设长度;
若所述目标圆弧中包括所述目标边缘像素点,则将所述待识别边缘像素点确定为已识别边缘像素点;
连接所述目标边缘像素点及所述已识别边缘像素点,得到多条凹弧线以及多条凸弧线;
根据所述多条凹弧线以及所述多条凸弧线生成多个待处理圆弧;
对每个待处理圆弧进行椭圆拟合,得到所述多个第一椭圆边界。
6.如权利要求1所述的机械臂控制方法,其特征在于,所述将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,得到所述左图像的目标左椭圆及所述右图像的目标右椭圆包括:
获取所述双目摄像机中左相机的左内参矩阵及所述双目摄像机中右相机的右内参矩阵;
基于所述左图像构建左坐标系,并基于所述右图像构建右坐标系;
获取所述左坐标系与所述右坐标系的外参矩阵及平移向量;
获取所述第一聚类椭圆的第一聚类中心在所述左坐标系的第一聚类坐标信息,并获取所述第二聚类椭圆的第二聚类中心在所述右坐标系的第二聚类坐标信息;
根据所述左内参矩阵、所述右内参矩阵、所述外参矩阵、所述平移向量、所述第一聚类坐标信息及所述第二聚类坐标信息生成误差值;
若所述误差值小于预设值,则将该第一聚类椭圆确定为所述目标左椭圆,并将该第二聚类椭圆确定为所述目标右椭圆。
7.如权利要求6所述的机械臂控制方法,其特征在于,所述根据所述目标左椭圆的第一左长轴顶点、所述目标左椭圆的第二左长轴顶点、所述目标右椭圆的第一右长轴顶点及所述目标右椭圆的第二右长轴顶点识别出所述桌面杯子的杯子直径包括:
根据所述外参矩阵、所述平移向量、所述左内参矩阵及所述第一左长轴顶点在所述左坐标系的第一左长轴坐标信息,生成所述第一左长轴顶点在所述右坐标系的第一目标坐标信息;
根据所述外参矩阵、所述平移向量、所述左内参矩阵及所述第二左长轴顶点在所述左坐标系的第二左长轴坐标信息,生成所述第二左长轴顶点在所述右坐标系的第二目标坐标信息;
根据所述第一右长轴顶点在所述右坐标系的第一右长轴坐标信息及所述第一目标坐标信息生成所述第一左长轴顶点与所述第一右长轴顶点的第一顶点视差;
根据所述第二右长轴顶点在所述右坐标系的第二右长轴坐标信息及所述第二目标坐标信息生成所述第二左长轴顶点与所述第二右长轴顶点的第二顶点视差;
根据所述双目摄像机的焦距、所述左相机与所述右相机的光心距离及所述第一顶点视差生成所述桌面杯子与所述电子设备的第一杯沿距离,并根据所述焦距、所述光心距离及所述第二顶点视差生成所述桌面杯子与所述电子设备的第二杯沿距离;
计算所述第一杯沿距离与所述第二杯沿距离的差值,得到所述杯子直径。
8.一种机械臂控制装置,运行于电子设备,所述电子设备安装有双目摄像机,所述电子设备与机械臂相通信,其特征在于,所述机械臂控制装置包括:
获取单元,用于获取所述双目摄像机拍摄桌面杯子所得到的左图像及右图像;
检测单元,用于对所述左图像进行椭圆粗检测,得到多个第一椭圆边界,并对所述右图像进行椭圆粗检测,得到多个第二椭圆边界;
选取单元,用于从所述多个第一椭圆边界中选取出第一聚类椭圆,并从所述多个第二椭圆边界中选取出第二聚类椭圆;
匹配单元,用于将所述第一聚类椭圆与所述第二聚类椭圆进行匹配,得到所述左图像的目标左椭圆及所述右图像的目标右椭圆;
识别单元,用于根据所述目标左椭圆的左中心点及所述目标右椭圆的右中心点识别出所述桌面杯子与所述电子设备的初始距离,并根据所述目标左椭圆的第一左长轴顶点、所述目标左椭圆的第二左长轴顶点、所述目标右椭圆的第一右长轴顶点及所述目标右椭圆的第二右长轴顶点识别出所述桌面杯子的杯子直径;
生成单元,用于基于所述电子设备与所述机械臂的位置关系、所述初始距离,生成所述机械臂与所述桌面杯子的距离关系;
控制单元,用于基于所述距离关系及所述杯子直径,控制所述机械臂进行运转。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现如权利要求1至7中任意一项所述的机械臂控制方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现如权利要求1至7中任意一项所述的机械臂控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310556201.9A CN116604554A (zh) | 2023-05-16 | 2023-05-16 | 机械臂控制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310556201.9A CN116604554A (zh) | 2023-05-16 | 2023-05-16 | 机械臂控制方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116604554A true CN116604554A (zh) | 2023-08-18 |
Family
ID=87684758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310556201.9A Pending CN116604554A (zh) | 2023-05-16 | 2023-05-16 | 机械臂控制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116604554A (zh) |
-
2023
- 2023-05-16 CN CN202310556201.9A patent/CN116604554A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111815754B (zh) | 一种三维信息确定方法、三维信息确定装置及终端设备 | |
CN111340077B (zh) | 基于注意力机制的视差图获取方法和装置 | |
CN111862035B (zh) | 光斑检测模型的训练方法、光斑检测方法、设备及介质 | |
CN110363817B (zh) | 目标位姿估计方法、电子设备和介质 | |
CN111612841A (zh) | 目标定位方法及装置、移动机器人及可读存储介质 | |
CN113807451B (zh) | 全景图像特征点匹配模型的训练方法、装置以及服务器 | |
CN110147708B (zh) | 一种图像数据处理方法和相关装置 | |
CN111192313A (zh) | 机器人构建地图的方法、机器人及存储介质 | |
CN112348890B (zh) | 一种空间定位方法、装置及计算机可读存储介质 | |
CN114219855A (zh) | 点云法向量的估计方法、装置、计算机设备和存储介质 | |
CN114758145A (zh) | 一种图像脱敏方法、装置、电子设备及存储介质 | |
CN113191189A (zh) | 人脸活体检测方法、终端设备及计算机可读存储介质 | |
CN116604554A (zh) | 机械臂控制方法、装置、设备及存储介质 | |
CN116245960A (zh) | 一种bev俯视图生成方法、系统、电子设备及存储介质 | |
CN112102205B (zh) | 图像去模糊方法、装置、电子设备及存储介质 | |
CN114627528A (zh) | 身份比对方法、装置、电子设备及计算机可读存储介质 | |
WO2022252641A1 (zh) | 基于多图片差异性的鉴伪方法、装置、设备及存储介质 | |
CN114330418A (zh) | 用于ar目标识别的脑电和眼动融合方法、介质及设备 | |
CN111383262B (zh) | 遮挡检测方法、系统、电子终端以及存储介质 | |
CN111091593B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN110969651B (zh) | 3d景深估计方法、装置及终端设备 | |
CN110163111B (zh) | 基于人脸识别的叫号方法、装置、电子设备及存储介质 | |
CN116071625B (zh) | 深度学习模型的训练方法、目标检测方法及装置 | |
CN116403268A (zh) | 图像库构建方法、电子设备及存储介质 | |
CN117409059A (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 |