CN117798933B - 一种基于智能机器人的机器末端的动态跟随方法及装置 - Google Patents
一种基于智能机器人的机器末端的动态跟随方法及装置 Download PDFInfo
- Publication number
- CN117798933B CN117798933B CN202410132630.8A CN202410132630A CN117798933B CN 117798933 B CN117798933 B CN 117798933B CN 202410132630 A CN202410132630 A CN 202410132630A CN 117798933 B CN117798933 B CN 117798933B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- cloud set
- information
- workpiece
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 239000011159 matrix material Substances 0.000 claims abstract description 70
- 239000013598 vector Substances 0.000 claims description 52
- 238000004590 computer program Methods 0.000 claims description 21
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 230000001133 acceleration Effects 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 11
- 238000005452 bending Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000002360 preparation method Methods 0.000 claims description 3
- 238000007670 refining Methods 0.000 claims description 3
- 230000003068 static effect Effects 0.000 abstract description 4
- 230000000875 corresponding effect Effects 0.000 description 26
- 238000004519 manufacturing process Methods 0.000 description 14
- 230000001276 controlling effect Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000012636 effector Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 229920000535 Tan II Polymers 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003466 welding 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
-
- 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
- B25J9/1679—Programme controls characterised by the tasks executed
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
本申请适用于智能机械领域,提供了一种基于智能机器人的机器末端动态跟随方法及装置,所述方法包括:获取关于工件的模板点云集以及所述工件的示教点位信息,确定手眼标定矩阵;获取关于所述工件位于工件位置的工件图像,基于所述工件图像对所述工件进行三维建模,得到关于所述工件的初始点云集;基于所述模板点云集以及所述初始点云集得到配准矩阵;基于所述示教点位信息、所述手眼标定矩阵以及所述配准矩阵,确定目标点的位姿信息;基于所述位姿信息,控制所述机器末端对所述目标点进行动态跟随。通过本申请提供的方法,可以让机器末端精准地动态跟随工件,使得工件可以在非静止的状态下与机器末端进行配合工作,兼容效率与精度。
Description
技术领域
本申请属于智能机器人控制领域,尤其涉及一种基于智能机器人的机器末端的动态跟随方法及装置。
背景技术
制造业中,机器人末端执行器动态跟随技术通过整合先进的传感器、精准的控制***和灵活的机械设计,实现了生产线上的高效自动化。这种技术可以应用于装配、焊接、喷涂等工序,使机械臂能够灵活、精准地跟随生产物体的形状和位置变化,提高生产效率和产品质量。通过末端执行器的动态跟随,机器人在复杂的制造环境中能够适应不同工艺需求,实现更灵活、智能的生产流程。机器人末端执行器跟随技术在制造业应用中虽然取得进展,但多数应用场景都为静态的场景,无法灵活动态跟随,限制了其在复杂任务中的适应性和灵活性。
可见,在现有技术中,存在现有技术的机器人末端在生产的过程中,需要流水线短暂停留,才可以让机器人末端精准作用在工件上,这导致了效率低下的问题,亟需解决。
发明内容
本申请实施例提供了一种基于智能机器人的机器末端的动态跟随方法及装置,可以让机器末端精准地动态跟随工件,使得工件可以在非静止的状态下与机器末端进行配合工作,兼容效率与精度,解决现有技术中现有技术的机器人末端在生产的过程中,需要流水线短暂停留,才可以让机器人末端精准作用在工件上,导致效率与精度不能兼容的问题。
第一方面,本申请实施例提供了一种基于智能机器人的机器末端的动态跟随方法,包括:
获取关于工件的模板点云集以及所述工件的示教点位信息,确定手眼标定矩阵;获取关于所述工件位于工件位置的工件图像,基于所述工件图像对所述工件进行三维建模,得到关于所述工件的初始点云集;基于所述模板点云集以及所述初始点云集得到配准矩阵;基于所述示教点位信息、所述手眼标定矩阵以及所述配准矩阵,确定目标点的位姿信息;基于所述位姿信息,控制所述机器末端对所述目标点进行动态跟随。
应理解,在工作过程中,该工件处于传送带上,该传送带位于该机器末端旁且保持运行状态。
第二方面,本申请实施例提供了一种基于智能机器人的机器末端的动态跟随装置,包括:
数据准备模块,用于获取关于工件的模板点云集以及所述工件的示教点位信息,确定手眼标定矩阵;三维建模模块,用于获取关于所述工件位于工件位置的工件图像,基于所述工件图像对所述工件进行三维建模,得到关于所述工件的初始点云集;点云配准模块,用于基于所述模板点云集以及所述初始点云集得到配准矩阵;位姿信息确定模块,用于基于所述示教点位信息、所述手眼标定矩阵以及所述配准矩阵,确定目标点的位姿信息;动态跟随模块,用于基于所述位姿信息,控制所述机器末端对所述目标点进行动态跟随。
第三方面,本申请实施例提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的方法。
第五方面,本申请实施例提供了一种计算机程序工件,当计算机程序工件在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的方法。
可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
本申请实施例与现有技术相比存在的有益效果是:
本申请提供的基于机器末端的动态跟随方法,相对于现有技术,可以让机器末端精准地动态跟随工件,使得工件可以在非静止的状态下与机器末端进行配合工作,兼容效率与精度,解决现有技术中现有技术的机器人末端在生产的过程中,需要流水线短暂停留,才可以让机器人末端精准作用在工件上,这导致了效率低下,使得精度与效率不能兼容。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请第一实施例提供的方法的实现流程图;
图2是本申请一实施例提供的方法的应用场景图;
图3是本申请第二实施例提供的方法的实现流程图;
图4是本申请第三实施例提供的方法的实现流程图;
图5是本申请第四实施例提供的方法的实现流程图;
图6是本申请第五实施例提供的方法的实现流程图;
图7是本申请第六实施例提供的方法的实现流程图;
图8是本申请一实施例提供的装置的结构示意图;
图9是本申请一实施例提供的终端设备的结构示意图。
附图标号说明:
1、智能控制设备;2、六轴机器人;3、工件;4、传送带;5、编码器;6、3D激光线阵相机。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定***结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的***、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在本申请实施例中,流程的执行主体为终端设备。该终端设备包括但不限于:服务器、计算机、智能手机以及平板电脑等能够执行本申请提供的方法的设备。优选地,该终端设备为智能控制设备,该终端设备能够获取工件图像,能够控制智能机器人的机器末端。图1示出了本申请第一实施例提供的方法的实现流程图,详述如下:
在S101中,获取关于工件的模板点云集以及所述工件的示教点位信息,确定手眼标定矩阵。
在本实施例中,一般地,该工件处于传送带上,该传送带位于该机器末端旁且保持运行状态,为了提高精准度,需要先对工件进行模板化操作,也即让工件放置在该传送带上且进入了该机器末端的指定工作范围内,此时通过相机获取的关于该工件的深度图像,可以基于该深度图像得到多个模板点云,进而集合得到上述模板点云集;此时通过该机器末端的示教器,可以获取上述示教点位信息。通过该模板点云集内的各个模板点云,以及在该示教点位信息内各个模板点云对应的示教点位,进行标定,得到手眼标定矩阵,具体标定方法可参照现有技术的标定方法,在此不再赘述。
在S102中,获取关于所述工件位于工件位置的工件图像,基于所述工件图像对所述工件进行三维建模,得到关于所述工件的初始点云集。
在本实施例中,该工件图像为该工件随着传送带运动到该工件位置时的上述相机获取得到的深度图像,该相机优选3D激光线阵相机;该工件位置位于上述机器末端的指定工作范围,示例性地,该工件位置位于该指定工作范围的最***。上述三维建模的具体实现不属于本申请的限定技术,可参考现有技术,在此不再赘述。
在S103中,基于所述模板点云集以及所述初始点云集得到配准矩阵。
在本实施例中,将该模板点云集与该初始点云集进行配准,具体地,基于FPFH(Fast Point Feature Histograms)特征描述子对该模板点云集与该初始点云集进行特征提取,基于该特征描述子进行配准,得到该配准矩阵。
在S104中,基于所述示教点位信息、所述手眼标定矩阵以及所述配准矩阵,确定目标点的位姿信息。
在本实施例中,该位姿信息包括位置信息以及姿态信息。
进一步地,上述S104包括S1041~S1045,具体详述如下:
在S1041中,基于所述示教点位信息以及所述配准矩阵,确定所述目标点的所述位置信息。
在本实施例中,该示教点位信息包括示教目标点的位置信息;将该示教目标点的位置信息基于该配准矩阵进行转换,得到该目标点的位置信息,应理解,该位置信息为机器末端坐标系下的坐标信息。
在S1042中,基于所述示教点位信息、所述手眼标定矩阵以及所述配准矩阵,确定目标点云信息。
在本实施例中,将该示教点位信息基于该手眼标定矩阵进行转换,得到相机点云信息,再将该相机点云信息基于该配准矩阵进行转换,得到该目标点云信息。
在S1043中,基于搜索树算法确定所述目标点在所述目标点云信息的目标法向量。
在本实施例中,上述目标点云信息包含了该目标点在相机坐标系下的坐标信息以及该目标点对应的目标点云,基于搜索树算法确定该目标点在该目标点云中的目标法向量。
在一种可能的实施方式中,上述基于搜索树算法确定该目标点的目标法向量,具体可以为:基于搜索树算法对该目标点云建树,得到KDTREE;搜索该KDTREE中该目标点的最近点,并将该目标点的最近点的向量确定为该目标法向量,具体地,KDTree中对每一个点都与该目标点计算欧式距离,若距离不达到预设距离内,则直接进入到下一个子树中(就是进行下一个点的比较中,在搜索过程中的搜索规则遵循KDTree的建立规则);若达到距离达到预设距离内,则继续搜索并储存当前点为最近点,直到无法找到更近的点。
在S1044中,基于所述目标法向量确定所述目标点的所述姿态信息。
在本实施例中,上述基于所述目标法向量确定所述目标点的所述姿态信息,具体可以为:对该目标法向量进行转换,具体可参照公式其中normalcam为目标法向量,/>为手眼标定矩阵,normalbase为转换后的目标法向量;已知normalbase=(x,y,z),得到α=tan2(y,x),/>上述姿态信息具体可以以roll-pitch-yaw角的形式进行描述,将α作为yaw,β作为pitch,封装至上述姿态信息中;应理解,roll不参与后续步骤,因此此处roll不需要确定。
在S105中,基于所述位姿信息,控制所述机器末端对所述目标点进行动态跟随。
在本实施例中,一般地,该智能机器人的机器末端为多关节末端;上述基于所述位姿信息,控制所述机器末端对所述目标点进行动态跟随,具体可以为:通过编码器获取上述传送带的传送带运行数据,基于该位姿信息与该传送带运行数据,得到该工件的预测运动轨迹;将该预测运动轨迹转换为该机器末端的目标轨迹,并通过逆运动学解算模型对该目标轨迹进行解析,得到各个关节的规划轨迹,控制该机器末端的各个关节以对应的规划轨迹进行运作,实现该机器末端对目标点的动态跟随,具体地,该机器末端以上述目标法向量的方向,垂直于该目标点进行具体作业。
应理解,上述示教点位信息可以包括多个目标点,若该机器末端需要完成多个目标点的作业工作,则在上述S104步骤中确定多个目标点的位姿信息,并在上述S105步骤之前,根据上述编码器以及经过时长对下一个目标点的位姿信息进行调整。
在本实施例中,通过确定工件的目标点的位姿信息,可以让机器末端精准地动态跟随该工件的目标点,对该目标点进行作业,使得工件可以在非静止的状态下与机器末端进行配合工作,兼容效率与精度,解决现有技术中现有技术的机器人末端在生产的过程中,需要流水线短暂停留,才可以让机器人末端精准作用在工件上,这导致了效率低下,使得精度与效率不能兼容。
图2示出了本申请一实施例提供的方法的应用场景图,参见图2,上述终端设备优选智能控制设备1,上述机器末端对应的机器人优选六轴机器人2,上述相机优选3D激光线阵相机6;智能控制设备1分别与3D激光线阵相机6、六轴机器人2以及编码器5连接,可以获取3D激光线阵相机6拍摄的图像,控制六轴机器人2以及获取编码器5关于传送带4的运行数据;一般地,传送带4的运行速度为匀速。工件3在传送带4上传输时,3D激光线阵相机6获取关于该工件的工件图像,经过上述S102~S105的步骤,实现六轴机器人2的机器末端动态跟随工件3。
图3示出了本申请第二实施例提供的方法的实现流程图。参见图3,相对于图1所述实施例,本实施例提供的方法包括S301~S304,具体详述如下:
进一步地,所述基于所述模板点云集以及所述初始点云集得到配准矩阵,包括:
在S301中,对所述模板点云集以及所述初始点云集进行特征提取,得到对应的特征信息。
在本实施例中,该特征信息可以为FPFH特征描述子,具体可参照上述S103的相关描述,在此不再赘述。
在S302中,基于所述模板点云集以及所述初始点云集的特征信息进行点云粗配准,得到粗配准矩阵。
在本实施例中,上述基于所述模板点云集以及所述初始点云集的特征信息进行点云粗配准,得到粗配准矩阵,具体可以为:通过FGR算法,对该模板点云集以及该初始点云集的FPFH特征描述子进行配准,得到该粗配准矩阵。
在S303中,对所述模板点云集以及所述初始点云集进行精细化操作,得到精模板点云集以及精初始点云集。
在本实施例中,上述对所述模板点云集以及所述初始点云集进行精细化操作,得到精模板点云集以及精初始点云集,具体可以为:通过DBSCAN聚类算法去除该模板点云集以及该初始点云集中的噪点;具体地,通过KDTree搜索树算法,对该模板点云集以及该初始点云集进行相关点搜索,若相关点距离超过预设阈值,则作为噪点去除,得到上述精模板点云集以及精初始点云集。
在S304中,以所述粗配准矩阵为初始矩阵,对所述精模板点云集以及所述精初始点云集进行精点云迭代匹配,得到所述配准矩阵。
在本实施例中,上述以所述粗配准矩阵为初始矩阵,对所述精模板点云集以及所述精初始点云集进行精点云迭代匹配,得到所述配准矩阵,具体可以为:通过icp算法对该精模板点云集以及该精初始点云集进行精配准,具体地,以上述粗配准矩阵为迭代初始值,基于目标函数进行迭代更新,当迭代次数超过预设次数时停止迭代,得到上述配准矩阵,具体地,该目标函数为其中q为精模板点云集的点,p为精初始点云集对应的点,T为配准矩阵。
在本实施例中,通过上述操作,可以提高配准矩阵的精确度。
图4示出了本申请第三实施例提供的方法的实现流程图。参见图4,相对于图3所述实施例,本实施例提供的方法包括S401~S404,具体详述如下:
进一步地,所述对所述模板点云集以及所述初始点云集进行特征提取,得到对应的特征信息,包括:
在本实施例中,该特征信息包括上述任一点云集内任一点云对应的第一法向量。
在S401中,对所述模板点云集以及所述初始点云集进行滤波处理。
在本实施例中,上述对所述模板点云集以及所述初始点云集进行滤波处理,具体可以为:对该模板点云集以及该初始点云集进行先验位置滤波处理,根据先验信息去除在该模板点云集以及该初始点云集中的大部分背景点,具体地,预设三个维度的先验位置阈值,只有三个维度均处于该先验位置阈值的像素点进行保留。以便后续减少计算量,提高精度。
在S402中,基于搜索树算法,对滤波处理后的所述模板点云集以及所述初始点云集建立对应的局部点云集。
在本实施例中,该搜索树算法具体可以参照上述KDTree;以一个点云集为例进行说明,上述基于搜索树算法,对滤波处理后的所述模板点云集以及所述初始点云集建立对应的局部点云集,具体可以为:设置搜索半径和近邻数量k,以该搜索半径对该点云集的各个点云进行近邻点搜索,得到点云数量最大为k+1的点云。
在S403中,计算得到所述局部点云集中所有局部点云的第一法向量。
在本实施例中,确定该局部点云集的第i个局部点云PSi的质心c,基于质心ci对该局部点云PSi进行去中心化处理,具体可参照公式Ni=Mi-ci,其中Mi为局部点云PSi所有点构成的矩阵,Ni为去中心化后的矩阵;基于Ni构建矩阵Ni TNi,进行奇异值分解,也即Ni TNi=U∑VT,将矩阵∑VT中最小值索引对应在矩阵U中的列向量,确定为上述第一法向量。
在S404中,将所述第一法向量封装至对应的所述特征信息中。
在本实施例中,通过去中心化,提高第一法向量的精确度。
图5示出了本申请第四实施例提供的方法的实现流程图。参见图5,相对于图4所述实施例,本实施例提供的方法包括S501~S503,具体详述如下:
进一步地,所述将所述第一法向量封装至对应的所述特征信息中之前,还包括:
在本实施例中,为了提高法向量的精准度,从而提高后续该机器末端动态跟随的精度,需要对该第一法向量进行精度判定。
在S501中,对所述局部点云集进行曲面建模,得到弯曲强度。
在本实施例中,上述对所述局部点云集进行曲面建模,得到弯曲强度,具体可以为:以一个局部点云Psi为例进行描述,对Psi进行曲面建模,得到二次曲面方程z(x,y)=a0x2+a1y2+a2xy+a3x+a4y+a5,对其进行最小二乘法进行曲面拟合可得到参数a0,a1,a2,a3,a4以及a5,通过曲面第一基本形式,得到参数E=rx 2,F=rxry,G=ry 2,通过曲面第二基本形式,得到参数L=-rxnormalix,M=-rxnormaliy,N=-rynormaliy,其中normali为第一法向量;确定该局部点云Psi的高斯曲率K和平均曲率H,参考公式进而确定其主曲率k1和k2,参考公式进而确定弯曲强度C,参考公式/>
在S502中,若所述局部点云集的参数不满足预设最佳条件,则重复S402~S403以及S501的步骤,直至所述局部点云集的参数满足所述预设最佳条件。
在本实施例中,预设弯曲强度阈值(Cmin,Cmax),设置上述近邻数量k为kin。该预设最佳条件为上述弯曲强度C处于预设弯曲强度阈值(Cmin,Cmax)内;若不满足该预设最佳条件,则对上述近邻数量k进行更新,参考更新公式然后再重复S402~S403的步骤,直至满足该预设最佳条件。
在另一种实施方式中,为了避免无限重复S402~S403的步骤,预设参数g,当k≤g时,继续执行后续步骤
在S503中,若所述局部点云集的参数满足所述预设最佳条件,则继续执行所述将所述第一法向量封装至对应的所述特征信息中的步骤。
在本实施例中,若满足上述预设最佳条件,则继续执行后续步骤。
在本实施例中,通过预设最佳条件,提高第一法向量的精度。
图6示出了本申请第五实施例提供的方法的实现流程图。参见图6,相对于图1所述实施例,本实施例提供的方法包括S601~S605,具体详述如下:
进一步地,所述基于所述位姿信息,控制所述机器末端对所述目标点进行动态跟随,包括:
在S601中,获取所述工件的线速度以及线加速度。
在本实施例中,上述获取所述工件的线速度以及线加速度,具体可以为:通过编码器实时获取传送带的运行数据,通过差分法计算得到该工件的线速度以及线加速度。
在S602中,基于所述位置信息与所述机器末端的距离导入时间预测模型,输出预测时间。
在本实施例中,该时间预测模型可以为深度学习模型,用于确定理论上该机器末端运动至该位置信息的预测时间,可以通过历史数据训练该时间预测模型;一般地,该位置信息与该机器末端的距离与该预测时间正相关。
在S603中,基于所述位置信息、所述线速度、所述线加速度以及所述预测时间,计算得到目标点实时信息。
在本实施例中,上述基于所述位置信息、所述线速度、所述线加速度以及所述预测时间,计算得到目标点实时信息,具体可参考以下公式:
其中,pn为该目标点实时信息,pin该位置信息,vbase为该线速度,abase为该线加速度,t为该预测时间。
在S604中,基于所述目标点实时信息以及所述线速度,通过逆运动学解算模型,得到所述机器末端各个关节的目标信息。
在本实施例中,上述关节的目标信息,指的是该关节需要运动至该目标信息对应的位置上,才能实现该机器末端对该目标点的动态跟随。逆运动学解算模型的具体描述可参照现有技术,在此不再赘述。
在S605中,基于所述目标信息控制各个所述关节运动至所述目标信息对应的位置上。
在本实施例中,上述基于所述目标信息控制各个所述关节运动至所述目标信息对应的位置上,具体可以为:以一个关节为例进行说明,基于该目标信息对该关节进行轨迹规划,具体地,基于该关节的当前位置与该目标信息对应的目标位置,进行轨迹规划;控制该关节按照规划轨迹进行运动,直至运动至该目标位置上。
在本实施例中,通过对该机器末端各个关节分别进行轨迹规划,可以提高动态跟随的精准度。
图7示出了本申请第七实施例提供的方法的实现流程图。参见图7,相对于图6所述实施例,本实施例提供的方法包括S701~S705,具体详述如下:
进一步地,所述基于所述目标信息控制各个所述关节运动至所述目标信息对应的位置上,包括:
在S701中,基于所述目标信息确定所述关节的目标速度矢量。
在本实施例中,该目标信息包括目标位置;以一个关节为例进行说明,上述基于所述目标信息确定所述关节的目标速度矢量,具体可参照以下公式:
其中,为该关节的目标速度矢量,q为该关节的目标位置。
在S702中,获取所述关节的初始位置以及初始速度矢量。
在本实施例中,通过实时监测该机器末端各个关节的运动信息,获取当前时刻该关节的位置及速度矢量,进而作为上述初始位置以及初始速度矢量,具体地,可以通过编码器实时进行监测。
在S703中,预设最大加减速度,基于所述初始位置、所述初始速度矢量、所述目标信息、所述目标速度矢量,进行关节轨迹规划,得到所述关节对应的关节轨迹。
在本实施例中,上述预设最大加减速度,基于所述初始位置、所述初始速度矢量、所述目标信息、所述目标速度矢量,进行关节轨迹规划,得到所述关节对应的关节轨迹,具体可以为:预设值最大加减速度,以让该关节在满足自身性能上限的情况下,尽快从初始速度矢量加速至该目标速度矢量;基于该初始位置以及该目标信息对应的目标位置之间的差异,该初始速度矢量以及该目标速度矢量的差异,进行关节轨迹规划,使得该关节在经过上述预设时间后,刚好以该目标速度矢量的状态出现在该目标位置上,实现对该目标点的相对静止。
在S704中,将所述关节轨迹转换为所述关节的脉冲数据。
在S705中,基于所述脉冲数据控制所述关节运动至所述目标信息对应的位置上。
在本实施例中,将该关节轨迹进行转换得到脉冲数据,以便控制关节的电机接收到该脉冲数据后控制该关节按照该关节轨迹进行运动,最终运动至该目标信息对应的位置上。
在本实施例中,详细地进行关节轨迹的规划,提高关节的控制精度。
对应于上文实施例所述的方法,图8示出了本申请一实施例提供的装置的结构示意图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图8,基于智能机器人的机器末端的动态跟随装置包括:数据准备模块,用于获取关于工件的模板点云集以及所述工件的示教点位信息,确定手眼标定矩阵;三维建模模块,用于获取关于所述工件位于工件位置的工件图像,基于所述工件图像对所述工件进行三维建模,得到关于所述工件的初始点云集;点云配准模块,用于基于所述模板点云集以及所述初始点云集得到配准矩阵;位姿信息确定模块,用于基于所述示教点位信息、所述手眼标定矩阵以及所述配准矩阵,确定目标点的位姿信息;动态跟随模块,用于基于所述位姿信息,控制所述机器末端对所述目标点进行动态跟随。
需要说明的是,上述装置之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图9示出了本申请一实施例提供的终端设备的结构示意图。如图9所示,该实施例的终端设备9包括:至少一个处理器90(图9中仅示出一个处理器)、存储器91以及存储在所述存储器91中并可在所述至少一个处理器90上运行的计算机程序92,所述处理器90执行所述计算机程序92时实现上述任意各个方法实施例中的步骤。
所述终端设备9可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备,可以连接机器末端以及相机。该终端设备可包括,但不仅限于,处理器90、存储器91。本领域技术人员可以理解,图9仅仅是终端设备9的举例,并不构成对终端设备9的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
所称处理器90可以是中央处理单元(Central Processing Unit,CPU),该处理器90还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器91在一些实施例中可以是所述终端设备9的内部存储单元,例如终端设备9的硬盘或内存。所述存储器91在另一些实施例中也可以是所述终端设备9的外部存储设备,例如所述终端设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器91还可以既包括所述终端设备9的内部存储单元也包括外部存储设备。所述存储器91用于存储操作***、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器91还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
本申请实施例提供了一种计算机程序工件,当计算机程序工件在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
所述集成的单元如果以软件功能单元的形式实现并作为独立的工件销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (7)
1.一种基于智能机器人的机器末端的动态跟随方法,其特征在于,包括:
获取关于工件的模板点云集以及所述工件的示教点位信息,确定手眼标定矩阵;
获取关于所述工件位于工件位置的工件图像,基于所述工件图像对所述工件进行三维建模,得到关于所述工件的初始点云集;
基于所述模板点云集以及所述初始点云集得到配准矩阵;
基于所述示教点位信息、所述手眼标定矩阵以及所述配准矩阵,确定目标点的位姿信息;
基于所述位姿信息,控制所述机器末端对所述目标点进行动态跟随;
基于所述模板点云集以及所述初始点云集得到配准矩阵,包括:
对所述模板点云集以及所述初始点云集进行特征提取,得到对应的特征信息;
基于所述模板点云集以及所述初始点云集的特征信息进行点云粗配准,得到粗配准矩阵;
对所述模板点云集以及所述初始点云集进行精细化操作,得到精模板点云集以及精初始点云集;
以所述粗配准矩阵为初始矩阵,对所述精模板点云集以及所述精初始点云集进行精点云迭代匹配,得到所述配准矩阵;
对所述模板点云集以及所述初始点云集进行特征提取,得到对应的特征信息,包括:
对所述模板点云集以及所述初始点云集进行滤波处理;
基于搜索树算法,对滤波处理后的所述模板点云集以及所述初始点云集建立对应的局部点云集;
计算得到所述局部点云集中所有局部点云的第一法向量;
对所述局部点云集进行曲面建模,得到弯曲强度;
若所述局部点云集的参数不满足预设最佳条件,则重复所述基于搜索树算法对滤波处理后的所述模板点云集以及所述初始点云集建立对应的局部点云集、所述计算得到所述局部点云集中所有局部点云的第一法向量以及所述对所述局部点云集进行曲面建模得到弯曲强度的步骤,直至所述局部点云集的参数满足所述预设最佳条件;
若所述局部点云集的参数满足所述预设最佳条件,则继续执行将所述第一法向量封装至对应的所述特征信息中的步骤;
将所述第一法向量封装至对应的所述特征信息中。
2.如权利要求1所述的方法,其特征在于,所述基于所述示教点位信息、所述手眼标定矩阵以及所述配准矩阵,确定目标点的位姿信息,包括:
基于所述示教点位信息以及所述配准矩阵,确定所述目标点的位置信息;
基于所述示教点位信息、所述手眼标定矩阵以及所述配准矩阵,确定目标点云信息;
基于搜索树算法确定所述目标点在所述目标点云信息的目标法向量;
基于所述目标法向量确定所述目标点的姿态信息;
将所述位置信息以及所述姿态信息封装至所述位姿信息中。
3.如权利要求2所述的方法,其特征在于,所述基于所述位姿信息,控制所述机器末端对所述目标点进行动态跟随,包括:
获取所述工件的线速度以及线加速度;
基于所述位置信息与所述机器末端的距离导入时间预测模型,输出预测时间;
基于所述位置信息、所述线速度、所述线加速度以及所述预测时间,计算得到目标点实时信息;
基于所述目标点实时信息以及所述线速度,通过逆运动学解算模型,得到所述机器末端各个关节的目标信息;
基于所述目标信息控制各个所述关节运动至所述目标信息对应的位置上。
4.如权利要求3所述的方法,其特征在于,所述基于所述目标信息控制各个所述关节运动至所述目标信息对应的位置上,包括:
基于所述目标信息确定所述关节的目标速度矢量;
获取所述关节的初始位置以及初始速度矢量;
预设最大加减速度,基于所述初始位置、所述初始速度矢量、所述目标信息、所述目标速度矢量,进行关节轨迹规划,得到所述关节对应的关节轨迹;
将所述关节轨迹转换为所述关节的脉冲数据;
基于所述脉冲数据控制所述关节运动至所述目标信息对应的位置上。
5.一种基于智能机器人的机器末端的动态跟随装置,其特征在于,包括:
数据准备模块,用于获取关于工件的模板点云集以及所述工件的示教点位信息,确定手眼标定矩阵;
三维建模模块,用于获取关于所述工件位于工件位置的工件图像,基于所述工件图像对所述工件进行三维建模,得到关于所述工件的初始点云集;
点云配准模块,用于基于所述模板点云集以及所述初始点云集得到配准矩阵;
位姿信息确定模块,用于基于所述示教点位信息、所述手眼标定矩阵以及所述配准矩阵,确定目标点的位姿信息;
动态跟随模块,用于基于所述位姿信息,控制所述机器末端对所述目标点进行动态跟随;
基于所述模板点云集以及所述初始点云集得到配准矩阵,包括:
对所述模板点云集以及所述初始点云集进行特征提取,得到对应的特征信息;
基于所述模板点云集以及所述初始点云集的特征信息进行点云粗配准,得到粗配准矩阵;
对所述模板点云集以及所述初始点云集进行精细化操作,得到精模板点云集以及精初始点云集;
以所述粗配准矩阵为初始矩阵,对所述精模板点云集以及所述精初始点云集进行精点云迭代匹配,得到所述配准矩阵;
对所述模板点云集以及所述初始点云集进行特征提取,得到对应的特征信息,包括:
对所述模板点云集以及所述初始点云集进行滤波处理;
基于搜索树算法,对滤波处理后的所述模板点云集以及所述初始点云集建立对应的局部点云集;
计算得到所述局部点云集中所有局部点云的第一法向量;
对所述局部点云集进行曲面建模,得到弯曲强度;
若所述局部点云集的参数不满足预设最佳条件,则重复所述基于搜索树算法对滤波处理后的所述模板点云集以及所述初始点云集建立对应的局部点云集、所述计算得到所述局部点云集中所有局部点云的第一法向量以及所述对所述局部点云集进行曲面建模得到弯曲强度的步骤,直至所述局部点云集的参数满足所述预设最佳条件;
若所述局部点云集的参数满足所述预设最佳条件,则继续执行将所述第一法向量封装至对应的所述特征信息中的步骤;
将所述第一法向量封装至对应的所述特征信息中。
6.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的方法。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410132630.8A CN117798933B (zh) | 2024-01-30 | 2024-01-30 | 一种基于智能机器人的机器末端的动态跟随方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410132630.8A CN117798933B (zh) | 2024-01-30 | 2024-01-30 | 一种基于智能机器人的机器末端的动态跟随方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117798933A CN117798933A (zh) | 2024-04-02 |
CN117798933B true CN117798933B (zh) | 2024-06-07 |
Family
ID=90427610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410132630.8A Active CN117798933B (zh) | 2024-01-30 | 2024-01-30 | 一种基于智能机器人的机器末端的动态跟随方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117798933B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107886529A (zh) * | 2017-12-06 | 2018-04-06 | 重庆理工大学 | 一种用于三维重建的点云配准方法 |
CN113205547A (zh) * | 2021-03-18 | 2021-08-03 | 北京长木谷医疗科技有限公司 | 点云配准方法、骨头配准方法、装置、设备及存储介质 |
CN115770989A (zh) * | 2022-12-21 | 2023-03-10 | 上海交通大学 | 3d相机点云配准的焊接工件初定位***和方法 |
WO2023060926A1 (zh) * | 2021-10-14 | 2023-04-20 | 五邑大学 | 一种基于3d光栅引导机器人定位抓取的方法、装置及设备 |
CN116030135A (zh) * | 2023-03-29 | 2023-04-28 | 青岛大学附属医院 | 远程手术中的实时姿态测量*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7309592B2 (ja) * | 2019-12-16 | 2023-07-18 | 川崎重工業株式会社 | ロボット曲面倣い制御方法 |
-
2024
- 2024-01-30 CN CN202410132630.8A patent/CN117798933B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107886529A (zh) * | 2017-12-06 | 2018-04-06 | 重庆理工大学 | 一种用于三维重建的点云配准方法 |
CN113205547A (zh) * | 2021-03-18 | 2021-08-03 | 北京长木谷医疗科技有限公司 | 点云配准方法、骨头配准方法、装置、设备及存储介质 |
WO2023060926A1 (zh) * | 2021-10-14 | 2023-04-20 | 五邑大学 | 一种基于3d光栅引导机器人定位抓取的方法、装置及设备 |
CN115770989A (zh) * | 2022-12-21 | 2023-03-10 | 上海交通大学 | 3d相机点云配准的焊接工件初定位***和方法 |
CN116030135A (zh) * | 2023-03-29 | 2023-04-28 | 青岛大学附属医院 | 远程手术中的实时姿态测量*** |
Also Published As
Publication number | Publication date |
---|---|
CN117798933A (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110210417B (zh) | 一种行人运动轨迹的预测方法、终端及可读存储介质 | |
CN109755995B (zh) | 基于ros机器人操作***的机器人自动充电对接方法 | |
US11833692B2 (en) | Method and device for controlling arm of robot | |
US20210197384A1 (en) | Robot control method and apparatus and robot using the same | |
CN111612841A (zh) | 目标定位方法及装置、移动机器人及可读存储介质 | |
CN112336342B (zh) | 手部关键点检测方法、装置及终端设备 | |
KR20220062622A (ko) | 데이터 처리 방법 및 관련 장치 | |
CN112198878B (zh) | 一种即时地图构建方法、装置、机器人及存储介质 | |
CN115810133B (zh) | 基于图像处理和点云处理的焊接控制方法及相关设备 | |
CN114227685A (zh) | 机械臂控制方法、装置、计算机可读存储介质及机械臂 | |
CN115563732A (zh) | 基于虚拟现实的喷涂轨迹仿真优化方法及装置 | |
US11034028B2 (en) | Pose determining method for mobile robot and apparatus and mobile robot thereof | |
CN113172636B (zh) | 一种自动手眼标定方法、装置及存储介质 | |
JP2730457B2 (ja) | 視覚に基く三次元位置および姿勢の認識方法ならびに視覚に基く三次元位置および姿勢の認識装置 | |
CN110673607A (zh) | 动态场景下的特征点提取方法、装置、及终端设备 | |
CN114593735A (zh) | 一种位姿预测方法及装置 | |
CN117798933B (zh) | 一种基于智能机器人的机器末端的动态跟随方法及装置 | |
JP2778430B2 (ja) | 視覚に基く三次元位置および姿勢の認識方法ならびに視覚に基く三次元位置および姿勢の認識装置 | |
CN112097772A (zh) | 机器人及其地图构建方法和装置 | |
CN113793371B (zh) | 目标分割追踪方法、装置、电子设备和存储介质 | |
JP3326851B2 (ja) | 視覚に基く三次元位置および姿勢の認識方法とその装置 | |
CN115589528A (zh) | 一种移动目标跟踪方法及相关装置 | |
JP3208900B2 (ja) | 視覚に基く三次元位置および姿勢の認識方法とその装置 | |
CN113763400A (zh) | 一种机器人视觉导引方法、装置、设备及存储介质 | |
CN112975941A (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 |