CN111015670B - 一种机械手臂及其定位识别处理零件的方法 - Google Patents
一种机械手臂及其定位识别处理零件的方法 Download PDFInfo
- Publication number
- CN111015670B CN111015670B CN201911384446.8A CN201911384446A CN111015670B CN 111015670 B CN111015670 B CN 111015670B CN 201911384446 A CN201911384446 A CN 201911384446A CN 111015670 B CN111015670 B CN 111015670B
- Authority
- CN
- China
- Prior art keywords
- module
- preset
- current
- feature point
- coordinate
- 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.)
- Active
Links
Images
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
-
- 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
-
- 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/1628—Programme controls characterised by the control loop
-
- 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/1694—Programme 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/1697—Vision controlled systems
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本发明公开一种机械手臂及其定位识别处理零件的方法;所述机械手臂包括获取移动控制模块、处理选取模块、第一获取模块、第一计算判断模块、纵向偏移删除模块、第二获取模块、第二计算判断模块、横向偏移删除模块、删除控制模块和移动控制抓取模块;在工业化生产中,通过所述机械手臂和所述方法能够稳定快速、正确并准确地定位、识别、抓取和放置安装零件,提高生产效率,节约成本。
Description
技术领域
本发明涉及工业机器人领域,尤其涉及一种机械手臂及其定位识别处理零件的方法。
背景技术
社会在高速发展,人力成本也在不断增加;且现在人工劳动力的效率及其效率不稳定性已经满足不了社会发展的需要,人工操作的精确性和准确性亟需提高;因而现在大多公司正在尝试通过引入工业机器人实现生产自动化,在实现生化自动化的过程中,关键是怎样保证定位、识别、抓取和放置安装的正确性和准确性。
PID算法是包括比例(Proportion)积分,(Integral)微分,(Differentialcoefficient)的三种控制算法的缩写;通过PID算法(比例、积分和微分三个算法的组合)可有效地纠正被控制对象的偏差,从而使其达到一个稳定的状态。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种机械手臂及其定位识别处理零件的方法。
本发明提供了一种机械手臂定位识别处理零件的方法,包括以下步骤:
步骤S01:机械手臂获取零件的初始坐标,移动手臂模块至初始坐标;控制第一拍摄模块拍摄图片;
步骤S02:所述机械手臂根据第一预置算法处理图片得到特征点及对应的特征点坐标;从得到的特征点中选取一个特征点作为当前特征点,执行步骤N01;
步骤N01:所述机械手臂获取与当前特征点的纵坐标对应的第二预置数据;根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标;根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据;根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块,是则使用第十二预置算法对第十二预置数据和第二比较数据进行计算得到纵向偏移距离;根据第二预置正方向将手臂模块移动纵向偏移距离,删除纵向偏移距离,执行步骤N03;否则执行步骤N02;
步骤N02:所述机械手臂获取与当前特征点的横坐标坐标对应的第二预置数据;根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标;根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据;根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,是则使用第十二预置算法对第十二预置数据和第三比较数据进行计算得到横向偏移距离;根据第三预置正方向将手臂模块移动横向偏移距离,删除横向偏移距离,执行步骤N03;否则执行步骤D01;
步骤N03:所述机械手臂删除所有特征点坐标,控制第一拍摄模块重新拍摄图片,返回步骤S02;
步骤D01:所述机械手臂移动第一预置高度,控制手臂模块上的抓取装置抓取零件,当抓取零件成功时,获取零件的终点坐标,移动手臂模块至终点坐标,打开抓取装置,结束。
本发明又提供了一种机械手臂,包括获取移动控制模块、处理选取模块、第一获取模块、第一计算判断模块、纵向偏移删除模块、第二获取模块、第二计算判断模块、横向偏移删除模块、删除控制模块和移动控制抓取模块;
所述获取移动控制模块,用于获取零件的初始坐标,移动手臂模块至初始坐标;控制第一拍摄模块拍摄图片;
所述处理选取模块,用于根据第一预置算法处理图片得到特征点及对应的特征点坐标;从得到的特征点中选取一个特征点作为当前特征点;
所述第一获取模块,用于获取与当前特征点的纵坐标对应的第二预置数据;根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标;
所述第一计算判断模块,用于根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据;根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块,是则触发所述纵向偏移删除模块;否则触发所述第二获取模块;
所述纵向偏移删除模块,用于使用第十二预置算法对第十二预置数据和第二比较数据进行计算得到纵向偏移距离;根据第二预置正方向将手臂模块移动纵向偏移距离,删除纵向偏移距离,触发所述删除控制模块;
所述第二获取模块,用于获取与当前特征点的横坐标坐标对应的第二预置数据;根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标;
所述第二计算判断模块,用于根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据;根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,是则触发所述横向偏移删除模块;否则触发所述移动控制抓取模块;
所述横向偏移删除模块,用于使用第十二预置算法对第十二预置数据和第三比较数据进行计算得到横向偏移距离;根据第三预置正方向将手臂模块移动横向偏移距离,删除横向偏移距离,触发所述删除控制模块;
所述删除控制模块,用于删除所有特征点坐标,控制第一拍摄模块重新拍摄图片,触发所述处理选取模块;
所述移动控制抓取模块,用于移动第一预置高度,控制手臂模块上的抓取装置抓取零件,当抓取零件成功时,获取零件的终点坐标,移动手臂模块至终点坐标,打开抓取装置,结束。
本发明与现有技术相比,具有以下优点:本发明提供一种机械手臂及其定位识别处理零件的方法;在工业化生产中,通过所述方法能够稳定快速、正确并准确地定位、识别、抓取和放置安装零件,提高生产效率,节约成本。
附图说明
图1为本发明实施例一提供的一种机械手臂定位识别处理零件的方法的流程图;
图2-1和图2-2为本发明实施例二提供的一种机械手臂定位识别处理零件的方法的流程图;
图3为本发明实施例四提供的一种机械手臂的方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种机械手臂定位识别处理零件的方法,机械手臂控制第一拍摄模块、手臂模块和第二拍摄模块进行相应操作;本实施例中,必要时需要对图片进行旋转;如1所示,包括以下步骤:
步骤S01:机械手臂获取零件的初始坐标,移动手臂模块至初始坐标;控制第一拍摄模块拍摄图片;
本实施例中,第一坐标系为空间坐标系,第二坐标系为像素坐标系,旋转偏移图片时适用像素坐标系,其余全部适用空间坐标系;
步骤S02:机械手臂根据第一预置算法处理图片得到特征点及对应的特征点坐标;从得到的特征点中选取一个特征点作为当前特征点;
步骤N01:机械手臂获取与当前特征点的纵坐标对应的第二预置数据;根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标;根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据;根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块,是则使用第十二预置算法对第十二预置数据和第二比较数据进行计算得到纵向偏移距离;根据第二预置正方向将手臂模块移动纵向偏移距离,删除纵向偏移距离,执行步骤N03;否则执行步骤N02;
可选地,步骤N01中,根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标,具体为:机械手臂获取第一当前图片的左上角顶点的纵坐标作为左上角顶点纵坐标;根据图片预置长度获取第一当前图片的右下角顶点的纵坐标作为右下角顶点纵坐标。
可选地,步骤N01中,根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据,具体为:机械手臂根据当前特征点的纵坐标和左上角顶点纵坐标计算当前特征点距离第一当前图片上边缘的第一纵向距离;根据当前特征点的纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片下边缘的第二纵向距离;
进一步地,机械手臂根据当前特征点的纵坐标和左上角顶点纵坐标计算当前特征点距离第一当前图片上边缘的第一纵向距离;根据当前特征点的纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片下边缘的第二纵向距离,具体为:机械手臂对当前特征点的纵坐标和左上角顶点纵坐标进行减法运算得到当前特征点距离第一当前图片上边缘的第一纵向距离;对当前特征点的纵坐标和右下角顶点纵坐标进行减法运算得到当前特征点距离第一当前图片下边缘的第二纵向距离。
步骤N02:机械手臂获取与当前特征点的横坐标对应的第二预置数据;根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标;根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据;根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,是则使用第十二预置算法对第十二预置数据和第三比较数据进行计算得到横向偏移距离;根据第三预置正方向将手臂模块移动横向偏移距离,删除横向偏移距离,执行步骤N03;否则执行步骤D01;
可选地,步骤S02中,机械手臂根据第一预置算法处理图片得到特征点及对应的特征点坐标之后,还包括步骤M-01:
步骤M-01:机械手臂获取预置旋转条件,确定预置旋转条件的类型,当预置旋转条件为需要考虑旋转时,进行旋转操作,执行步骤N03;当预置旋转条件为不需要考虑旋转时,从特征点中选取一个特征点作为当前特征点;
进一步地,步骤M-01中,当预置旋转条件为需要考虑旋转时,还包括步骤M-02:机械手臂获取用户输入的零件的形状和方向类别,根据零件的形状和方向类别判断是否需要旋转机械手臂,当零件的形状为圆形或者圆环且用户输入的方向类别为没有正方向时,不需要旋转,获取零件的中点,将中点记为当前特征点,执行步骤N-01;否则需要旋转,进行旋转操作,执行步骤N03。
更进一步地,进行旋转操作,包括以下步骤:
步骤M-11:机械手臂根据第一预置条件从特征点中选取不在一条直线上三个特征点,分别标记为第一特征点、第二特征点和第三特征点;
步骤M-12:机械手臂对第一特征点的纵坐标和第二特征点的纵坐标进行运算得到第一运算结果;对第一特征点的纵坐标和第三特征点的纵坐标进行运算得到第二运算结果;根据对第一运算结果和第二运算结果进行运算得到第一比较数据;
步骤M-13:机械手臂根据第一预置数据和第一比较数据确定是否需要旋转机械手臂,是则执行步骤M-14,否则从第一特征点、第二特征点和第三特征点中选取一个特征点作为当前特征点,执行步骤N01;
步骤M-14:机械手臂使用第十一预置算法对第十一预置数据和第一比较数据进行计算得到第一旋转角度,根据第一预置正方向将手臂模块旋转第一旋转角度,删除第一旋转角度,执行步骤N03。
更进一步地,进行旋转操作,包括以下步骤:
步骤M-11:机械手臂根据第一预置条件从特征点中选取不在一条直线上三个特征点,分别标记为第一特征点、第二特征点和第三特征点;
步骤M-12:机械手臂对第一特征点的横坐标和第二特征点的横坐标进行运算得到第一运算结果;对第一特征点的横坐标和第三特征点的横坐标进行运算得到第二运算结果;根据对第一运算结果和第二运算结果进行运算得到第一比较数据;
步骤M-13:机械手臂根据第二十一预置数据和第一比较数据确定是否需要旋转机械手臂,是则执行步骤M-14,否则从第一特征点、第二特征点和第三特征点中选取一个特征点作为当前特征点,执行步骤N01;
步骤M-14:机械手臂使用第十一预置算法对第十一预置数据和第一比较数据进行计算得到第一旋转角度,根据第一预置正方向将手臂模块旋转第一旋转角度,删除第一旋转角度,执行步骤N03。
进一步地,步骤M-02包括:
步骤M-21:机械手臂获取第一当前图片上图像的外轮廓线,根据外轮廓线确定零件的形状,当零件的形状为圆环或者环形时,执行步骤M-22,否则需要旋转,进行旋转操作,执行步骤N03;
步骤M-23:机械手臂获取用户输入的方向类别,当方向类别为有正方向时,根据外轮廓线的坐标确定零件中点坐标,将中点记为当前特征点,执行步骤N01;当方向类别为无正方向时,需要旋转,进行旋转操作,执行步骤N03。
可选地,步骤N02中,根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标,具体为:步骤M-41:机械手臂获取第一当前图片的左上角顶点的横坐标作为左上角顶点横坐标;根据图片预置宽度获取第一当前图片的右下角顶点的横坐标作为右下角顶点横坐标。
可选地,步骤N02中,根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离,具体为:机械手臂根据当前特征点的横坐标和左上角顶点横坐标计算当前特征点距离第一当前图片左边缘的第一横向距离;根据当前特征点的横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片右边缘的第二横向距离;
进步一地,机械手臂根据当前特征点的横坐标和左上角顶点横坐标计算当前特征点距离第一当前图片左边缘的第一横向距离;根据当前特征点的横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片右边缘的第二横向距离,具体为:机械手臂对当前特征点的横坐标和左上角顶点横坐标进行减法运算得到当前特征点距离第一当前图片左边缘的第一横向距离;对右下角顶点横坐标和当前特征点的横坐标进行减法运算得到当前特征点距离第一当前图片右边缘的第二横向距离。
可选地,步骤N02中,根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,具体为:机械手臂判断第三预置数据和第三比较数据是否相同,否则需要移动,使用第十二预置算法对第十二预置数据和第三比较数据进行计算得到横向偏移距离;是则不需要移动,执行步骤D01;
可选地,步骤N02中,对第一横向距离和第二横向距离进行运算得到第三比较数据,具体为:机械手臂对第一横向距离和第二横向距离进行比运算得到第三比较数据。
步骤N03:机械手臂删除所有特征点坐标,控制第一拍摄模块重新拍摄图片,返回步骤S02;
步骤D01:机械手臂移动第一预置高度,控制手臂模块上的抓取装置抓取零件,当抓取零件成功时,获取零件的终点坐标,移动手臂模块至终点坐标,打开抓取装置,结束;
可选地,步骤D01具体为:机械手臂移动第一预置高度,打开吸盘进行抽真空操作;获取真空传感器数据,根据真空传感器数据确定抓取零件是否成功,当抓取零件成功时,获取零件的终点坐标,移动手臂模块至终点坐标,打开抓取装置,结束。
可选地,步骤N01和步骤N02替换为:步骤E01和步骤E02;
步骤E01:机械手臂获取与当前特征点的横坐标坐标对应的第二预置数据;根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标;根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据;根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,当需要移动时,使用第十二预置算法对第十二预置数据和第三比较数据进行计算得到横向偏移距离;根据第三预置正方向将手臂模块移动横向偏移距离,删除横向偏移距离,执行步骤N03;当不需要移动时,执行步骤E02;
步骤E02:机械手臂获取与当前特征点的纵坐标对应的第二预置数据;根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标;根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据;根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块,当需要移动时,使用第十二预置算法对第十二预置数据和第二比较数据进行计算得到纵向偏移距离;根据第二预置正方向将手臂模块移动纵向偏移距离,删除纵向偏移距离,执行步骤N03;当不需要移动时,执行步骤D01。
可选地,机械手臂还包括第二拍摄模块;
步骤D01中,获取零件的终点坐标,移动手臂模块至终点坐标,包括以下步骤:
步骤D11:机械手臂将手臂模块移动第二预置高度;获取根据零件的终点坐标记为第二当前预置坐标;
步骤D12:机械手臂将第二拍摄模块移动至第二当前预置坐标;控制第二拍摄模块进行拍摄,将拍摄得到的图片记为第二当前图片;根据调用第二预置函数处理第二当前图片得到第一目标图形的第一中心坐标;将手臂模块移动到第二当前预置坐标;
步骤D13:机械手臂控制第二拍摄模块进行拍摄,将拍摄得到的图片记为第三当前图片;第二预置函数处理第三当前图片得到第二目标图形的第二中心坐标;
步骤D14:机械手臂确定第一目标图形的第一中心坐标和第二目标图形的第二中心坐标是否相同,当确定相同时,打开抓取装置,结束;当确定不相同时,执行步骤D15;
步骤D15:机械手臂根据第一中心坐标和第二中心坐标得到第十横向距离和第十纵向距离,使用第十五预置算法对第十横向距离和第十纵向距离进行计算得到第十一横向偏移和第十一纵向偏移;
步骤D16:机械手臂根据第十一横向偏移和第十一纵向偏移将第一拍摄模块移动,返回步骤D13;
进步一地,当第一平台上放置至少两个零件时,初始数据表保存第一平台上的零件的预置坐标;步骤D14中,打开抓取装置之后,还包括:机械手臂从初始数据表获取下一零件的预置坐标作为零件的初始坐标,执行步骤S01-02;
步骤S01包括以下步骤:
步骤S01-01:当接收到用户的开始操作时,机械手臂从初始数据表获取待抓取的一个零件的预置坐标作为初始坐标;执行步骤S01-03;
步骤S01-02:机械手臂移动手臂模块至初始坐标;控制第一拍摄模块拍摄图片。
进一步地,当第二平台上至少能放置两个零件时,终点数据表保存第二平台上的零件的预置坐标;
步骤D11包括以下步骤:
步骤D11-01:机械手臂将手臂模块移动第二预置高度;从终点数据表获取待放置零件的一个预置坐标作为终点坐标;
步骤D11-02:机械手臂获取根据零件的终点坐标记为第二当前预置坐标。
实施例二
本发明实施例二提供一种机械手臂定位识别处理零件的方法,机械手臂控制第一拍摄模块、手臂模块和第二拍摄模块进行相应操作;本实施例中,必要时需要对图片进行旋转;如图2-1和图2-2所示,包括以下步骤:
本实施例中,第一坐标系为空间坐标系,第二坐标系为像素坐标系,旋转偏移图片时适用像素坐标系,其余全部适用空间坐标系;
步骤101:当机械手臂接收到用户的开始操作时,机械手臂进行初始化;
步骤102:机械手臂获取零件的预置坐标记为第一当前预置坐标;
例如,本实施例中,零件的预置坐标使用第一坐标系,第一坐标系为空间坐标系;以机械手臂底座为原点坐标;
步骤103:机械手臂将手臂模块移动至第一当前预置坐标;
例如,第一当前预置坐标(横坐标、纵坐标、竖坐标)为(32.75、24.5、18);
步骤201:机械手臂控制第一拍摄模块进行拍摄,将拍摄得到的图片记为第一当前图片;
步骤202:机械手臂根据第一预置算法处理第一当前图片得到特征点及与特征点分别对应的特征点坐标;
本实施例中,特征点坐标使用第二坐标系,第二坐标系为像素坐标系;
例如,第一预置算法为Opencv+yolo算法;
步骤203:机械手臂根据第一预置条件从特征点中选取不在一条直线上三个特征点,分别标记为第一特征点、第二特征点和第三特征点;
本实施例中,图片的左上角顶点为像素坐标的原点,图片的右下角顶点的坐标为(图片预置长度,图片预置宽度);
例如,本实施例中的像素坐标原点坐标为(0,0),图片预置长度为640,图片预置宽度为480,即图片右下角顶点的坐标(640,480);
例如,第一预置条件为
点1(450+-50,180+-50);
点2(200+-50,200+-50);
点3(350+-50,350+-50);
第一特征点坐标为(482,166);
第二特征点坐标为(223,192);
第三特征点坐标为(360,359);
步骤301:机械手臂对第一特征点的纵坐标和第二特征点的纵坐标进行运算得到第一运算结果;对第一特征点的纵坐标和第三特征点的纵坐标进行运算得到第二运算结果;根据对第一运算结果和第二运算结果进行运算得到第一比较数据;
可选地,本步骤具体为:机械手臂根据第二预置算法和第三预置算法对第一特征点的纵坐标和第二特征点的纵坐标进行运算得到第一运算结果;根据第四预置算法和第五预置算法对第一特征点的纵坐标和第三特征点的纵坐标进行运算得到第二运算结果;根据第六预置算法对第一运算结果和第二运算结果进行运算得到第一比较数据;
可选地,本步骤更具体为:机械手臂根据第二预置算法对第一特征点的纵坐标和第二特征点的纵坐标进行运算得到第一中间结果,根据第三预置算法对第一中间结果进行运算得到第一运算结果;根据第四预置算法对第一特征点的纵坐标和第三特征点的纵坐标进行运算得到第二中间结果,根据第五预置算法对第二中间结果进行运算得到第二运算结果;根据第六预置算法对第一运算结果和第二运算结果进行运算得到第一比较数据;
例如,机械手臂对第一特征点的纵坐标166和第二特征点的纵坐标192进行减法运算得到第一中间结果-26,对第一中间结果进行绝对值运算得到第一运算结果26;对第一特征点的纵坐标166和第三特征点的纵坐标359进行减法运算得到第二中间结果-193,对第二中间结果进行绝对值运算得到第二运算结果193;对第一运算结果和第二运算结果进行比运算得到第一比较数据7.4231;其中,第二预置算法为减法运算,第三预置算法为绝对值运算,第四预置算法为减法运算,第五预置算法为绝对值运算,第六预置算法为比运算;
步骤302:机械手臂根据第一预置数据和第一比较数据确定是否需要旋转机械手臂,是则执行步骤303,否则执行步骤401;
可选地,本步骤具体为:机械手臂判断第一预置数据和第一比较数据是否相同,是则不需要旋转机械手臂,执行步骤401;否则需要旋转机械手臂,执行步骤303;
例如,机械手臂判断第一预置数据6.98254和第一比较数据7.4231是否相同,是则不需要旋转机械手臂,执行步骤401;否则需要旋转机械手臂,执行步骤303;
例如,本实施例中,当第一预置数据和第一比较数据相同时,不需要旋转,此时,即第十一预置数据为(32,300,360);第一预置条件为:第一特征点(482,166);第二特征点(220,193);第三特征点(358,354);
对应的,第一运算结果为27;第二运算结果为188;第一比较数据为6.969;第一预置数据6.98254;
对应的,第十二预置数据:(100,360,500);第一纵向距离为354;第二纵向距离为126;第二比较数据为2.8095;纵向偏移距离为10.852(向下移动);
对应的,第十二预置数据:(100,360,500);第一横向距离:358;第二横向距离:282;第三比较数据:1.2695,横向偏移距离为3.5668(向右移动);
步骤303:机械手臂使用第十一预置算法对第十一预置数据和第一比较数据进行计算得到第一旋转角度,根据第一预置正方向将手臂模块旋转第一旋转角度;
例如,本实施例中,第一旋转角度根据第一预置正方向进行旋转,第一预置正方向为顺时针方向为正,那当第一旋转角度为正值时,机械手臂顺时针旋转手臂模块;如果第一预置正方向为逆时针方向为正,第一旋转角度正值时,机械手臂逆时针旋转手臂模块;
例如,机械手臂使用第十一预置算法PID算法对第十一预置数据和第一比较数据7.4231进行计算得到第一旋转角度-3.52,根据第一预置正方向(顺时针为正)将手臂模块旋转第一旋转角度;本实施例中,第十一预置算法为包括第十一预置参数的PID算法;PID算法是包括比例(Proportion)积分,(Integral)微分,(Differential coefficient)的三种控制算法的缩写;通过PID算法(比例、积分和微分三个算法的组合)可有效地纠正被控制对象的偏差,从而使其达到一个稳定的状态。
步骤304:机械手臂删除所有特征点坐标,返回步骤201;
步骤401:机械手臂从第一特征点、第二特征点和第三特征点中选取一个特征点记为当前特征点;获取与当前特征点的纵坐标对应的预置数据记为第二预置数据;
例如,获取第三特征点作为当前特征点,其坐标为(360,359);
第三特征点的纵坐标359对应的预置数据第二预置数据为2.65;
步骤402:机械手臂根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标;根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据;
可选地,本步骤包括以下步骤:
步骤A11:机械手臂获取第一当前图片的左上角顶点的纵坐标作为左上角顶点纵坐标;根据图片预置长度获取第一当前图片的右下角顶点的纵坐标作为右下角顶点纵坐标;
例如,机械手臂获取第一当前图片的左上角顶点(0,0)的纵坐标0作为左上角顶点纵坐标0;获取第一当前图片的右下角顶点(640,480)的纵坐标480作为右下角顶点纵坐标480;
步骤A12:机械手臂根据当前特征点的纵坐标和左上角顶点纵坐标计算当前特征点距离第一当前图片上边缘的第一纵向距离;根据当前特征点的纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片下边缘的第二纵向距离;
可选地,本步骤具体为:机械手臂对当前特征点的纵坐标和左上角顶点纵坐标进行减法运算得到当前特征点距离第一当前图片上边缘的第一纵向距离;对当前特征点的纵坐标和右下角顶点纵坐标进行减法运算得到当前特征点距离第一当前图片下边缘的第二纵向距离;
例如,机械手臂对当前特征点的纵坐标359和左上角顶点纵坐标0进行减法运算得到当前特征点距离第一当前图片上边缘的第一纵向距离359;对当前特征点的纵坐标359和右下角顶点纵坐标480进行减法运算得到当前特征点距离第一当前图片下边缘的第二纵向距离121;
步骤A13:机械手臂对第一纵向距离和第二纵向距离进行运算得到第二比较数据;
可选地,本步骤具体为:机械手臂对第一纵向距离和第二纵向距离进行比运算得到第二比较数据;
例如,机械手臂对第一纵向距离359和第二纵向距离121进行比运算得到第二比较数据2.9669;
步骤403:机械手臂根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块;是则执行步骤404;否则执行步骤501;
可选地,本步骤具体为:机械手臂判断第二预置数据和第二比较数据是否相同,否则需要移动,执行步骤404;是则不需要移动,执行步骤501;
例如,机械手臂判断第二预置数据2.65和第二比较数据2.9669是否相同,否则需要移动,执行步骤404;是则不需要移动,执行步骤501;
步骤404:机械手臂使用第十二预置算法对第十二预置数据和第二比较数据进行计算得到纵向偏移距离;根据第二预置正方向将手臂模块移动纵向偏移距离;
例如,本实施例中,纵向偏移距离根据第二预置正方向进行旋转,第二预置正方向为向上移动为正,那当纵向偏移距离为正值时,机械手臂向上移动手臂模块;如果第二预置正方向为向下移动为正,纵向偏移距离正值时,机械手臂向下移动手臂模块;
例如,机械手臂使用第十二预置算法PID算法对第十二预置数据(100,360,500)和第二比较数据2.9669进行计算得到第一纵向距离-11.875;根据第二预置正方向(向下移动为正)将手臂模块移动第一纵向距离(方向向上);其中,第十二预置算法为包括第十二预置数据的PID算法;PID算法是包括比例(Proportion)积分,(Integral)微分,(Differentialcoefficient)的三种控制算法的缩写;通过PID算法(比例、积分和微分三个算法的组合)可有效地纠正被控制对象的偏差,从而使其达到一个稳定的状态。
步骤405:机械手臂删除纵向偏移距离,删除所有特征点坐标,返回步骤201;
步骤501:机械手臂获取与当前特征点的横坐标对应的预置数据记为第三预置数据;
例如,获取第三特征点作为当前特征点,其坐标为(360,359);
第三特征点的横坐标360对应的预置数据第三预置数据为1.36528;
步骤502:机械手臂根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标;根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据;
可选地,本步骤包括以下步骤:
步骤A21:机械手臂获取第一当前图片的左上角顶点的横坐标作为左上角顶点横坐标;根据图片预置宽度获取第一当前图片的右下角顶点的横坐标作为右下角顶点横坐标;
例如,机械手臂获取第一当前图片的左上角顶点(0,0)的横坐标0作为左上角顶点横坐标0;获取第一当前图片的右下角顶点(640,480)的横坐标640作为右下角顶点横坐标640;
步骤A22:机械手臂根据当前特征点的横坐标和左上角顶点横坐标计算当前特征点距离第一当前图片左边缘的第一横向距离;根据当前特征点的横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片右边缘的第二横向距离;
可选地,本步骤具体为:机械手臂对当前特征点的横坐标和左上角顶点横坐标进行减法运算得到当前特征点距离第一当前图片左边缘的第一横向距离;对右下角顶点横坐标和当前特征点的横坐标进行减法运算得到当前特征点距离第一当前图片右边缘的第二横向距离;
例如,机械手臂对当前特征点的横坐标360和左上角顶点横坐标0进行减法运算得到当前特征点距离第一当前图片左边缘的第一横向距离360;对当前特征点的横坐标360和右下角顶点横坐标640进行减法运算得到当前特征点距离第一当前图片右边缘的第二横向距离280;
步骤A23:机械手臂对第一横向距离和第二横向距离进行运算得到第三比较数据;
可选地,本步骤具体为:机械手臂对第一横向距离和第二横向距离进行比运算得到第三比较数据;
例如,机械手臂对第一横向距离360和第二横向距离280进行比运算得到第三比较数据1.28571;
步骤503:机械手臂根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块;是则执行步骤504;否则执行步骤601;
可选地,本步骤具体为:机械手臂判断第三预置数据和第三比较数据是否相同,否则需要移动,执行步骤504;是则不需要移动,执行步骤601;
例如,机械手臂判断第三预置数据1.36528和第三比较数据1.28571是否相同,否则需要移动,执行步骤504;是则不需要移动,执行步骤601;
步骤504:机械手臂使用第十二预置算法对第十二预置数据和第三比较数据进行计算得到横向偏移距离;根据第三预置正方向将手臂模块移动横向偏移距离;
例如,本实施例中,横向偏移距离根据第三预置正方向进行旋转,第三预置正方向为向右移动为正,那当横向偏移距离为正值时,机械手臂向右移动手臂模块;如果第三预置正方向为向左移动方向为正,横向偏移距离正值时,机械手臂向左移动手臂模块;
例如,机械手臂使用第十二预置算法PID算法对第十二预置数据(100,360,500)和第三比较数据1.28571进行计算得到横向偏移距离5.2867;根据第三预置正方向(向右移动为正)将手臂模块移动横向偏移距离5.2867(实际方向向右);其中,第十二预置算法为包括第十二预置数据的PID算法;PID算法是包括比例(Proportion)积分,(Integral)微分,(Differential coefficient)的三种控制算法的缩写;通过PID算法(比例、积分和微分三个算法的组合)可有效地纠正被控制对象的偏差,从而使其达到一个稳定的状态。
步骤505:机械手臂删除横向偏移距离,删除所有特征点坐标,返回步骤201;
步骤601:机械手臂将手臂模块移动第一预置高度;
例如,第一预置高度为Z=-185.12;
步骤602:机械手臂打开吸盘进行抽真空操作;获取真空传感器数据,根据真空传感器数据确定抓取零件是否成功,当抓取零件成功时,执行步骤603;当抓取零件失败时,报错结束;
步骤603:机械手臂将手臂模块移动第二预置高度,执行步骤701;
例如,第二预置高度为Z=-10;
步骤701:机械手臂获取零件的终点位置的预置坐标记为第二当前预置坐标;
例如,第二当前预置坐标为(-18.75、56.25、14);
步骤702:机械手臂将第二拍摄模块移动至第二当前预置坐标;
步骤703:机械手臂控制第二拍摄模块进行拍摄,将拍摄得到的图片记为第二当前图片;
步骤704:机械手臂调用第二预置函数处理第二当前图片得到第一目标图形的第一中心坐标;
本实施例中,第一中心坐标使用第二坐标系,第二坐标系是像素坐标系;
例如,第二预置函数为OpenCV;OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库;
第一中心坐标为(312,227);
步骤705:机械手臂将手臂模块移动到第二当前预置坐标,执行步骤801;
例如,第二当前预置坐标为Z=-162;
步骤801:机械手臂控制第二拍摄模块进行拍摄,将拍摄得到的图片记为第三当前图片;
步骤802:机械手臂调用第二预置函数处理第三当前图片得到第二目标图形的第二中心坐标;确定第一目标图形的第一中心坐标和第二目标图形的第二中心坐标是否相同,当确定相同时,执行步骤803;当确定不相同时,执行步骤804;
本实施例中,第二中心坐标使用第二坐标系,第二坐标系是像素坐标系;
例如,第二预置函数为OpenCV;OpenCV是一个基于BSD许可发行的跨平台计算机视觉库;
第二中心坐标为(310,228);
步骤803:机械手臂将手臂模块移动第三预置高度;关闭吸盘吸进空气,获取真空传感器数据,根据真空传感器数据确定零件是否放置成功,当零件放置成功时,显示放置成功信息,结束;当零件放置失败时,报错结束;
例如,第三预置高度为Z=-165;
真空传感器数据为0无真空/1有真空;
步骤804:机械手臂根据第一中心坐标和第二中心坐标得到第十横向距离和第十纵向距离,使用第十五预置算法对第十横向距离和第十纵向距离进行计算得到第十一横向偏移和第十一纵向偏移;
步骤805:机械手臂根据第十一横向偏移和第十一纵向偏移将第一拍摄模块移动,返回步骤801。
可选地,待抓取的零件放置在第一平台上,第一平台可以放置多个零件;当第一平台放置多个零件时,初始数据表保存第一平台上的零件的预置坐标;预置坐标使用第一坐标系,空间坐标系;
相应地,步骤102替换为控制模块根据第一预置顺序从初始数据表中获取一个预置坐标记为第一当前预置坐标;
例如,第一平台如下表10-1所示,抓取平台上的1-9个位置上有9个零件;;
第一预置顺序可以是1-2-3-4-5-6-7-8-9顺序;也可以是1-4-7-2-5-8-3-6-9;
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
表10-1
相应地,步骤803中,结束之前还包括:控制模块根据第一预置顺序判断第一当前预置坐标是否为初始数据表中最后一个预置坐标,是则执行显示零件抓取完毕信息,结束;否则根据第一预置顺序从零件的初始数据表中获取下一个预置位置记为第一当前预置坐标,返回步骤103。
可选地,待放置的零件放置在第二平台上,第一平台可以放置多个零件;当第二平台放置多个零件时,终点数据表保存第二平台上的零件的预置坐标;预置坐标使用第一坐标系,空间坐标系;
相应地,步骤701替换为控制模块根据第二预置顺序从零件的终点数据表中获取一个预置坐标记为第二当前预置坐标;从第三预置列表中查询与第二当前预置坐标对应的第三预置坐标;发送包括第二当前预置坐标的第二移动指令至第二拍摄模块;
例如,第二平台如下表10-2所示,抓取平台上的1-9个位置上有9个零件;;
第二预置顺序可以是1-2-3-4-5-6-7-8-9顺序;也可以是1-4-7-2-5-8-3-6-9;
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
表10-2
相应地,步骤803中,结束之前还包括:控制模块根据第二预置顺序判断第二当前预置坐标是否为终点数据表中最后一个预置坐标,是则提示用户零件放置位置使用完毕,等待用户接收用户后续操作,结束;否则返回步骤103。
本专利至少包括二套坐标系;当包括两套坐标系时,控制模块、手臂模块、第一拍摄模块和第二拍摄模块共用第一坐标系,第一坐标系为空间坐标系或者空间坐标系;处理第二拍摄模块拍摄的图片时使用第三坐标系,第三坐标系为像素坐标系;当包括三套坐标系时,控制模块、手臂模块和第一拍摄模块共用第一坐标系,第一坐标系为空间坐标系或者空间坐标系;第二拍摄模块移动时使用第二坐标系,第二坐标系为空间坐标系或者空间坐标系;处理第二拍摄模块拍摄的图片时使用第三坐标系,第三坐标系为像素坐标系;
而本实施例中,第二拍摄模块移动的距离比其他设备移动的距离小的多,所以第二拍摄模块单独使用第二坐标系;第一拍摄模块、第二拍摄模块和零件的初始位置和终点位置在同一平面或者为相互平行平面,所以控制模块、手臂模块和第一拍摄模块共用第一坐标系,第一坐标系为空间坐标系;第二拍摄模块移动时使用第二坐标系,第二坐标系为空间坐标系;处理第二拍摄模块拍摄的图片时使用第三坐标系,第三坐标系为像素坐标系。
实施例三
本发明实施例三提供一种机械手臂定位识别处理零件的方法,机械手臂控制第一拍摄模块、手臂模块和第二拍摄模块进行相应操作;本实施例中,不需要考虑机械手臂旋转;包括两种情况,其一,预置不需要旋转;其二零件的形状为原形或者为圆环形状,且没有规定标准正方向;或者零件本身形状对图片不进行旋转;包括以下步骤:
本实施例中,第一坐标系为空间坐标系,第二坐标系为像素坐标系,旋转偏移图片时适用像素坐标系,其余全部适用空间坐标系;
步骤101:当机械手臂接收到用户的开始操作时,机械手臂进行初始化;
步骤102:机械手臂获取零件的预置坐标记为第一当前预置坐标;
例如,本实施例中,零件的预置坐标使用第一坐标系,第一坐标系为空间坐标系;以机械手臂底座为原点坐标;
步骤103:机械手臂将手臂模块移动至第一当前预置坐标;
例如,第一当前预置坐标(横坐标、纵坐标、竖坐标)为(32.75、24.5、18);
步骤201:机械手臂控制第一拍摄模块进行拍摄,将拍摄得到的图片记为第一当前图片;
步骤202:机械手臂根据第一预置算法处理第一当前图片得到特征点及与特征点分别对应的特征点坐标;
本实施例中,特征点坐标使用第二坐标系,第二坐标系为像素坐标系;
例如,第一预置算法为Opencv+yolo算法;
步骤203:机械手臂根据第二预置条件从特征点中选取1个特征点记为当前特征点;
本实施例中,图片的左上角顶点为像素坐标的原点,图片的右下角顶点的坐标为(图片预置长度,图片预置宽度);
例如,本实施例中的像素坐标原点坐标为(0,0),图片预置长度为640,图片预置宽度为480,即图片右下角顶点的坐标(640,480),
例如,第二预置条件为
点1(350+-50,350+-50);
特征点坐标为(360,359);
步骤401:机械手臂获取与当前特征点的纵坐标对应的预置数据记为第二预置数据;
例如,当前特征点的坐标为(360,359);
当前特征点的纵坐标359对应的预置数据第二预置数据为2.65;
步骤402:机械手臂根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标;根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据;
可选地,本步骤包括以下步骤:
步骤A11:机械手臂获取第一当前图片的左上角顶点的纵坐标作为左上角顶点纵坐标;根据图片预置长度获取第一当前图片的右下角顶点的纵坐标作为右下角顶点纵坐标;
例如,机械手臂获取第一当前图片的左上角顶点(0,0)的纵坐标0作为左上角顶点纵坐标0;获取第一当前图片的右下角顶点(640,480)的纵坐标480作为右下角顶点纵坐标480;
步骤A12:机械手臂根据当前特征点的纵坐标和左上角顶点纵坐标计算当前特征点距离第一当前图片上边缘的第一纵向距离;根据当前特征点的纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片下边缘的第二纵向距离;
可选地,本步骤具体为:机械手臂对当前特征点的纵坐标和左上角顶点纵坐标进行减法运算得到当前特征点距离第一当前图片上边缘的第一纵向距离;对当前特征点的纵坐标和右下角顶点纵坐标进行减法运算得到当前特征点距离第一当前图片下边缘的第二纵向距离;
例如,机械手臂对当前特征点的纵坐标359和左上角顶点纵坐标0进行减法运算得到当前特征点距离第一当前图片上边缘的第一纵向距离359;对当前特征点的纵坐标359和右下角顶点纵坐标480进行减法运算得到当前特征点距离第一当前图片下边缘的第二纵向距离121;
步骤A13:机械手臂对第一纵向距离和第二纵向距离进行运算得到第二比较数据;
可选地,本步骤具体为:机械手臂对第一纵向距离和第二纵向距离进行比运算得到第二比较数据;
例如,机械手臂对第一纵向距离359和第二纵向距离121进行比运算得到第二比较数据2.9669;
步骤403:机械手臂根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块;当需要移动时,执行步骤404;当不需要移动时,执行步骤501;
可选地,本步骤具体为:机械手臂判断第二预置数据和第二比较数据是否相同,否则需要移动,执行步骤404;是则不需要移动,执行步骤501;
步骤404:机械手臂使用第十二预置算法对第十二预置数据和第二比较数据进行计算得到纵向偏移距离;根据第二预置正方向将手臂模块移动纵向偏移距离;
例如,本实施例中,纵向偏移距离根据第二预置正方向进行旋转,第二预置正方向为向上移动为正,那当纵向偏移距离为正值时,机械手臂向上移动手臂模块;如果第二预置正方向为向下移动为正,纵向偏移距离正值时,机械手臂向下移动手臂模块;
例如,机械手臂使用第十二预置算法PID算法对第十二预置数据和第二比较数据2.9669进行计算得到第一纵向距离-11.875;根据第二预置正方向(向下移动为正)将手臂模块移动第一纵向距离;其中,第十二预置算法为包括第十二预置数据的PID算法;PID算法是包括比例(Proportion)积分,(Integral)微分,(Differential coefficient)的三种控制算法的缩写;通过PID算法(比例、积分和微分三个算法的组合)可有效地纠正被控制对象的偏差,从而使其达到一个稳定的状态。
步骤405:机械手臂删除所有特征点坐标,返回步骤201;
步骤501:机械手臂从第一特征点、第二特征点和第三特征点中选取一个特征点记为当前特征点;获取与当前特征点的横坐标对应的预置数据记为第三预置数据;
例如,获取第三特征点作为当前特征点,其坐标为(360,359);
第三特征点的横坐标360对应的预置数据第三预置数据为1.36528;
步骤502:机械手臂根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标;根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据;
可选地,本步骤包括以下步骤:
步骤A21:机械手臂获取第一当前图片的左上角顶点的横坐标作为左上角顶点横坐标;根据图片预置宽度获取第一当前图片的右下角顶点的横坐标作为右下角顶点横坐标;
例如,机械手臂获取第一当前图片的左上角顶点(0,0)的横坐标0作为左上角顶点横坐标0;获取第一当前图片的右下角顶点(640,480)的横坐标640作为右下角顶点横坐标640;
步骤A22:机械手臂根据当前特征点的横坐标和左上角顶点横坐标计算当前特征点距离第一当前图片左边缘的第一横向距离;根据当前特征点的横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片右边缘的第二横向距离;
可选地,本步骤具体为:机械手臂对当前特征点的横坐标和左上角顶点横坐标进行减法运算得到当前特征点距离第一当前图片左边缘的第一横向距离;对右下角顶点横坐标和当前特征点的横坐标进行减法运算得到当前特征点距离第一当前图片右边缘的第二横向距离;
例如,机械手臂对当前特征点的横坐标360和左上角顶点横坐标0进行减法运算得到当前特征点距离第一当前图片左边缘的第一横向距离360;对当前特征点的横坐标360和右下角顶点横坐标640进行减法运算得到当前特征点距离第一当前图片右边缘的第二横向距离280;
步骤A23:机械手臂对第一横向距离和第二横向距离进行运算得到第三比较数据;
可选地,本步骤具体为:机械手臂对第一横向距离和第二横向距离进行比运算得到第三比较数据;
例如,机械手臂对第一横向距离360和第二横向距离280进行比运算得到第三比较数据1.28571;
步骤503:机械手臂根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块;当需要移动时,执行步骤504;当不需要移动时,执行步骤601;
可选地,本步骤具体为:机械手臂判断第三预置数据和第三比较数据是否相同,否则需要移动,执行步骤504;是则不需要移动,执行步骤601;
步骤504:机械手臂使用第十二预置算法对第十二预置数据和第三比较数据进行计算得到横向偏移距离;根据第三预置正方向将手臂模块移动横向偏移距离;
例如,本实施例中,横向偏移距离根据第三预置正方向进行旋转,第三预置正方向为向右移动为正,那当横向偏移距离为正值时,机械手臂向右移动手臂模块;如果第三预置正方向为向左移动方向为正,横向偏移距离正值时,机械手臂向左移动手臂模块;
例如,机械手臂使用第十二预置算法PID算法对第十二预置数据和第三比较数据1.28571进行计算得到横向偏移距离;根据第三预置正方向(向右移动为正)将手臂模块移动横向偏移距离;其中,第十二预置算法为包括第十二预置数据的PID算法;PID算法是包括比例(Proportion)积分,(Integral)微分,(Differential coefficient)的三种控制算法的缩写;通过PID算法(比例、积分和微分三个算法的组合)可有效地纠正被控制对象的偏差,从而使其达到一个稳定的状态。
步骤505:机械手臂删除所有特征点坐标,返回步骤201;
步骤601:机械手臂将手臂模块移动第一预置高度;
例如,第一预置高度为Z=-185.12;
步骤602:机械手臂打开吸盘进行抽真空操作;获取真空传感器数据,根据真空传感器数据确定抓取零件是否成功,当抓取零件成功时,执行步骤603;当抓取零件失败时,报错结束;
步骤603:机械手臂将手臂模块移动第二预置高度,执行步骤701;
例如,第二预置高度为Z=-10;
步骤701:机械手臂获取零件的终点位置的预置坐标记为第二当前预置坐标;
例如,第二当前预置坐标为(-18.75、56.25、14);
步骤702:机械手臂将第二拍摄模块移动至第二当前预置坐标;
步骤703:机械手臂控制第二拍摄模块进行拍摄,将拍摄得到的图片记为第二当前图片;
步骤704:机械手臂调用第二预置函数处理第二当前图片得到第一目标图形的第一中心坐标;
本实施例中,第一中心坐标使用第二坐标系,第二坐标系是像素坐标系;
例如,第二预置函数为OpenCV;OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库;
第一中心坐标为(312,227);
步骤705:机械手臂将手臂模块移动到第二当前预置坐标;
例如,第二当前预置坐标为Z=-162;
步骤801:机械手臂控制第二拍摄模块进行拍摄,将拍摄得到的图片记为第三当前图片;
步骤802:机械手臂调用第二预置函数处理第三当前图片得到第二目标图形的第二中心坐标;确定第一目标图形的第一中心坐标和第二目标图形的第二中心坐标是否相同,当确定相同时,执行步骤803;当确定不相同时,执行步骤804;
本实施例中,第二中心坐标使用第二坐标系,第二坐标系是像素坐标系;
例如,第二预置函数为OpenCV;OpenCV是一个基于BSD许可发行的跨平台计算机视觉库;
第二中心坐标为(310,228);
步骤803:机械手臂将手臂模块移动第三预置高度;关闭吸盘吸进空气,获取真空传感器数据,根据真空传感器数据确定零件是否放置成功,当零件放置成功时,显示放置成功信息,结束;当零件放置失败时,报错结束;
例如,第三预置高度为Z=-165;
真空传感器数据为0无真空/1有真空;
步骤804:机械手臂根据第一中心坐标和第二中心坐标得到第十横向距离和第十纵向距离,使用第十五预置算法对第十横向距离和第十纵向距离进行计算得到第十一横向偏移和第十一纵向偏移;
步骤805:机械手臂根据第十一横向偏移和第十一纵向偏移将第一拍摄模块移动,返回步骤801。
实施例四
本发明实施例四提供一种机械手臂,如图3所示,包括获取移动控制模块401、处理选取模块402、第一获取模块403、第一计算判断模块404、纵向偏移删除模块405、第二获取模块406、第二计算判断模块407、横向偏移删除模块408、删除控制模块409和移动控制抓取模块410;
获取移动控制模块401,用于获取零件的初始坐标,移动手臂模块至初始坐标;控制第一拍摄模块拍摄图片;
处理选取模块402,用于根据第一预置算法处理图片得到特征点及对应的特征点坐标;从特征点中选取一个特征点作为当前特征点;
第一获取模块403,用于获取与当前特征点的纵坐标对应的第二预置数据;根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标;
第一计算判断模块404,用于根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据;根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块,是则触发纵向偏移删除模块405;否则触发第二获取模块406;
纵向偏移删除模块405,用于使用第十二预置算法对第十二预置数据和第二比较数据进行计算得到纵向偏移距离;根据第二预置正方向将手臂模块移动纵向偏移距离,删除纵向偏移距离,触发删除控制模块409;
第二获取模块406,用于获取与当前特征点的横坐标坐标对应的第二预置数据;根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标;
第二计算判断模块407,用于根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据;根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,是则触发横向偏移删除模块408;否则触发移动控制抓取模块410;
横向偏移删除模块408,用于使用第十二预置算法对第十二预置数据和第三比较数据进行计算得到横向偏移距离;根据第三预置正方向将手臂模块移动横向偏移距离,删除横向偏移距离,触发删除控制模块409;
删除控制模块409,用于删除所有特征点坐标,控制第一拍摄模块重新拍摄图片,触发处理选取模块402;
移动控制抓取模块410,用于移动第一预置高度,控制手臂模块上的抓取装置抓取零件,当抓取零件成功时,获取零件的终点坐标,移动手臂模块至终点坐标,打开抓取装置,结束。
可选地,本实施例中的机械手臂还包括获取确定模块和旋转操作模块;
处理选取模块402包括第一选取单元;第一选取单元,用于从特征点中选取一个特征点作为当前特征点;
获取确定模块,用于获取预置旋转条件,确定预置旋转条件的类型,当预置旋转条件为需要考虑旋转时,触发旋转操作模块;当预置旋转条件为不需要考虑旋转时,触发第一选取单元;
旋转操作模块,用于进行旋转操作,触发删除控制模块409;
进一步地,本实施例中的机械手臂还包括获取判断模块;获取判断模块,用于获取用户输入的零件的形状和方向类别,根据零件的形状和方向类别判断是否需要旋转机械手臂,当零件的形状为圆形或者圆环且用户输入的方向类别为没有正方向时,不需要旋转,获取零件的中点,将中点记为当前特征点,触发第一获取模块403;否则需要旋转,触发旋转操作模块。
更进步一地,旋转操作模块包括第二选取单元、第三选取单元、第一运算得到单元、第一判断单元和第一计算旋转删除单元;
第二选取单元,用于根据第一预置条件从特征点中选取不在一条直线上三个特征点,分别标记为第一特征点、第二特征点和第三特征点;
第一运算得到单元,用于对第一特征点的纵坐标和第二特征点的纵坐标进行运算得到第一运算结果;对第一特征点的纵坐标和第三特征点的纵坐标进行运算得到第二运算结果;根据对第一运算结果和第二运算结果进行运算得到第一比较数据;
第一判断单元,用于根据第一预置数据和第一比较数据确定是否需要旋转机械手臂,是则触发计算旋转删除单元,否则触发第三选取单元;
第三选取单元,用于从第一特征点、第二特征点和第三特征点中选取一个特征点作为当前特征点,触发第一获取模块403;
第一计算旋转删除单元,用于使用第十一预置算法对第十一预置数据和第一比较数据进行计算得到第一旋转角度,根据第一预置正方向将手臂模块旋转第一旋转角度,删除第一旋转角度,触发删除控制模块409。
更进步一地,旋转操作模块包括第四选取单元、第五选取单元、第二运算得到单元、第二判断单元和第二计算旋转删除单元;
第四选取单元,用于根据第一预置条件从特征点中选取不在一条直线上三个特征点,分别标记为第一特征点、第二特征点和第三特征点;
第二运算得到单元,用于对第一特征点的横坐标和第二特征点的横坐标进行运算得到第一运算结果;对第一特征点的横坐标和第三特征点的横坐标进行运算得到第二运算结果;根据对第一运算结果和第二运算结果进行运算得到第一比较数据;
第二判断单元,用于根据第二十一预置数据和第一比较数据确定是否需要旋转机械手臂,是则触发第二计算旋转删除单元,否则触发第五选取单元;
第五选取单元,用于从第一特征点、第二特征点和第三特征点中选取一个特征点作为当前特征点,触发第一获取模块403;
第二计算旋转删除单元,用于使用第十一预置算法对第十一预置数据和第一比较数据进行计算得到第一旋转角度,根据第一预置正方向将手臂模块旋转第一旋转角度,删除第一旋转角度,触发删除控制模块409。
进步一地,获取判断模块包括第三判断单元和第四判断单元;
第三判断单元,用于获取第一当前图片上图像的外轮廓线,根据外轮廓线确定零件的形状,当零件的形状为圆环或者环形时,触发第四判断单元,否则需要旋转,触发旋转操作模块;
第四判断单元,用于获取用户输入的方向类别,当方向类别为有正方向时,根据外轮廓线的坐标确定零件中点坐标,将中点记为当前特征点,触发第一获取模块403;当方向类别为无正方向时,需要旋转,触发旋转操作模块。
可选地,本实施例中,当第一获取模块403用于根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标时,第一获取模块403具体用于获取第一当前图片的左上角顶点的纵坐标作为左上角顶点纵坐标;根据图片预置长度获取第一当前图片的右下角顶点的纵坐标作为右下角顶点纵坐标。
可选地,本实施例中,当第一计算判断模块404用于根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据时,第一计算判断模块404具体用于根据当前特征点的纵坐标和左上角顶点纵坐标计算当前特征点距离第一当前图片上边缘的第一纵向距离;根据当前特征点的纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片下边缘的第二纵向距离;
进步一地,本实施例中,当第一计算判断模块404具体用于根据当前特征点的纵坐标和左上角顶点纵坐标计算当前特征点距离第一当前图片上边缘的第一纵向距离;根据当前特征点的纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片下边缘的第二纵向距离时,第一计算判断模块404具体用于机械手臂对当前特征点的纵坐标和左上角顶点纵坐标进行减法运算得到当前特征点距离第一当前图片上边缘的第一纵向距离;对当前特征点的纵坐标和右下角顶点纵坐标进行减法运算得到当前特征点距离第一当前图片下边缘的第二纵向距离。
可选地,本实施例中,第一计算判断模块404用于根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块时,第一计算判断模具体用于判断第二预置数据和第二比较数据是否相同,是则不需要移动,触发第二获取模块406;否则需要移动,触发纵向偏移删除模块405。
可选地,本实施例中:当第二获取模块406用于根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标时,第二获取模块406具体用于获取第一当前图片的左上角顶点的横坐标作为左上角顶点横坐标;根据图片预置宽度获取第一当前图片的右下角顶点的横坐标作为右下角顶点横坐标。
可选地,本实施例中:当第二计算判断模块407用于根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据时,第二计算判断模块407具体用于根据当前特征点的横坐标和左上角顶点横坐标计算当前特征点距离第一当前图片左边缘的第一横向距离;根据当前特征点的横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片右边缘的第二横向距离。
进一步地,当第二计算判断模块407具体用于根据当前特征点的横坐标和左上角顶点横坐标计算当前特征点距离第一当前图片左边缘的第一横向距离;根据当前特征点的横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片右边缘的第二横向距离时,第二计算判断模块407具体用于对当前特征点的横坐标和左上角顶点横坐标进行减法运算得到当前特征点距离第一当前图片左边缘的第一横向距离;对右下角顶点横坐标和当前特征点的横坐标进行减法运算得到当前特征点距离第一当前图片右边缘的第二横向距离。
可选地,本实施例中:当第二计算判断模块407用于根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,第二计算判断模块407具体用于判断第三预置数据和第三比较数据是否相同,否则需要移动,触发横向偏移删除模块408;是则不需要移动,触发移动控制抓取模块410。
可选地,当第二计算判断模块407用于对第一横向距离和第二横向距离进行运算得到第三比较数据时,第二计算判断模块407具体用于对第一横向距离和第二横向距离进行比运算得到第三比较数据。
可选地,本实施例中的机械手臂还包括横向偏移判断模块;
横向偏移判断模块,用于获取与当前特征点的横坐标坐标对应的第二预置数据;根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标;根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据;根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,当需要移动时,使用第十二预置算法对第十二预置数据和第三比较数据进行计算得到横向偏移距离;根据第三预置正方向将手臂模块移动横向偏移距离,删除横向偏移距离,触发删除控制模块409;当不需要移动时,触发纵向偏移判断模块;
纵向偏移判断模块,用于获取与当前特征点的纵坐标对应的第二预置数据;根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标;根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据;根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块,当需要移动时,使用第十二预置算法对第十二预置数据和第二比较数据进行计算得到纵向偏移距离;根据第二预置正方向将手臂模块移动纵向偏移距离,删除纵向偏移距离,触发删除控制模块409;当不需要移动时,移动控制抓取模块410。
可选地,本实施例中,移动控制抓取模块410,具体用于移动第一预置高度,打开吸盘进行抽真空操作;获取真空传感器数据,根据真空传感器数据确定抓取零件是否成功,当抓取零件成功时,获取零件的终点坐标,移动手臂模块至终点坐标,打开抓取装置,结束。
可选地,本实施例中,当移动控制抓取模块410用于获取零件的终点坐标,移动手臂模块至终点坐标时,移动控制抓取模块410包括移动控制拍摄单元、控制记为单元、确定单元、偏移单元;
移动控制拍摄单元,用于将手臂模块移动第二预置高度;获取根据零件的终点坐标记为第二当前预置坐标;将第二拍摄模块移动至第二当前预置坐标;控制第二拍摄模块进行拍摄,将拍摄得到的图片记为第二当前图片;根据调用第二预置函数处理第二当前图片得到第一目标图形的第一中心坐标;将手臂模块移动到第二当前预置坐标;
控制记为单元,用于控制第二拍摄模块进行拍摄,将拍摄得到的图片记为第三当前图片;第二预置函数处理第三当前图片得到第二目标图形的第二中心坐标;
确定单元,用于确定第一目标图形的第一中心坐标和第二目标图形的第二中心坐标是否相同,当确定相同时,打开抓取装置,结束;当确定不相同时,触发偏移单元;
偏移单元,用于根据第一中心坐标和第二中心坐标得到第十横向距离和第十纵向距离,使用第十五预置算法对第十横向距离和第十纵向距离进行计算得到第十一横向偏移和第十一纵向偏移;根据第十一横向偏移和第十一纵向偏移将第一拍摄模块移动,触发控制记为单元。
进步一地,本实施例中,当第一平台上放置至少两个零件时,初始数据表保存第一平台上的零件的预置坐标;当确定单元确定第一目标图形的第一中心坐标和第二目标图形的第二中心坐标相同时,所述确定单元还用于从初始数据表获取下一零件的预置坐标作为零件的初始坐标,触发所述移动控制单元;
获取移动控制模块401包括获取作为单元和移动控制单元;
获取作为单元,用于当接收到用户的开始操作时,机械手臂从初始数据表获取待抓取的一个零件的预置坐标作为初始坐标;
移动控制单元,用于移动手臂模块至初始坐标;控制第一拍摄模块拍摄图片。
进步一地,本实施例中,当第二平台上至少能放置两个零件时,终点数据表保存第二平台上的零件的预置坐标;
当移动控制拍摄单元用于将手臂模块移动第二预置高度;获取根据零件的终点坐标记为第二当前预置坐标时,移动控制拍摄单元用于将手臂模块移动第二预置高度;从终点数据表获取待放置零件的一个预置坐标作为终点坐标;获取根据零件的终点坐标记为第二当前预置坐标。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (40)
1.一种机械手臂定位识别处理零件方法,其特征在于,包括以下步骤:
步骤S01:机械手臂获取零件的初始坐标,移动手臂模块至初始坐标;控制第一拍摄模块拍摄图片;
步骤S02:所述机械手臂根据第一预置算法处理图片得到特征点及对应的特征点坐标;从得到的特征点中选取一个特征点作为当前特征点,执行步骤N01;
步骤N01:所述机械手臂获取与当前特征点的纵坐标对应的第二预置数据;根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标;根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据;根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块,是则使用第十二预置算法对第十二预置数据和第二比较数据进行计算得到纵向偏移距离;根据第二预置正方向将手臂模块移动纵向偏移距离,删除纵向偏移距离,执行步骤N03;否则执行步骤N02;
步骤N02:所述机械手臂获取与当前特征点的横坐标坐标对应的第二预置数据;根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标;根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据;根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,是则使用第十二预置算法对第十二预置数据和第三比较数据进行计算得到横向偏移距离;根据第三预置正方向将手臂模块移动横向偏移距离,删除横向偏移距离,执行步骤N03;否则执行步骤D01;
步骤N03:所述机械手臂删除所有特征点坐标,控制第一拍摄模块重新拍摄图片,返回步骤S02;
步骤D01:所述机械手臂移动第一预置高度,控制手臂模块上的抓取装置抓取零件,当抓取零件成功时,获取零件的终点坐标,移动手臂模块至终点坐标,打开抓取装置,结束。
2.如权利要求1所述的方法,其特征在于,所述步骤S02中,所述机械手臂根据第一预置算法处理图片得到特征点及对应的特征点坐标之后,还包括步骤M-01:
步骤M-01:所述机械手臂获取预置旋转条件,确定预置旋转条件的类型,当预置旋转条件为需要考虑旋转时,进行旋转操作,执行步骤N03;当预置旋转条件为不需要考虑旋转时,从得到的特征点中选取一个特征点作为当前特征点。
3.如权利要求2所述的方法,其特征在于,所述步骤M-01中,当预置旋转条件为需要考虑旋转时,还包括:
步骤M-02:所述机械手臂获取用户输入的零件的形状和方向类别,根据零件的形状和方向类别判断是否需要旋转机械手臂,当零件的形状为圆形或者圆环且用户输入的方向类别为没有正方向时,不需要旋转,获取零件的中点,将中点记为当前特征点,执行步骤N-01;否则需要旋转,进行旋转操作,执行步骤N03。
4.如权利要求2或3所述的方法,其特征在于,所述进行旋转操作,包括以下步骤:
步骤M-11:所述机械手臂根据第一预置条件从特征点中选取不在一条直线上三个特征点,分别标记为第一特征点、第二特征点和第三特征点;
步骤M-12:所述机械手臂对第一特征点的纵坐标和第二特征点的纵坐标进行运算得到第一运算结果;对第一特征点的纵坐标和第三特征点的纵坐标进行运算得到第二运算结果;根据对第一运算结果和第二运算结果进行运算得到第一比较数据;
步骤M-13:所述机械手臂根据第一预置数据和第一比较数据确定是否需要旋转机械手臂,是则执行步骤M-14,否则从第一特征点、第二特征点和第三特征点中选取一个特征点作为当前特征点,执行步骤N01;
步骤M-14:所述机械手臂使用第十一预置算法对第十一预置数据和第一比较数据进行计算得到第一旋转角度,根据第一预置正方向将手臂模块旋转第一旋转角度,删除第一旋转角度,执行步骤N03。
5.如权利要求2或3所述的方法,其特征在于,所述进行旋转操作,包括以下步骤:
步骤M-11:所述机械手臂根据第一预置条件从特征点中选取不在一条直线上三个特征点,分别标记为第一特征点、第二特征点和第三特征点;
步骤M-12:所述机械手臂对第一特征点的横坐标和第二特征点的横坐标进行运算得到第一运算结果;对第一特征点的横坐标和第三特征点的横坐标进行运算得到第二运算结果;根据对第一运算结果和第二运算结果进行运算得到第一比较数据;
步骤M-13:所述机械手臂根据第二十一预置数据和第一比较数据确定是否需要旋转机械手臂,是则执行步骤M-14,否则从第一特征点、第二特征点和第三特征点中选取一个特征点作为当前特征点,执行步骤N01;
步骤M-14:所述机械手臂使用第十一预置算法对第十一预置数据和第一比较数据进行计算得到第一旋转角度,根据第一预置正方向将手臂模块旋转第一旋转角度,删除第一旋转角度,执行步骤N03。
6.如权利要求3所述的方法,其特征在于,所述步骤M-02包括:
步骤M-21:所述机械手臂获取第一当前图片上图像的外轮廓线,根据外轮廓线确定零件的形状,当零件的形状为圆环或者环形时,执行步骤M-22,否则需要旋转,进行旋转操作,执行步骤N03;
步骤M-22:所述机械手臂获取用户输入的方向类别,当方向类别为有正方向时,根据外轮廓线的坐标确定零件中点坐标,将中点记为当前特征点,执行步骤N01;当方向类别为无正方向时,需要旋转,进行旋转操作,执行步骤N03。
7.如权利要求1所述的方法,其特征在于,所述步骤N01中,所述根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标,具体为:所述机械手臂获取第一当前图片的左上角顶点的纵坐标作为左上角顶点纵坐标;根据图片预置长度获取第一当前图片的右下角顶点的纵坐标作为右下角顶点纵坐标。
8.如权利要求1所述的方法,其特征在于,所述步骤N01中,所述根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据,具体为:所述机械手臂根据当前特征点的纵坐标和左上角顶点纵坐标计算当前特征点距离第一当前图片上边缘的第一纵向距离;根据当前特征点的纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片下边缘的第二纵向距离。
9.如权利要求8所述的方法,其特征在于,所述机械手臂根据当前特征点的纵坐标和左上角顶点纵坐标计算当前特征点距离第一当前图片上边缘的第一纵向距离;根据当前特征点的纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片下边缘的第二纵向距离具体为:所述机械手臂对当前特征点的纵坐标和左上角顶点纵坐标进行减法运算得到当前特征点距离第一当前图片上边缘的第一纵向距离;对当前特征点的纵坐标和右下角顶点纵坐标进行减法运算得到当前特征点距离第一当前图片下边缘的第二纵向距离。
10.如权利要求1所述的方法,其特征在于,所述步骤N01中,所述根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块,具体为:所述机械手臂判断第二预置数据和第二比较数据是否相同,是则不需要移动;否则需要移动。
11.如权利要求1所述的方法,其特征在于,所述步骤N02中,所述根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标,具体为:所述机械手臂获取第一当前图片的左上角顶点的横坐标作为左上角顶点横坐标;根据图片预置宽度获取第一当前图片的右下角顶点的横坐标作为右下角顶点横坐标。
12.如权利要求1所述的方法,其特征在于,所述步骤N02中,所述根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离,具体为:所述机械手臂根据当前特征点的横坐标和左上角顶点横坐标计算当前特征点距离第一当前图片左边缘的第一横向距离;根据当前特征点的横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片右边缘的第二横向距离。
13.如权利要求12所述的方法,其特征在于,所述根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离,具体为:所述机械手臂对当前特征点的横坐标和左上角顶点横坐标进行减法运算得到当前特征点距离第一当前图片左边缘的第一横向距离;对右下角顶点横坐标和当前特征点的横坐标进行减法运算得到当前特征点距离第一当前图片右边缘的第二横向距离。
14.如权利要求1所述的方法,其特征在于,所述步骤N02中,所述根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,具体为:所述机械手臂判断第三预置数据和第三比较数据是否相同,否则需要移动,是则不需要移动。
15.如权利要求1所述的方法,其特征在于,所述对第一横向距离和第二横向距离进行运算得到第三比较数据,具体为:所述机械手臂对第一横向距离和第二横向距离进行比运算得到第三比较数据。
16.如权利要求1所述的方法,其特征在于,所述步骤N01和步骤N02替换为:步骤E01和步骤E02;
步骤E01:所述机械手臂获取与当前特征点的横坐标坐标对应的第二预置数据;根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标;根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据;根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,当需要移动时,使用第十二预置算法对第十二预置数据和第三比较数据进行计算得到横向偏移距离;根据第三预置正方向将手臂模块移动横向偏移距离,删除横向偏移距离,执行步骤N03;当不需要移动时,执行步骤E02;
步骤E02:所述机械手臂获取与当前特征点的纵坐标对应的第二预置数据;根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标;根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据;根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块,当需要移动时,使用第十二预置算法对第十二预置数据和第二比较数据进行计算得到纵向偏移距离;根据第二预置正方向将手臂模块移动纵向偏移距离,删除纵向偏移距离,执行步骤N03;当不需要移动时,执行步骤D01。
17.如权利要求1所述的方法,其特征在于,所述步骤D01具体为:所述机械手臂移动第一预置高度,打开吸盘进行抽真空操作;获取真空传感器数据,根据真空传感器数据确定抓取零件是否成功,当抓取零件成功时,获取零件的终点坐标,移动手臂模块至终点坐标,打开抓取装置,结束。
18.如权利要求1所述的方法,其特征在于,所述机械手臂还包括第二拍摄模块;
所述步骤D01中,所述获取零件的终点坐标,移动手臂模块至终点坐标,包括以下步骤:
步骤D11:所述机械手臂将手臂模块移动第二预置高度;获取根据零件的终点坐标记为第二当前预置坐标;
步骤D12:所述机械手臂将第二拍摄模块移动至第二当前预置坐标;控制第二拍摄模块进行拍摄,将拍摄得到的图片记为第二当前图片;根据调用第二预置函数处理第二当前图片得到第一目标图形的第一中心坐标;将手臂模块移动到第二当前预置坐标;
步骤D13:所述机械手臂控制第二拍摄模块进行拍摄,将拍摄得到的图片记为第三当前图片;第二预置函数处理第三当前图片得到第二目标图形的第二中心坐标;
步骤D14:所述机械手臂确定第一目标图形的第一中心坐标和第二目标图形的第二中心坐标是否相同,当确定相同时,打开抓取装置,结束;当确定不相同时,执行步骤D15;
步骤D15:所述机械手臂根据第一中心坐标和第二中心坐标得到第十横向距离和第十纵向距离,使用第十五预置算法对第十横向距离和第十纵向距离进行计算得到第十一横向偏移和第十一纵向偏移;
步骤D16:所述机械手臂根据第十一横向偏移和第十一纵向偏移将第一拍摄模块移动,返回步骤D13。
19.如权利要求18所述的方法,其特征在于,当第一平台上放置至少两个零件时,初始数据表保存第一平台上的零件的预置坐标;所述步骤D14中,打开抓取装置之后,还包括:所述机械手臂从初始数据表获取下一零件的预置坐标作为零件的初始坐标,执行步骤S01-02;
所述步骤S01包括以下步骤:
步骤S01-01:当接收到用户的开始操作时,所述机械手臂从初始数据表获取待抓取的一个零件的预置坐标作为初始坐标;执行步骤S01-03;
步骤S01-02:所述机械手臂移动手臂模块至初始坐标;控制第一拍摄模块拍摄图片。
20.如权利要求18所述的方法,其特征在于,当第二平台上至少能放置两个零件时,终点数据表保存第二平台上的零件的预置坐标;
所述步骤D11包括以下步骤:
步骤D11-01:所述机械手臂将手臂模块移动第二预置高度;从终点数据表获取待放置零件的一个预置坐标作为终点坐标;
步骤D11-02:所述机械手臂获取根据零件的终点坐标记为第二当前预置坐标。
21.一种机械手臂,其特征在于,包括获取移动控制模块、处理选取模块、第一获取模块、第一计算判断模块、纵向偏移删除模块、第二获取模块、第二计算判断模块、横向偏移删除模块、删除控制模块和移动控制抓取模块;
所述获取移动控制模块,用于获取零件的初始坐标,移动手臂模块至初始坐标;控制第一拍摄模块拍摄图片;
所述处理选取模块,用于根据第一预置算法处理图片得到特征点及对应的特征点坐标;从得到的特征点中选取一个特征点作为当前特征点;
所述第一获取模块,用于获取与当前特征点的纵坐标对应的第二预置数据;根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标;
所述第一计算判断模块,用于根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据;根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块,是则触发所述纵向偏移删除模块;否则触发所述第二获取模块;
所述纵向偏移删除模块,用于使用第十二预置算法对第十二预置数据和第二比较数据进行计算得到纵向偏移距离;根据第二预置正方向将手臂模块移动纵向偏移距离,删除纵向偏移距离,触发所述删除控制模块;
所述第二获取模块,用于获取与当前特征点的横坐标坐标对应的第二预置数据;根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标;
所述第二计算判断模块,用于根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据;根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,是则触发所述横向偏移删除模块;否则触发所述移动控制抓取模块;
所述横向偏移删除模块,用于使用第十二预置算法对第十二预置数据和第三比较数据进行计算得到横向偏移距离;根据第三预置正方向将手臂模块移动横向偏移距离,删除横向偏移距离,触发所述删除控制模块;
所述删除控制模块,用于删除所有特征点坐标,控制第一拍摄模块重新拍摄图片,触发所述处理选取模块;
所述移动控制抓取模块,用于移动第一预置高度,控制手臂模块上的抓取装置抓取零件,当抓取零件成功时,获取零件的终点坐标,移动手臂模块至终点坐标,打开抓取装置,结束。
22.如权利要求21所述的机械手臂,其特征在于,还包括获取确定模块和旋转操作模块;
所述处理选取模块包括第一选取单元;所述第一选取单元,用于从得到的特征点中选取一个特征点作为当前特征点;
所述获取确定模块,用于获取预置旋转条件,确定预置旋转条件的类型,当预置旋转条件为需要考虑旋转时,触发所述旋转操作模块;当预置旋转条件为不需要考虑旋转时,触发所述第一选取单元;
所述旋转操作模块,用于进行旋转操作,触发所述删除控制模块。
23.如权利要求22所述的机械手臂,其特征在于,还包括获取判断模块;
所述获取判断模块,用于获取用户输入的零件的形状和方向类别,根据零件的形状和方向类别判断是否需要旋转机械手臂,当零件的形状为圆形或者圆环且用户输入的方向类别为没有正方向时,不需要旋转,获取零件的中点,将中点记为当前特征点,触发所述第一获取模块;否则需要旋转,触发所述旋转操作模块。
24.如权利要求22或23所述的机械手臂,其特征在于,所述旋转操作模块包括第二选取单元、第三选取单元、第一运算得到单元、第一判断单元和第一计算旋转删除单元;
所述第二选取单元,用于根据第一预置条件从特征点中选取不在一条直线上三个特征点,分别标记为第一特征点、第二特征点和第三特征点;
所述第一运算得到单元,用于对第一特征点的纵坐标和第二特征点的纵坐标进行运算得到第一运算结果;对第一特征点的纵坐标和第三特征点的纵坐标进行运算得到第二运算结果;根据对第一运算结果和第二运算结果进行运算得到第一比较数据;
所述第一判断单元,用于根据第一预置数据和第一比较数据确定是否需要旋转机械手臂,是则触发所述第一计算旋转删除单元,否则触发所述第三选取单元;
所述第三选取单元,用于从第一特征点、第二特征点和第三特征点中选取一个特征点作为当前特征点,触发所述第一获取模块;
所述第一计算旋转删除单元,用于使用第十一预置算法对第十一预置数据和第一比较数据进行计算得到第一旋转角度,根据第一预置正方向将手臂模块旋转第一旋转角度,删除第一旋转角度,触发所述删除控制模块。
25.如权利要求22或23所述的机械手臂,其特征在于,所述旋转操作模块包括第四选取单元、第五选取单元、第二运算得到单元、第二判断单元和第二计算旋转删除单元;
所述第四选取单元,用于根据第一预置条件从特征点中选取不在一条直线上三个特征点,分别标记为第一特征点、第二特征点和第三特征点;
所述第二运算得到单元,用于对第一特征点的横坐标和第二特征点的横坐标进行运算得到第一运算结果;对第一特征点的横坐标和第三特征点的横坐标进行运算得到第二运算结果;根据对第一运算结果和第二运算结果进行运算得到第一比较数据;
所述第二判断单元,用于根据第二十一预置数据和第一比较数据确定是否需要旋转机械手臂,是则触发所述第二计算旋转删除单元,否则触发所述第五选取单元;
所述第五选取单元,用于从第一特征点、第二特征点和第三特征点中选取一个特征点作为当前特征点,触发所述第一获取模块;
所述第二计算旋转删除单元,用于使用第十一预置算法对第十一预置数据和第一比较数据进行计算得到第一旋转角度,根据第一预置正方向将手臂模块旋转第一旋转角度,删除第一旋转角度,触发所述删除控制模块。
26.如权利要求23所述的机械手臂,其特征在于,所述获取判断模块包括第三判断单元和第四判断单元;
所述第三判断单元,用于获取第一当前图片上图像的外轮廓线,根据外轮廓线确定零件的形状,当零件的形状为圆环或者环形时,触发所述第四判断单元,否则需要旋转,触发所述旋转操作模块;
所述第四判断单元,用于获取用户输入的方向类别,当方向类别为有正方向时,根据外轮廓线的坐标确定零件中点坐标,将中点记为当前特征点,触发所述第一获取模块;当方向类别为无正方向时,需要旋转,触发所述旋转操作模块。
27.如权利要求21所述的机械手臂,其特征在于,当所述第一获取模块用于根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标时,所述第一获取模块具体用于获取第一当前图片的左上角顶点的纵坐标作为左上角顶点纵坐标;根据图片预置长度获取第一当前图片的右下角顶点的纵坐标作为右下角顶点纵坐标。
28.如权利要求21所述的机械手臂,其特征在于,当所述第一计算判断模块用于根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据时,所述第一计算判断模块具体用于根据当前特征点的纵坐标和左上角顶点纵坐标计算当前特征点距离第一当前图片上边缘的第一纵向距离;根据当前特征点的纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片下边缘的第二纵向距离。
29.如权利要求28所述的机械手臂,其特征在于,当所述第一计算判断模块具体用于根据当前特征点的纵坐标和左上角顶点纵坐标计算当前特征点距离第一当前图片上边缘的第一纵向距离;根据当前特征点的纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片下边缘的第二纵向距离时,所述第一计算判断模块具体用于所述机械手臂对当前特征点的纵坐标和左上角顶点纵坐标进行减法运算得到当前特征点距离第一当前图片上边缘的第一纵向距离;对当前特征点的纵坐标和右下角顶点纵坐标进行减法运算得到当前特征点距离第一当前图片下边缘的第二纵向距离。
30.如权利要求21所述的机械手臂,其特征在于,所述第一计算判断模块用于根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块时,所述第一计算判断模具体用于判断第二预置数据和第二比较数据是否相同,是则不需要移动,触发所述第二获取模块;否则需要移动,触发所述纵向偏移删除模块。
31.如权利要求21所述的机械手臂,其特征在于,当所述第二获取模块用于根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标时,所述第二获取模块具体用于获取第一当前图片的左上角顶点的横坐标作为左上角顶点横坐标;根据图片预置宽度获取第一当前图片的右下角顶点的横坐标作为右下角顶点横坐标。
32.如权利要求21所述的机械手臂,其特征在于,当所述第二计算判断模块用于根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据时,所述第二计算判断模块具体用于根据当前特征点的横坐标和左上角顶点横坐标计算当前特征点距离第一当前图片左边缘的第一横向距离;根据当前特征点的横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片右边缘的第二横向距离。
33.如权利要求32所述的机械手臂,其特征在于,所述第二计算判断模块具体用于根据当前特征点的横坐标和左上角顶点横坐标计算当前特征点距离第一当前图片左边缘的第一横向距离;根据当前特征点的横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片右边缘的第二横向距离时,所述第二计算判断模块具体用于对当前特征点的横坐标和左上角顶点横坐标进行减法运算得到当前特征点距离第一当前图片左边缘的第一横向距离;对右下角顶点横坐标和当前特征点的横坐标进行减法运算得到当前特征点距离第一当前图片右边缘的第二横向距离。
34.如权利要求21所述的机械手臂,其特征在于,当所述第二计算判断模块用于根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,所述第二计算判断模块具体用于判断第三预置数据和第三比较数据是否相同,否则需要移动,触发所述横向偏移删除模块;是则不需要移动,触发所述移动控制抓取模块。
35.如权利要求21所述的机械手臂,其特征在于,其特征在于,当所述第二计算判断模块用于对第一横向距离和第二横向距离进行运算得到第三比较数据时,所述第二计算判断模块具体用于对第一横向距离和第二横向距离进行比运算得到第三比较数据。
36.如权利要求21所述的机械手臂,其特征在于,还包括横向偏移判断模块;
所述横向偏移判断模块,用于获取与当前特征点的横坐标坐标对应的第二预置数据;根据图片预置宽度获取第一当前图片的左上角顶点横坐标和右下角顶点横坐标;根据当前特征点的横坐标、左上角顶点横坐标和右下角顶点横坐标计算当前特征点距离第一当前图片左右边缘的第一横向距离和第二横向距离;对第一横向距离和第二横向距离进行运算得到第三比较数据;根据第三预置数据和第三比较数据判断是否需要左右移动手臂模块,当需要移动时,使用第十二预置算法对第十二预置数据和第三比较数据进行计算得到横向偏移距离;根据第三预置正方向将手臂模块移动横向偏移距离,删除横向偏移距离,触发所述删除控制模块;当不需要移动时,触发所述纵向偏移判断模块;
所述纵向偏移判断模块,用于获取与当前特征点的纵坐标对应的第二预置数据;根据图片预置长度获取第一当前图片的左上角顶点纵坐标和右下角顶点纵坐标;根据当前特征点的纵坐标、左上角顶点纵坐标和右下角顶点纵坐标计算当前特征点距离第一当前图片上下边缘的第一纵向距离和第二纵向距离;对第一纵向距离和第二纵向距离进行运算得到第二比较数据;根据第二预置数据和第二比较数据判断是否需要上下移动手臂模块,当需要移动时,使用第十二预置算法对第十二预置数据和第二比较数据进行计算得到纵向偏移距离;根据第二预置正方向将手臂模块移动纵向偏移距离,删除纵向偏移距离,触发所述删除控制模块;当不需要移动时,触发所述移动控制抓取模块。
37.如权利要求21所述的机械手臂,其特征在于,所述移动控制抓取模块,具体用于移动第一预置高度,打开吸盘进行抽真空操作;获取真空传感器数据,根据真空传感器数据确定抓取零件是否成功,当抓取零件成功时,获取零件的终点坐标,移动手臂模块至终点坐标,打开抓取装置,结束。
38.如权利要求21所述的机械手臂,其特征在于,当所述移动控制抓取模块用于获取零件的终点坐标,移动手臂模块至终点坐标时,所述移动控制抓取模块包括移动控制拍摄单元、控制记为单元、确定单元、偏移单元;
所述移动控制拍摄单元,用于将手臂模块移动第二预置高度;获取根据零件的终点坐标记为第二当前预置坐标;将第二拍摄模块移动至第二当前预置坐标;控制第二拍摄模块进行拍摄,将拍摄得到的图片记为第二当前图片;根据调用第二预置函数处理第二当前图片得到第一目标图形的第一中心坐标;将手臂模块移动到第二当前预置坐标;
所述控制记为单元,用于控制第二拍摄模块进行拍摄,将拍摄得到的图片记为第三当前图片;第二预置函数处理第三当前图片得到第二目标图形的第二中心坐标;
所述确定单元,用于确定第一目标图形的第一中心坐标和第二目标图形的第二中心坐标是否相同,当确定相同时,打开抓取装置,结束;当确定不相同时,触发所述偏移单元;
所述偏移单元,用于根据第一中心坐标和第二中心坐标得到第十横向距离和第十纵向距离,使用第十五预置算法对第十横向距离和第十纵向距离进行计算得到第十一横向偏移和第十一纵向偏移;根据第十一横向偏移和第十一纵向偏移将第一拍摄模块移动,触发所述控制记为单元。
39.如权利要求38所述的机械手臂,其特征在于,当第一平台上放置至少两个零件时,初始数据表保存第一平台上的零件的预置坐标;当所述确定单元确定第一目标图形的第一中心坐标和第二目标图形的第二中心坐标相同时,所述确定单元还用于从初始数据表获取下一零件的预置坐标作为零件的初始坐标,触发所述移动控制单元;
所述获取移动控制模块还包括获取作为单元和移动控制单元;
所述获取作为单元,用于当接收到用户的开始操作时,所述机械手臂从初始数据表获取待抓取的一个零件的预置坐标作为初始坐标;
所述移动控制单元,用于移动手臂模块至初始坐标;控制第一拍摄模块拍摄图片。
40.如权利要求38所述的机械手臂,其特征在于,当第二平台上至少能放置两个零件时,终点数据表保存第二平台上的零件的预置坐标;
当所述移动控制拍摄单元用于将手臂模块移动第二预置高度;获取根据零件的终点坐标记为第二当前预置坐标时,所述移动控制拍摄单元用于将手臂模块移动第二预置高度;从终点数据表获取待放置零件的一个预置坐标作为终点坐标;获取根据零件的终点坐标记为第二当前预置坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911384446.8A CN111015670B (zh) | 2019-12-28 | 2019-12-28 | 一种机械手臂及其定位识别处理零件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911384446.8A CN111015670B (zh) | 2019-12-28 | 2019-12-28 | 一种机械手臂及其定位识别处理零件的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111015670A CN111015670A (zh) | 2020-04-17 |
CN111015670B true CN111015670B (zh) | 2021-06-08 |
Family
ID=70194856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911384446.8A Active CN111015670B (zh) | 2019-12-28 | 2019-12-28 | 一种机械手臂及其定位识别处理零件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111015670B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112476489B (zh) * | 2020-11-13 | 2021-10-22 | 哈尔滨工业大学(深圳) | 基于自然特征的柔性机械臂同步测量方法及系统 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3405909A1 (de) * | 1984-02-18 | 1985-08-22 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Vorrichtung zur erfassung, messtechnischen analyse und/oder regelung von technischen verfahrensablaeufen |
JPS60189413A (ja) * | 1984-03-09 | 1985-09-26 | Star Seiki:Kk | 射出成型品の自動取出装置 |
JPH0691571A (ja) * | 1990-09-20 | 1994-04-05 | Mazda Motor Corp | 画像ガイドロボットの較正方法及びその装置 |
CN102303314A (zh) * | 2011-05-17 | 2012-01-04 | 北方工业大学 | 工业生产中的碳碗中心和导槽定位装置及其定位方法 |
CN102566594A (zh) * | 2012-01-18 | 2012-07-11 | 浙江大学 | 基于微视觉反馈的微构件声操纵二维平移方法 |
CN102959452A (zh) * | 2010-08-06 | 2013-03-06 | 日本精工株式会社 | 机械手系统及微小操作对象物的操作方法 |
CN103192397A (zh) * | 2012-01-09 | 2013-07-10 | 沈阳新松机器人自动化股份有限公司 | 视觉机器人离线编程方法和系统 |
CN203522885U (zh) * | 2013-07-11 | 2014-04-02 | 汕头大学 | 自拍控制设备 |
CN104634372A (zh) * | 2015-02-15 | 2015-05-20 | 易测智能科技(天津)有限公司 | 移动终端测试用的终端定位装置及定位方法 |
CN105518555A (zh) * | 2014-07-30 | 2016-04-20 | 深圳市大疆创新科技有限公司 | 目标追踪系统及方法 |
CN106737638A (zh) * | 2016-12-22 | 2017-05-31 | 河北省自动化研究所 | 一种分拣手机摄像头定位系统及其定位算法 |
KR20170090631A (ko) * | 2016-01-29 | 2017-08-08 | 한국해양대학교 산학협력단 | Pid 및 퍼지에 의해 제어되는 무선 추종 로봇 시스템 |
CN108098761A (zh) * | 2016-11-24 | 2018-06-01 | 广州映博智能科技有限公司 | 一种新型机器人抓取目标的臂手装置及方法 |
CN108698681A (zh) * | 2016-03-29 | 2018-10-23 | B·泰尔斯 | 自动定位放置系统 |
KR101992467B1 (ko) * | 2017-11-07 | 2019-06-24 | (주)피토 | 극판 검사 기능을 포함하는 2차전지 제조장치의 극판이송장치 |
CN109947273A (zh) * | 2019-03-25 | 2019-06-28 | 广东小天才科技有限公司 | 一种点读定位方法及装置 |
CN110405751A (zh) * | 2018-04-28 | 2019-11-05 | 深圳果力智能科技有限公司 | 机器人及其控制方法 |
-
2019
- 2019-12-28 CN CN201911384446.8A patent/CN111015670B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3405909A1 (de) * | 1984-02-18 | 1985-08-22 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Vorrichtung zur erfassung, messtechnischen analyse und/oder regelung von technischen verfahrensablaeufen |
JPS60189413A (ja) * | 1984-03-09 | 1985-09-26 | Star Seiki:Kk | 射出成型品の自動取出装置 |
JPH0691571A (ja) * | 1990-09-20 | 1994-04-05 | Mazda Motor Corp | 画像ガイドロボットの較正方法及びその装置 |
CN102959452A (zh) * | 2010-08-06 | 2013-03-06 | 日本精工株式会社 | 机械手系统及微小操作对象物的操作方法 |
CN102303314A (zh) * | 2011-05-17 | 2012-01-04 | 北方工业大学 | 工业生产中的碳碗中心和导槽定位装置及其定位方法 |
CN103192397A (zh) * | 2012-01-09 | 2013-07-10 | 沈阳新松机器人自动化股份有限公司 | 视觉机器人离线编程方法和系统 |
CN102566594A (zh) * | 2012-01-18 | 2012-07-11 | 浙江大学 | 基于微视觉反馈的微构件声操纵二维平移方法 |
CN203522885U (zh) * | 2013-07-11 | 2014-04-02 | 汕头大学 | 自拍控制设备 |
CN105518555A (zh) * | 2014-07-30 | 2016-04-20 | 深圳市大疆创新科技有限公司 | 目标追踪系统及方法 |
CN104634372A (zh) * | 2015-02-15 | 2015-05-20 | 易测智能科技(天津)有限公司 | 移动终端测试用的终端定位装置及定位方法 |
KR20170090631A (ko) * | 2016-01-29 | 2017-08-08 | 한국해양대학교 산학협력단 | Pid 및 퍼지에 의해 제어되는 무선 추종 로봇 시스템 |
CN108698681A (zh) * | 2016-03-29 | 2018-10-23 | B·泰尔斯 | 自动定位放置系统 |
CN108098761A (zh) * | 2016-11-24 | 2018-06-01 | 广州映博智能科技有限公司 | 一种新型机器人抓取目标的臂手装置及方法 |
CN106737638A (zh) * | 2016-12-22 | 2017-05-31 | 河北省自动化研究所 | 一种分拣手机摄像头定位系统及其定位算法 |
KR101992467B1 (ko) * | 2017-11-07 | 2019-06-24 | (주)피토 | 극판 검사 기능을 포함하는 2차전지 제조장치의 극판이송장치 |
CN110405751A (zh) * | 2018-04-28 | 2019-11-05 | 深圳果力智能科技有限公司 | 机器人及其控制方法 |
CN109947273A (zh) * | 2019-03-25 | 2019-06-28 | 广东小天才科技有限公司 | 一种点读定位方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111015670A (zh) | 2020-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7352260B2 (ja) | 自動物体検出機構を備えたロボットシステム、および、その動作方法 | |
JP6692107B1 (ja) | 物体識別のための方法および計算システム | |
WO2019114339A1 (zh) | 机械臂运动的校正方法和装置 | |
CN110712194B (zh) | 物体检查装置、物体检查系统以及调整检查位置的方法 | |
CN113103235B (zh) | 一种基于rgb-d图像对柜体表面设备进行垂直操作的方法 | |
CN111390910A (zh) | 机械手目标抓取定位方法、计算机可读存储介质及机械手 | |
CN112476489B (zh) | 基于自然特征的柔性机械臂同步测量方法及系统 | |
CN111015670B (zh) | 一种机械手臂及其定位识别处理零件的方法 | |
WO2022002149A1 (zh) | 一种初始定位方法、视觉导航设备、仓储系统 | |
CN112164112B (zh) | 一种获取机械臂位姿信息的方法及装置 | |
CN114119570A (zh) | 自动换型方法、装置、控制器以及存储介质 | |
CN117115105A (zh) | 一种工件处理方法、装置、设备以及存储介质 | |
CN110238851B (zh) | 一种移动机器人及其快速标定方法和系统 | |
Pan et al. | Manipulator package sorting and placing system based on computer vision | |
CN114074331A (zh) | 一种基于视觉的无序抓取方法及机器人 | |
Fan et al. | An automatic robot unstacking system based on binocular stereo vision | |
CN111191083A (zh) | 用于对象标识的方法和计算系统 | |
CN115847426A (zh) | 机器人运动控制方法、装置、电子设备和存储介质 | |
CN114037753A (zh) | 应用于智能设备的物体抓取方法、智能设备及存储介质 | |
CN106636510B (zh) | 一种基于机器视觉的自动换钎方法 | |
CN115797332B (zh) | 基于实例分割的目标物抓取方法和设备 | |
JP2562047B2 (ja) | 対象物体の位置姿勢認識方法 | |
JPH03281182A (ja) | 移動ロボットの座標補正方法 | |
Wagner et al. | Data fusion between a 2d laser profile sensor and a camera | |
CN111736331B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |