CN117207200B - 机械臂的工作空间生成方法、装置和计算机设备 - Google Patents
机械臂的工作空间生成方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN117207200B CN117207200B CN202311481517.2A CN202311481517A CN117207200B CN 117207200 B CN117207200 B CN 117207200B CN 202311481517 A CN202311481517 A CN 202311481517A CN 117207200 B CN117207200 B CN 117207200B
- Authority
- CN
- China
- Prior art keywords
- joint
- initial
- motion equation
- boundary
- candidate
- 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 48
- 239000011159 matrix material Substances 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 55
- 239000012636 effector Substances 0.000 claims abstract description 34
- 238000005070 sampling Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 11
- 238000010845 search algorithm Methods 0.000 claims description 10
- 238000013519 translation Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 101100163433 Drosophila melanogaster armi gene Proteins 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012804 iterative process Methods 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
- 239000003973 paint Substances 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- 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
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本申请涉及一种机械臂的工作空间生成方法、装置和计算机设备。包括:确定机械臂中各关节的关节特性;关节特性包括旋转矩阵和关节位置;根据旋转矩阵和关节位置,确定初始运动方程,并对初始运动方程进行迭代处理,得到机械臂中的末端执行器的目标运动方程;确定初始运动方程中的初始边界点,并对初始边界点进行迭代处理,得到目标运动方程对应的目标边界。采用本方法能够准确地得到机械臂所能到达的工作空间的边界。
Description
技术领域
本申请涉及自动控制技术领域,特别是涉及一种机械臂的工作空间生成方法、装置和计算机设备。
背景技术
随着自动控制技术的不断发展,机器人被广泛应用于各行各业,在应用机器人的各种场景和任务中,对机械臂的末端执行器需要到达的位置、姿态有着不同的要求。传统的做法是预先估计在满足任务要求的前提下机械臂的末端执行器的活动范围,但存在机械臂的末端执行器不能完全满足任务要求的可能。由于不能确定一个机械臂是否能够满足某个任务的要求,在部署完成机械臂后,任需要通过人工走点的形式进行全流程测试。
现有技术中也有采用在机械臂关节空间中采样后,进行正向运动学的计算求解出笛卡尔空间中机械臂末端执行器工作空间的方法,这样的方法只适用于具有较少关节的机械臂,对于多关节的机械臂需要进行极大量的计算且存在大量冗余的计算等问题。因此,如何进行对不同关节的机械臂的工作空间进行准确规划是现阶段要解决的问题。
发明内容
基于此,本申请目的在于提供一种准确地生成机械臂的工作空间的方法、装置和计算机设备,来解决上述背景技术中提及的技术问题。
第一方面,本申请提供了一种机械臂的工作空间生成方法。包括:
确定机械臂中各关节的关节特性;关节特性包括旋转矩阵和关节位置;
根据旋转矩阵和关节位置,确定初始运动方程,并对初始运动方程进行迭代处理,得到机械臂中的末端执行器的目标运动方程;
确定初始运动方程中的初始边界点,对初始边界点进行迭代处理,得到目标运动方程对应的目标边界;目标边界表征机械臂所能到达的工作空间的边界。
在一个实施例中,根据旋转矩阵和关节位置,确定初始运动方程,包括:确定多个关节中的初始关节,并确定初始关节的上一相邻关节的坐标系相对于初始关节的坐标系的相邻关节位置;确定初始关节的坐标系相对于下一相邻关节的坐标系的初始旋转矩阵和初始关节位置;根据相邻关节位置、初始旋转矩阵和初始关节位置,构建初始运动方程。
在一个实施例中,对初始运动方程进行迭代处理,得到机械臂中的末端执行器的目标运动方程,包括:确定多个关节中的第j关节,并确定第j关节的坐标系相对于第j-1关节的坐标系的第j旋转矩阵和第j关节位置;根据第j旋转矩阵和第j关节位置,对初始运动方程进行旋转平移处理,得到第j关节对应的候选运动方程;将第j-1关节作为新的第j关节、将第j-2关节作为新的第j-1关节、将候选运动方程作为新的初始运动方程,并返回至确定第j关节的坐标系相对于第j-1关节的坐标系的第j旋转矩阵和第j关节位置的步骤继续进行,直至得到第1关节对应的候选运动方程;将第1关节对应的候选运动方程,作为机械臂中的末端执行器的目标运动方程。
在一个实施例中,确定初始运动方程中的初始边界点,包括:确定多个关节中的初始关节的关节限位,并在初始关节的关节限位内按照预设步长进行采样,得到多个初始采样值;根据多个初始采样值和初始运动方程,得到多个初始边界点。
在一个实施例中,对初始边界点进行迭代处理,得到目标运动方程对应的目标边界包括:确定初始边界点对应的首个候选运动方程;确定多个关节中的第j关节的关节限位,在第j关节的关节限位内按照预设步长进行采样,得到多个候选采样值;根据候选采样值和首个候选运动方程,得到第j关节对应的候选边界点;对多个候选边界点进行迭代处理,得到目标运动方程的目标边界。
在一个实施例中,对多个候选边界点进行迭代处理,得到目标运动方程对应的目标边界,包括:对多个候选边界点进行切片分组得到多组切片点,并获取第j-1关节对应的候选运动方程;根据多组切片点和第j-1关节对应的候选运动方程,得到第j-1关节对应的多个当前边界点;将当前边界点作为新的候选边界点、将第j-2关节作为新的第j-1关节,并返回至对多个候选边界点进行切片分组得到多组切片点,并获取第j-1关节对应的候选运动方程的步骤继续进行,直至得到第1关节对应的多个当前边界点;基于第1关节对应的多个当前边界点,得到目标运动方程对应的目标边界。
在一个实施例中,根据多组切片点和第j-1关节对应的候选运动方程,得到第j-1关节对应的多个当前边界点,包括:针对每组中的多个切片点,均通过第j-1关节对应的候选运动方程,确定每个切片点各自对应的空间点;空间点包括内部点和边界点;通过预设的检索算法对多个空间点进行遍历,并剔除空间点中的内部点,直至得到第j-1关节对应的多个当前边界点。
第二方面,本申请还提供了一种机械臂的工作空间生成装置。包括:
关节特性确定模块,用于确定机械臂中各关节的关节特性;关节特性包括旋转矩阵和关节位置;
运动方程确定模块,用于根据旋转矩阵和关节位置,确定初始运动方程,并对初始运动方程进行迭代处理,得到机械臂中的末端执行器的目标运动方程;
目标边界确定模块,用于确定初始运动方程中的初始边界点,并对初始边界点进行迭代处理,得到目标运动方程对应的目标边界;目标边界表征机械臂所能到达的工作空间的边界。
第三方面,本申请还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
确定机械臂中各关节的关节特性;关节特性包括旋转矩阵和关节位置;
根据旋转矩阵和关节位置,确定初始运动方程,并对初始运动方程进行迭代处理,得到机械臂中的末端执行器的目标运动方程;
确定初始运动方程中的初始边界点,对初始边界点进行迭代处理,得到目标运动方程对应的目标边界;目标边界表征机械臂所能到达的工作空间的边界。
第四方面,本申请还提供了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
确定机械臂中各关节的关节特性;关节特性包括旋转矩阵和关节位置;
根据旋转矩阵和关节位置,确定初始运动方程,并对初始运动方程进行迭代处理,得到机械臂中的末端执行器的目标运动方程;
确定初始运动方程中的初始边界点,对初始边界点进行迭代处理,得到目标运动方程对应的目标边界;目标边界表征机械臂所能到达的工作空间的边界。
上述机械臂的工作空间生成方法、装置、计算机设备和可读存储介质,通过确定机械臂中各关节的关节特性,进而得到关节特性包括的旋转矩阵和关节位置;接着根据旋转矩阵和关节位置,先确定出初始运动方程,再对初始运动方程进行迭代处理,便可得到机械臂中的末端执行器的目标运动方程;通过先确定出初始运动方程中的初始边界点,再对初始边界点进行迭代处理,便可得到目标运动方程对应的目标边界。由于是先基于对初始运动方程的迭代处理,确定出末端执行器的目标运动方程,再基于对初始边界点的迭代处理,使得最后得到的目标边界更加准确,且不用再通过正向运动学进行坐标转换,避免了传统方案中存在大量冗余的计算的问题。
此外,由于直接基于机械臂的关节特性,便可确定不同数量关节的机械臂在满足任务要求下能够实现的所有位姿的边界,使得布局机器人产线的工作就被简化成确定机械臂的工作空间的过程,如此,自动化场景的产线布局工作就能够被极大的简化,并且产线布局的准确性能够被很大的提高。
附图说明
图1为一个实施例中机械臂的工作空间生成方法的应用环境图;
图2为一个实施例中机械臂的工作空间生成方法的流程示意图;
图3为一个实施例中机械臂的抽象化模型的结构示意图;
图4为一个实施例中机械臂所能到达的工作空间的边界效果示意图;
图5为一个实施例中初始运动方程的初始边界点的效果图;
图6为一个实施例中候选运动方程的候选边界点的效果图;
图7为一个实施例中确定目标边界的流程示意图;
图8为一个实施例中候选运动方程的当前边界点的效果图;
图9为一个实施例中候选运动方程的当前边界点的效果图;
图10为一个实施例中机械臂所能到达的工作空间的效果图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的机械臂的工作空间生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102可为包括不同关节的机械臂。服务器104用于确定机械臂中各关节的关节特性;根据旋转矩阵和关节位置,确定初始运动方程,并对初始运动方程进行迭代处理,得到机械臂中的末端执行器的目标运动方程。服务器104还用于确定初始运动方程中的初始边界点,并对初始边界点进行迭代处理,得到目标运动方程对应的目标边界,以使得终端102按照目标边界确定所能运动到的工作空间的边界。服务器104用于控制机械臂运动,可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种机械臂的工作空间生成方法,以该方法应用于图1中的服务器,包括以下步骤:
步骤202,确定机械臂中各关节的关节特性。
其中,关节特性包括旋转矩阵和关节位置;机械臂可为用于任意关节数量的机械臂型机器人,包括但不限于一种六轴机械臂。
具体地,服务器响应于用户的触发操作,对机械臂进行抽象化建模处理,得到机械臂的抽象化模型。如图3所示,图3提供了一种机械臂的抽象化模型的结构示意图。服务器通过将机械臂的所有关节轴抽象化为由点和线段构成的抽象化模型,也即每个关节包括关节点和关节臂,如为分别在机械臂的六个关节上的关节点,每个关节点对应的坐标系的X轴在机械臂基坐标系下的定义为,i=1…6,i表示机械臂的第i关节,每个关节点对应的坐标系的Y轴在机械臂基坐标系下的定义为,每个关节点对应的坐标系的Z轴在机械臂基坐标系下的定义为。机械臂基坐标系定义在第一个关节的底部,可视作第0关节P0,其对应的坐标系的X, Y, Z轴分别为。为各关节处的关节臂的长度。容易理解地,对应的坐标系的姿态会受到其他关节运动的影响。
其中,末端执行器是安装在关节末端的执行部件,也即机械臂的末端执行器的坐标系定义在关节点处,也即第6关节处。末端执行器包括不仅限于为多手指的机械爪、喷漆枪、焊具等作业工具,但为了简化本实施例算法,可以只考虑没有安装抓手的情况,也即末端执行器和机械臂末端法兰的中心点重合的情况。
步骤204,根据旋转矩阵和关节位置,确定初始运动方程,并对初始运动方程进行迭代处理,得到机械臂中的末端执行器的目标运动方程。
在一个实施例中,根据旋转矩阵和关节位置,确定初始运动方程,包括:确定多个关节中的初始关节,并确定初始关节的上一相邻关节的坐标系相对于初始关节的坐标系的相邻关节位置;确定初始关节的坐标系相对于下一相邻关节的坐标系的初始旋转矩阵和初始关节位置;根据相邻关节位置、初始旋转矩阵和初始关节位置,构建初始运动方程。
其中,初始关节根据机械臂的关节轴数量确定得到,例如为六轴机械臂,则初始关节为第5关节,上一相邻关节为第6关节,下一相邻关节为第4关节。
具体地,服务器确定上一相邻关节的坐标系相对于初始关节的坐标系的相邻关节位置,也即第6关节相对于第5关节处的坐标系的相邻关节位置。同样,服务器确定初始关节的坐标系相对于下一相邻关节的坐标系的初始旋转矩阵和初始关节位置,也即第5关节处的坐标系相对于第4关节处的坐标系的初始旋转矩阵和初始关节位置,其中的初始旋转矩阵反映了机械臂的第5关节的旋转运动。服务器可按照的方式,来对相邻关节位置、初始旋转矩阵和初始关节位置进行处理,进而构建初始运动方程。
在一个实施例中,初始运动方程进行迭代处理,得到机械臂中的末端执行器的目标运动方程,包括:确定多个关节中的第j关节,并确定第j关节的坐标系相对于第j-1关节的坐标系的第j旋转矩阵和第j关节位置;根据第j旋转矩阵和第j关节位置,对初始运动方程进行旋转平移处理,得到第j关节对应的候选运动方程;将第j-1关节作为新的第j关节、将第j-2关节作为新的第j-1关节、将候选运动方程作为新的初始运动方程,并返回至确定第j关节的坐标系相对于第j-1关节的坐标系的第j旋转矩阵和第j关节位置的步骤继续进行,直至得到第1关节对应的候选运动方程;将第1关节对应的候选运动方程,作为机械臂中的末端执行器的目标运动方程。
其中,第j关节可根据初始关节确定得到,也即可根据机械臂的关节轴数量确定得到,例如初始关节为第5关节,则第j关节中的j为小于等于的4正整数。
具体地,服务器首先确定j可选取的最大值,例如j=4,进而确定第j关节的坐标系相对于第j-1关节的坐标系的第j旋转矩阵和第j关节位置,也即表示第4关节处的坐标系相对于第3关节处的坐标系的第4旋转矩阵和第4关节位置。服务器按照第j旋转矩阵,先对初始运动方程进行旋转处理,再按照第j关节位置,对初始运动方程进行平移处理,得到第j关节对应的候选运动方程,也即第4关节对应的候选运动方程为。
同样地,服务器对第4关节对应的候选运动方程进行迭代处理,得到第3关节处的坐标系相对于第2关节处的坐标系的第3旋转矩阵和第3关节位置,并得到第3关节对应的候选运动方程为。服务器再对第3关节对应的候选运动方程进行迭代处理,得到第2关节处的坐标系相对于第1关节处的坐标系的第2旋转矩阵和第2关节位置,并得到第2关节对应的候选运动方程为。服务器再对第2关节对应的候选运动方程进行迭代处理,得到第1关节处的坐标系相对于第0关节P0处的坐标系的第1旋转矩阵和第1关节位置,进而得到第1关节对应的候选运动方程为。
其中,第4旋转矩阵反映了机械臂第4关节的旋转运动,第3旋转矩阵反映了机械臂第3关节的旋转运动,第2旋转矩阵反映了机械臂第2关节的旋转运动,第1旋转矩阵反映了机械臂第1关节的旋转运动。
接着,服务器将目标运动方程由末端执行器的位置进行表示,并将第1关节对应的候选运动方程,作为机械臂中的末端执行器的目标运动方程,也即得到目标运动方程为。
在本实施例中,通过对初始运动方程进行旋转平移处理,进而确定出第j关节对应的候选运动方程,使得在候选运动方程的基础上进行多次迭代处理,便可得到准确的机械臂中的末端执行器的目标运动方程。实现不同关节候选运动方程的迭代处理,确定出末端执行器的目标运动方程,再基于对初始边界点的迭代处理,使得最后得到的目标边界更加准确,避免了传统方案中要进工作空间转换时造成数据计算量大的问题。
步骤206,确定初始运动方程中的初始边界点,并对初始边界点进行迭代处理,得到目标运动方程对应的目标边界。
其中,目标边界表征机械臂所能到达的工作空间的边界。如图4所示,图4为机械臂所能到达的工作空间的边界效果示意图。
具体地,从前述的初始运动方程、候选运动方程以及目标运动方程中可以看出,机械臂的末端执行器的位置是由候选运动方程经过平移和旋转的变换,也即经过刚性变换之后得到的,此时可将候选运动方程视作一种集合。根据集合论中的基本定理,刚性变换不会改变一个集合的几何形状,所以机械臂的末端执行器的位置的目标边界可用表示,且一定是从候选运动方程的边界点中得到的。同理可知,候选运动方程的边界点是从候选运动方程的边界点中得到的,候选运动方程的边界点是由候选运动方程的边界点得到的,候选运动方程的边界点是由初始运动方程的初始边界点得到的。服务器在初始运动方程中的初始边界点的基础上进行迭代处理,得到候选运动方程的边界点,接着在候选运动方程的边界点的基础上进行不断地进行迭代处理,直至得到目标运动方程对应的目标边界。
上述机械臂的工作空间生成方法中,通过确定机械臂中各关节的关节特性,进而得到关节特性包括的旋转矩阵和关节位置;接着根据旋转矩阵和关节位置,先确定出初始运动方程,再对初始运动方程进行迭代处理,便可得到机械臂中的末端执行器的目标运动方程;通过先确定出初始运动方程中的初始边界点,再对初始边界点进行迭代处理,便可得到目标运动方程对应的目标边界。由于是先基于对初始运动方程的迭代处理,确定出末端执行器的目标运动方程,再基于对初始边界点的迭代处理,使得最后得到的目标边界更加准确,且不用再通过正向运动学进行坐标转换,避免了传统方案中存在大量冗余的计算的问题。
在一个实施例中,确定初始运动方程中的初始边界点包括:确定多个关节中的初始关节的关节限位,并在初始关节的关节限位内按照预设步长进行采样,得到多个初始采样值;根据多个初始采样值和初始运动方程,得到多个初始边界点。
具体地,当机械臂为六轴机械臂时,确定初始运动方程中的初始边界点的过程,即为确定初始运动方程中的初始边界点的过程。其中,根据集合论中的基本定理,刚性变换不会改变一个集合的几何形状,参考图3所示,可以具象化地描述的生成过程:在第4关节坐标系下,坐标为的点先绕Y轴旋转,再沿着X轴平移。也即通过如下表示:
;
其中,初始运动方程的几何形状表示在坐标系下的XZ平面内的一个圆周的一部分。所以,在三维空间中,初始运动方程的所有点即为其边界点。因此,在初始关节为第5关节时,服务器便可在第5关节的关节限位内,按照预设步长进行均匀采样,得到多个初始采样值,并将多个初始采样值带入至初始运动方程,便可求得初始运动方程对应的多个初始边界点。如图5所示,图5为初始运动方程的初始边界点的效果图。
在本实施例中,通过确定第5关节的关节限位内的多个初始采样值,并结合初始运动方程的几何形状,便可在将初始采样值带入至初始运动方程时,准确得到基于几何算法的多个初始边界点。
在一个实施例中,对初始边界点进行迭代处理,得到目标运动方程对应的目标边界,包括:确定初始边界点对应的首个候选运动方程;确定多个关节中的第j关节的关节限位,并在第j关节的关节限位内按照预设步长进行采样,得到多个候选采样值;根据多个候选采样值和首个候选运动方程,得到第j关节对应的多个候选边界点;对多个候选边界点进行迭代处理,得到目标运动方程的目标边界。
具体地,通过前述可知初始关节为第5关节,则第j关节中的j为小于等于4的正整数,当服务器首先确定j可选取的最大值为4时,确定初始边界点对应的首个候选运动方程则为第4关节对应的候选运动方程。服务器可在第4关节的关节限位内,按照预设步长进行均匀采样,得到多个候选采样值,并将多个候选采样值带入至首个候选运动方程,便可得到第4关节对应的多个候选边界点。如图6所示,图6为候选运动方程的候选边界点的效果图。接着,服务器在候选运动方程的多个候选边界点的基础上进行迭代处理,直至得到目标运动方程的目标边界。
其中,参考图3所示,根据集合论中的基本定理,刚性变换不会改变一个集合的几何形状,可以具象化地描述的生成过程:候选运动方程上的初始边界点先绕着第3关节坐标系的X轴旋转一定的角度,再沿着第4关节坐标系的X轴和Z轴分别平移和的距离,也即通过如下表示:
;
其中,由于候选运动方程的几何形状是一个圆球表面的一部分,所以在三维空间中,候选运动方程的所有点即为其边界点。
在本实施例中,通过将集合论中的基本定理和候选运动方程的几何形状相结合,在确定第j关节的关节限位内的候选采样值时,结合首个候选运动方程的几何形状,便可根据候选采样值和首个候选运动方程,准确得到第j关节对应的多个候选边界点,进而实现对多个候选边界点进行迭代处理。
在一个实施例中,如图7所示,图7提供了一种确定目标边界的流程示意图。多个候选边界点进行迭代处理,得到目标运动方程对应的目标边界,包括:
步骤702,对多个候选边界点进行切片分组得到多组切片点,并获取第j-1关节对应的候选运动方程。
具体地,当多个候选边界点为候选运动方程对应的多个候选边界点时,也即由前述可知候选运动方程是对应于第4关节,也即此时的j为4,因此服务器需获取第3关节对应的候选运动方程。服务器将候选运动方程对应的多个候选边界点沿着第2关节坐标系Y轴进行切片分组,得到多组切片点,并对每组切片点再进行接下来的处理。
步骤704,根据多组切片点和第j-1关节对应的候选运动方程,得到第j-1关节对应的多个当前边界点。
具体地,当j为4时,针对每组中的多个切片点,服务器均可通过第3关节对应的候选运动方程,确定每个切片点各自对应的空间点。参考图3所示,可以具象化地描述的生成过程:候选运动方程对应的多个候选边界点先绕第2关节坐标系的Y轴旋转一定的角度,再沿着第2关节坐标系的X轴和Z轴分别平移和的距离。也即通过如下表示:
;
其中,由于候选运动方程的几何形状是球面的一部分,所以候选运动方程在围绕Y轴转动时生成的几何形状是一个复杂的三维结构,包含边界点和大量的内部点,因此需要对生成的候选运动方程进行边界点分离。
在一个实施例中,根据多组切片点和第j-1关节对应的候选运动方程,得到第j-1关节对应的多个当前边界点,包括:针对每组中的多个切片点,均通过第j-1关节对应的候选运动方程,确定每个切片点各自对应的空间点;通过预设的检索算法对多个空间点进行遍历,并剔除空间点中的内部点,直至得到第j-1关节对应的多个当前边界点。
其中,空间点包括内部点和边界点;检索算法包括AlphaShape算法。
具体地,当j为4时,对于每组中的多个切片点,服务器利用候选运动方程计算出所有的空间点。由于候选运动方程对应的多个候选边界点是围绕第2关节坐标系的Y轴进行的旋转,所以所有生成的空间点都在XZ平面内。在XZ平面内,服务器使用预设的检索算法找到所有的边界点,并剔除空间点中的内部点,使得找到的所有边界点构成了候选运动方程的当前边界点。由于所有生成的空间点都是XZ平面内的二维边界点,使得检索算法的鲁棒性非常强。如图8所示,图8为候选运动方程的当前边界点的效果图。
步骤706,将当前边界点作为新的候选边界点、将第j-2关节作为新的第j-1关节,并返回至对多个候选边界点进行切片分组得到多组切片点,并获取第j-1关节对应的候选运动方程的步骤继续进行,直至得到第1关节对应的多个当前边界点。
步骤708,基于第1关节对应的多个当前边界点,得到目标运动方程对应的目标边界。
具体地,j为3时可参考上述过程,也即当新的候选边界点为候选运动方程对应的当前边界点时,此时服务器需获取第2关节对应的候选运动方程。服务器将候选运动方程对应的多个当前边界点沿着第1关节坐标系的Y轴进行切片分组,得到多组切片点。针对每组中的多个切片点,服务器均可通过第2关节对应的候选运动方程,确定每个切片点各自对应的空间点。参考图3所示,根据集合论中的基本定理,刚性变换不会改变一个集合的几何形状,可以具象化地描述的生成过程:候选运动方程的当前边界点先绕着第1关节坐标系的Y轴旋转一定的角度,再沿着第1关节坐标系的X轴和Z轴分别平移和的距离。也即通过如下表示:
;
其中,由于候选运动方程的几何形状是一个复杂的三维几何形状,所以在围绕第1关节坐标系的Y轴转动时生成的几何形状也是一个复杂的三维结构,包含边界点和大量的内部点,因此需要对生成的候选运动方程进行边界点分离。
进一步地,当j为3时,对于每组中的多个切片点,服务器利用候选运动方程计算出所有的空间点。候选运动方程对应的多个当前边界点沿着第1关节坐标系的Y轴进行旋转,所有生成的空间点都在XZ平面内。在XZ平面内,服务器使用预设的检索算法找到所有的边界点,并剔除空间点中的内部点,使得找到的所有边界点就构成了候选运动方程的当前边界点。由于所有生成的空间点都是XZ平面内的二维边界点,使得检索算法的鲁棒性非常强。如图9所示,图9为候选运动方程的当前边界点的效果图。
同样地,j为2时可参考上述过程,也即当新的候选边界点为候选运动方程对应的当前边界点时,此时服务器需获取第1关节对应的目标运动方程,也即末端执行器的位置。服务器将候选运动方程对应的多个候选边界点沿着机械臂基坐标系的Y轴进行切片分组,得到多组切片点。针对每组中的多个切片点,服务器均可通过第1关节对应的目标运动方程,确定每个切片点各自对应的空间点。参考图3所示,根据集合论中的基本定理,刚性变换不会改变一个集合的几何形状,可以具象化地描述的生成过程:候选运动方程的当前边界点绕着机械臂基坐标系的Z轴旋转一定的角度得到。也即通过如下表示:
;
其中,由于候选运动方程的几何形状是一个复杂的三维结构,所以候选运动方程在围绕机械臂基坐标系的Z轴转动时生成的几何形状是也一个复杂的三维结构,因此需要对生成的目标运动方程进行边界点分离。进一步地,当j为2时,对于每组中的多个切片点,服务器利用目标运动方程计算出所有的空间点。由于候选运动方程的当前边界点是绕着机械臂基坐标系的Z轴进行旋转,所有生成的空间点都在XZ平面内。在XZ平面内,服务器使用预设的检索算法找到所有的边界点,并剔除空间点中的内部点,使得找到的所有边界点就构成了目标运动方程的当前边界点,综合所有当前边界点,便得到目标运动方程对应的目标边界。如图10所示,图10为机械臂所能到达的工作空间的效果图。
在本实施例中,通过对多个候选边界点进行切片分组,并结合第j-1关节对应的候选运动方程,实现了对候选边界点的多次迭代处理,进而准确得到目标运动方程对应的目标边界。同时,由于可直接通过检索算法找到所有的边界点,而不用将空间点中的内部点参与工作空间的计算,降低了数据的计算量,也提高了机械臂所能到达的工作空间的规划效率。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的机械臂的工作空间生成方法的机械臂的工作空间生成装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个机械臂的工作空间生成装置实施例中的具体限定可以参见上文中对于机械臂的工作空间生成方法的限定,在此不再赘述。
在一个实施例中,提供了一种机械臂的工作空间生成装置,包括:点关节特性确定模块、运动方程确定模块和目标边界确定模块,其中:
关节特性确定模块,用于确定机械臂中各关节的关节特性;关节特性包括旋转矩阵和关节位置。
运动方程确定模块,用于根据旋转矩阵和关节位置,确定初始运动方程,并对初始运动方程进行迭代处理,得到机械臂中的末端执行器的目标运动方程。
目标边界确定模块,用于确定初始运动方程中的初始边界点,并对初始边界点进行迭代处理,得到目标运动方程对应的目标边界;目标边界表征机械臂所能到达的工作空间的边界。
上述机械臂的工作空间生成中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括处理器、存储器、输入/输出接口(Jnput/Output,简称J/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储关节特性。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种机械臂的工作空间生成方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresjstjve Random Access Memory,MRAM)、铁电存储器(FerroelectrjcRandom Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StatjcRandom Access Memory,SRAM)或动态随机存取存储器(Dynamjc Random Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (8)
1.一种机械臂的工作空间生成方法,其特征在于,所述方法包括:
确定机械臂中各关节的关节特性;所述关节特性包括旋转矩阵和关节位置;
根据所述旋转矩阵和所述关节位置,确定初始运动方程,并对所述初始运动方程进行迭代处理,得到所述机械臂中的末端执行器的目标运动方程;包括:确定多个关节中的第j关节,并确定第j关节的坐标系相对于第j-1关节的坐标系的第j旋转矩阵和第j关节位置;根据第j旋转矩阵和第j关节位置,对初始运动方程进行旋转平移处理,得到第j关节对应的候选运动方程;将第j-1关节作为新的第j关节、将第j-2关节作为新的第j-1关节、将候选运动方程作为新的初始运动方程,并返回至确定第j关节的坐标系相对于第j-1关节的坐标系的第j旋转矩阵和第j关节位置的步骤继续进行,直至得到第1关节对应的候选运动方程;将第1关节对应的候选运动方程,作为机械臂中的末端执行器的目标运动方程;
确定所述初始运动方程中的初始边界点,并对所述初始边界点进行迭代处理,得到所述目标运动方程对应的目标边界;所述目标边界表征所述机械臂所能到达的工作空间的边界;包括:确定初始边界点对应的首个候选运动方程;确定多个关节中的第j关节的关节限位,并在第j关节的关节限位内按照预设步长进行采样,得到多个候选采样值;根据多个候选采样值和首个候选运动方程,得到第j关节对应的多个候选边界点;对多个候选边界点进行迭代处理,得到目标运动方程的目标边界。
2.根据权利要求1所述的方法,其特征在于,所述根据所述旋转矩阵和所述关节位置,确定初始运动方程,包括:
确定多个所述关节中的初始关节,并确定所述初始关节的上一相邻关节的坐标系相对于所述初始关节的坐标系的相邻关节位置;
确定所述初始关节的坐标系相对于下一相邻关节的坐标系的初始旋转矩阵和初始关节位置;
根据所述相邻关节位置、所述初始旋转矩阵和所述初始关节位置,构建初始运动方程。
3.根据权利要求1所述的方法,其特征在于,所述确定所述初始运动方程中的初始边界点,包括:
确定多个所述关节中的初始关节的关节限位,并在所述初始关节的关节限位内按照预设步长进行采样,得到多个初始采样值;
根据多个所述初始采样值和所述初始运动方程,得到多个初始边界点。
4.根据权利要求1所述的方法,其特征在于,所述对多个所述候选边界点进行迭代处理,得到所述目标运动方程对应的目标边界,包括:
对多个所述候选边界点进行切片分组得到多组切片点,并获取第j-1关节对应的候选运动方程;
根据所述多组切片点和所述第j-1关节对应的候选运动方程,得到所述第j-1关节对应的多个当前边界点;
将所述当前边界点作为新的候选边界点、将第j-2关节作为新的第j-1关节,并返回至对多个所述候选边界点进行切片分组得到多组切片点,并获取第j-1关节对应的候选运动方程的步骤继续进行,直至得到第1关节对应的多个当前边界点;
基于所述第1关节对应的多个当前边界点,得到所述目标运动方程对应的目标边界。
5.根据权利要求4所述的方法,其特征在于,所述根据所述多组切片点和所述第j-1关节对应的候选运动方程,得到所述第j-1关节对应的多个当前边界点,包括:
针对每组中的多个所述切片点,均通过所述第j-1关节对应的候选运动方程,确定每个切片点各自对应的空间点;所述空间点包括内部点和边界点;
通过预设的检索算法对多个所述空间点进行遍历,并剔除所述空间点中的内部点,直至得到所述第j-1关节对应的多个当前边界点。
6.一种机械臂的工作空间生成装置,其特征在于,用于执行权利要求1至5中任一项所述的方法,所述装置包括:
关节特性确定模块,用于确定机械臂中各关节的关节特性;所述关节特性包括旋转矩阵和关节位置;
运动方程确定模块,用于根据所述旋转矩阵和所述关节位置,确定初始运动方程,并对所述初始运动方程进行迭代处理,得到所述机械臂中的末端执行器的目标运动方程;
目标边界确定模块,用于确定所述初始运动方程中的初始边界点,并对所述初始边界点进行迭代处理,得到所述目标运动方程对应的目标边界;所述目标边界表征所述机械臂所能到达的工作空间的边界。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311481517.2A CN117207200B (zh) | 2023-11-09 | 2023-11-09 | 机械臂的工作空间生成方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311481517.2A CN117207200B (zh) | 2023-11-09 | 2023-11-09 | 机械臂的工作空间生成方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117207200A CN117207200A (zh) | 2023-12-12 |
CN117207200B true CN117207200B (zh) | 2024-07-23 |
Family
ID=89037474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311481517.2A Active CN117207200B (zh) | 2023-11-09 | 2023-11-09 | 机械臂的工作空间生成方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117207200B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118219265A (zh) * | 2024-04-09 | 2024-06-21 | 北京纳通医用机器人科技有限公司 | 工作空间确定方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103459101A (zh) * | 2011-03-22 | 2013-12-18 | 哈里公司 | 操纵器关节极限处理算法 |
CN109676606A (zh) * | 2018-12-29 | 2019-04-26 | 深圳前海达闼云端智能科技有限公司 | 一种计算机械臂臂角范围的方法、机械臂及机器人 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4893254A (en) * | 1988-04-20 | 1990-01-09 | University Of British Columbia | Manipulator arm position sensing |
TW201039994A (en) * | 2009-05-08 | 2010-11-16 | Hon Hai Prec Ind Co Ltd | Method for moving a mechanical arm |
CN106456265B (zh) * | 2014-03-17 | 2019-07-30 | 直观外科手术操作公司 | 使用逆运动学在关节极限下的遥控操作手术系统和控制方法 |
CN109822571B (zh) * | 2019-02-18 | 2020-12-08 | 中国铁建重工集团股份有限公司 | 一种拼装机机械臂控制方法、装置及设备 |
CN109895101B (zh) * | 2019-04-09 | 2020-09-11 | 大连理工大学 | 一种关节型机械臂逆运动学数值唯一解求取方法 |
CN112597437B (zh) * | 2020-12-29 | 2022-09-16 | 深圳市优必选科技股份有限公司 | 机械臂的逆运动学解析方法、装置及设备 |
CN115454097A (zh) * | 2022-10-10 | 2022-12-09 | 湖南视比特机器人有限公司 | 基于线性规划的机器人末端执行器工作空间边界生成方法 |
-
2023
- 2023-11-09 CN CN202311481517.2A patent/CN117207200B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103459101A (zh) * | 2011-03-22 | 2013-12-18 | 哈里公司 | 操纵器关节极限处理算法 |
CN109676606A (zh) * | 2018-12-29 | 2019-04-26 | 深圳前海达闼云端智能科技有限公司 | 一种计算机械臂臂角范围的方法、机械臂及机器人 |
Also Published As
Publication number | Publication date |
---|---|
CN117207200A (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108356819B (zh) | 基于改进a*算法的工业机械臂无碰撞路径规划方法 | |
CN117207200B (zh) | 机械臂的工作空间生成方法、装置和计算机设备 | |
CN113715016A (zh) | 一种基于3d视觉的机器人抓取方法、系统、装置及介质 | |
US11673271B2 (en) | Trajectory generation apparatus, multi-link system, and trajectory generation method | |
US11813756B2 (en) | Disassembly based assembly planning | |
CN111123943A (zh) | 一种基于伪逆约束的超冗余机器人轨迹规划方法及系统 | |
CN117182902A (zh) | 一种基于改进快速扩展随机树的机械臂路径规划方法 | |
CN117182932B (zh) | 机械臂避障动作规划方法、装置和计算机设备 | |
CN109807933B (zh) | 一种能力图点云更新方法、装置、设备及存储介质 | |
CN117944025A (zh) | 机器人手眼标定方法、装置、计算机设备和存储介质 | |
CN111709095B (zh) | 一种面向复杂曲面6d虚拟夹具构造方法 | |
Son et al. | A convex programming approach to the base placement of a 6-DOF articulated robot with a spherical wrist | |
CN109366486A (zh) | 柔性机器人逆运动学求解方法、系统、设备、存储介质 | |
CN117047776A (zh) | 一种六自由度机械臂对复杂零件抓取的路径规划方法 | |
CN116038686B (zh) | 机器人奇异点规避方法、装置、计算机设备和存储介质 | |
Zhang et al. | Robot motion planning with orientational constraints based on offline sampling datasets | |
Gueta et al. | Multiple-goal task realization utilizing redundant degrees of freedom of task and tool attachment optimization | |
CN116652972B (zh) | 基于双向贪心搜索算法的串联机器人末端轨迹规划方法 | |
CN117444962A (zh) | 机器人末端控制方法、装置和计算机设备 | |
CN116901073B (zh) | 多机械臂协同轨迹规划方法、装置、电子设备及存储介质 | |
CN114378860B (zh) | 软体机器人操纵器的生成式设计技术 | |
CN114055449B (zh) | 高冗余度蛇形机械臂的末端跟随运动控制方法及装置 | |
Wang et al. | A distributed variable density path search and simplification method for industrial manipulators with end-effector’s attitude constraints | |
CN115979231B (zh) | 一种基于虚拟点位的无量纲运动学标定方法及其相关装置 | |
CN117086879A (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 |