CN116652968A - 多机械臂协同在线仿真方法、装置、电子设备及存储介质 - Google Patents
多机械臂协同在线仿真方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116652968A CN116652968A CN202310904572.1A CN202310904572A CN116652968A CN 116652968 A CN116652968 A CN 116652968A CN 202310904572 A CN202310904572 A CN 202310904572A CN 116652968 A CN116652968 A CN 116652968A
- Authority
- CN
- China
- Prior art keywords
- simulation
- mechanical arm
- data
- motion
- actual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 251
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000003860 storage Methods 0.000 title claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 36
- 239000012636 effector Substances 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 18
- 238000010276 construction Methods 0.000 claims description 9
- 239000011159 matrix material Substances 0.000 description 14
- 230000036544 posture Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 9
- 239000004973 liquid crystal related substance Substances 0.000 description 8
- 238000013507 mapping Methods 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241000254032 Acrididae Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000011664 nicotinic acid Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000001179 sorption measurement Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- 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/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本申请提供一种多机械臂协同在线仿真方法、装置、电子设备及存储介质,其中多机械臂协同在线仿真方法包括:基于实际机械臂,构建包含有仿真机械臂的多机械臂协同仿真模型;获取所述实际机械臂返回的实时运动数据;基于所述实时运动数据,驱动所述仿真机械臂进行实时仿真运动。上述方法采用先基于实际机械臂构建多机械臂协同仿真模型,然后基于实时获取的实际机械臂的运动数据驱动仿真模型进行运动的方式,实现了对多机械臂的协同在线仿真,有利于减少工人的工作量,提高工人的工作效率。
Description
技术领域
本申请涉及智能制造技术领域,具体而言,涉及一种多机械臂协同在线仿真方法、装置、电子设备及存储介质。
背景技术
随着新基建,新能源的不断普及,工业制造对自动化的需求越来越高,多自由度机器人以其自动化、高效化和智能化优势,在柔性制造环节中扮演着重要的地位,应用也越来越广泛。在实际生产过程中所使用的工业机器人虽然可以减少工人的操作步骤,但是依然需要工作留在操作现场进行盯守,并不利于减轻工人的工作量。
发明内容
本申请实施例的目的在于提供一种多机械臂协同在线仿真方法、装置、电子设备及存储介质,用以实现对实际多机械臂的协同在线仿真,以避免工人在现场盯守,提高工人的工作效率。
第一方面,本申请实施例提供一种多机械臂协同在线仿真方法,包括:基于实际机械臂,构建包含有仿真机械臂的多机械臂协同仿真模型;获取所述实际机械臂返回的实时运动数据;基于所述实时运动数据,驱动所述仿真机械臂进行实时仿真运动;所述实时运动数据,包括:所述实际机械臂的运动轨迹坐标数据或轴角度数据;所述驱动所述仿真机械臂进行实时仿真运动,包括:基于所述运动轨迹坐标数据,利用正向运动学算法和逆向运动学算法模型共同解算所述仿真机械臂的运动数据;或者,基于所述轴角度数据,利用正向运动学算法解算所述仿真机械臂的运动数据;所述运动轨迹坐标数据所处坐标系与所述仿真机械臂所处坐标系相同;基于所述仿真机械臂的运动数据,驱动所述仿真机械臂进行仿真运动。
上述方法采用先基于实际机械臂构建多机械臂协同仿真模型,然后基于实时获取的实际机械臂的运动数据驱动仿真模型进行运动的方式,实现了对多机械臂的协同在线仿真,有利于减少工人的工作量,提高工人的工作效率。上述方法所获取的实时运动数据可以为实际机械臂的运动轨迹坐标数据,也可以为实际机械臂的轴角度数据,使得上述多机械臂协同在线仿真方法支持实际机械臂返回的两种实时数据,通过正向运动学算法或者正向运动学算法与逆向运动学算法相结合的方式解算仿真机械臂的运动数据,提高了上述多机械臂协同在线仿真方法的适应性,使其适用于更多的应用场景。
在第一方面的一种实现方式中,多机械臂协同在线仿真方法在所述驱动所述仿真机械臂进行实时仿真运动前,还包括:将所述多机械臂协同仿真模型中的仿真机械臂与所述实际机械臂进行姿态同步。
在第一方面的一种实现方式中,姿态同步,包括:获取所述实际机械臂返回的初始姿态数据;对所述初始姿态数据进行解算,获得所述仿真机械臂的初始姿态数据;基于所述机械臂的初始姿态数据,驱动所述仿真机械臂运动至所述初始姿态。
上述方法通过姿态同步的方式使得仿真机械臂能够实时保持与实际机械臂的姿态同步,提高了对实际机械臂的仿真精度,进一步实现了多机械臂协同在线仿真。
在第一方面的一种实现方式中,构建所述多机械臂协同仿真模型,包括:获取实际机械臂之间的相对位置;基于所述实际机械臂之间的相对位置,确定所述仿真机械臂之间的相对位置;基于所述仿真机械臂之间的相对位置,构建所述多机械臂协同仿真模型。
在第一方面的一种实现方式中,构建所述多机械臂协同仿真模型,包括:获取实际端部执行器与实际机械臂之间的相对位置以及实际机械臂之间的相对位置;
基于所述实际端部执行器与实际机械臂之间的相对位置以及实际机械臂之间的相对位置,确定仿真端部执行器与仿真机械臂之间的相对位置以及仿真机械臂之间的相对位置;
基于所述仿真端部执行器与仿真机械臂之间的相对位置以及仿真机械臂之间的相对位置,构建所述多机械臂协同仿真模型。
上述方法在构建多机械臂协同仿真模型时在多机械臂协同仿真模型中设置仿真机械臂和仿真端部执行器,以使得多机械臂协同仿真模型能够更好地对实际机械臂及其设置在实际机械臂末端的端部执行器进行仿真,进一步实现了多机械臂协同在线仿真。
第二方面,本申请实施例提供一种多机械臂协同在线仿真装置,包括:仿真模型构建模块,用于基于实际机械臂构建包含有仿真机械臂的多机械臂协同仿真模型;数据获取模块,用于获取实际机械臂返回的实时运动数据;仿真运动模块,用于基于实时运动数据,驱动仿真机械臂进行实时仿真运动;所述实时运动数据,包括:所述实际机械臂的运动轨迹坐标数据或轴角度数据;
所述仿真运动模块230具体用于:
基于所述运动轨迹坐标数据,利用正向运动学算法和逆向运动学算法模型共同解算所述仿真机械臂的运动数据;或者,基于所述轴角度数据,利用正向运动学算法解算所述仿真机械臂的运动数据;所述运动轨迹坐标数据所处坐标系与所述仿真机械臂所处坐标系相同;
基于所述仿真机械臂的运动数据,驱动所述仿真机械臂进行仿真运动。
第三方面,本申请实施例提供一种计算机程序产品,包括计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
第五方面,本申请实施例提供一种电子设备,包括:处理器、存储器和通信总线,其中,所述处理器和所述存储器通过所述通信总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的多机械臂协同在线仿真方法的流程示意图;
图2为本申请实施例提供的建立的坐标系的示意图;
图3为本申请实施例提供的逆向运动学算法采用几何解法求解的参考示意图;
图4为本申请实施例提供的多机械臂协同在线仿真装置的结构示意图;
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
在实际生产过程中,虽然使用工业机器人可以减轻工人的操作步骤,但是工人在操作使用工业机器人时,还是需要实时留守在现场进行盯守,以便实时了解工业机器人的具体操作状态是否跟预期规划相符合,从而提高作业安全性。此种方式虽然采用了自动化程度较高的工业机器人,但是依然未减轻工人的工作量,提高工人的工作效率。此外,现阶段工业机器人在工业生产过程中大多数采用的是多机械臂协同作业,而并未有一种针对多机械臂协同控制的实时仿真在线仿真方法能够让工人直接通过观察仿真结果即可了解实际机械臂的工作状态,以提高工人工作效率。
基于上述发现,本申请实施例提供的多机械臂协同在线仿真方法,通过构建多机械臂协同仿真模型,并实时获取实际机械臂返回的参数数据,以实现对实际机械臂的实时在线仿真。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
图1示出了本申请实施例提供的多机械臂协同在线仿真方法的流程示意图,该方法可以但不限于由图5中的电子设备执行,关于该电子设备的结构可参考后文关于图5的阐述。例如,可以在上位机(图5中所示电子设备的一种)上安装在线仿真软件,该软件在对机械臂协同在线仿真时执行图1中的方法。参照图1,该在线仿真方法包括:
步骤S110:基于实际机械臂,构建包含有仿真机械臂的多机械臂协同仿真模型。
将位于存在于物理世界中的实体机械臂称为实际机械臂,将仿真出的虚拟机械臂称为仿真机械臂,即仿真机械臂是对实际机械臂的仿真结果。
本申请实施例中的多机械臂协同仿真模型可以基于实际机械臂之间的相对位置进行构建,构建方法可以为:获取实际机械臂之间的相对位置;基于实际机械臂之间的相对位置,确定仿真机械臂之间的相对位置;基于仿真机械臂之间的相对位置,构建多机械臂协同仿真模型。基于实际机械臂之间相对位置来构建仿真模型的方式,使得仿真模型能够精确反映实际多机械臂的协同工作状态,提高了多机械臂协同仿真模型的仿真精度,进一步实现了多机械臂协同在线仿真。
上述获取实际机械臂之间的相对位置的方法例如:采用高精度扫描仪对实际机械臂进行扫描,从而获得实际机械臂之间的相对位置。
可以理解的是,上述基于实际机械臂之间相对位置的方式仅是一种仿真机械臂的建模方式,仿真机械臂还可以通过点云建模等其他建模方式来进行建模。
本申请实施例中的多机械臂协同仿真模型中还可以设置端部执行器仿真模型,此时,多机械臂协同仿真模型的构建方法可以为:获取实际端部执行器与实际机械臂之间的相对位置以及实际机械臂之间的相对位置;基于实际端部执行器与实际机械臂之间的相对位置以及实际机械臂之间的相对位置,确定仿真端部执行器与仿真机械臂之间的相对位置以及仿真机械臂之间的相对位置;基于仿真端部执行器与仿真机械臂之间的相对位置以及仿真机械臂之间的相对位置,构建多机械臂协同仿真模型。在多机械臂协同仿真模型中设置仿真机械臂和仿真端部执行器,以使得多机械臂协同仿真模型能够更好地对实际机械臂及其设置在实际机械臂末端的端部执行器进行仿真,进一步实现了多机械臂协同在线仿真。
上述端部执行器指的是:机器人末端执行器,是一种用于直接抓握工件或者执行作业的部分,可以为夹钳式取料手,可以为吸附式取料手,也可以为仿生多指灵巧手。
实际操作过程中,在构建多机械臂协同仿真模型前还需要构建单个机械臂的模型,构建方法例如:通过自行绘制或者厂家获取机械臂原始三维模型以及端部执行器三维原始模型;对获取的原始三维模型进行实体转换,将原始三维模型中的实体转换为mesh实体,机械臂的每个轴均采用一个子图层表示;保存转换后的包含有mesh实体的模型;使用仿真软件读取保存后的包含有mesh实体的模型,解析模型图层,完成单个机械臂仿真模型的构建。上述仿真软件可以为grasshopper软件。
在完成单个机械臂仿真模型的构建之后还需要对单个机械臂仿真模型进行参数映射,参数映射方法例如:获取机械臂各轴的DH参数、轴限位、标记名称等;将DH参数、轴限位、标记名称等参数映射至对应的机械臂。
需要指出的是,机器人的每个连杆都可以使用四个参数来描述,即上述DH参数,包括:
连杆长度a,即两个相邻关节轴共垂线的长度;
连杆转角alpha,即两个相邻关节轴的夹角;
连杆偏距d,即沿两个相邻连杆公共轴线方向的距离;
关节角theta,即两个相邻连杆绕公共轴线的夹角。
在完成对每个实际机械臂构建单个机械臂仿真模型后,需要对各单个机械臂仿真模型进行定位,定位方法可以采用坐标系定位的方式,该定位方法例如:
对各单个机械臂仿真模型建立坐标系,所建立的坐标系如图2所示,包括:
Base坐标系,以单个机械臂仿真模型的基座下底面中心点为坐标系原点所构建的坐标系;
Tool坐标系,以端部执行器仿真模型的末端中心点为坐标系原点所构建的坐标系。
Base坐标系和Tool坐标系的坐标点形式均为:(X,Y,Z,A,B,C),其中,X、Y和Z分别为空间位置坐标,A、B和C分别代表沿X轴、Y轴和Z轴的转动角度。
将Base坐标系与单个机械臂仿真模型的底座进行关联,通过欧拉角转换平面算法转换即可获得机械臂的位置。
将其中某个单个机械臂仿真模型的Base1坐标定义为Base(0,0,0,0,0,0),借助手持高精度扫描仪扫描两个单个机械臂实际模型之间的相对距离,解算出两个实际机械臂之间的相对位置和旋转角度,即可求得另外一个单个机械臂仿真模型Base2坐标,依次类推,可以求得所有单个机械臂仿真模型的Base坐标,并将单个机械臂仿真模型映射到该坐标上,即可完成对多机械臂协同仿真模型的构建。例如:假定某个机械臂的输入位置为(0,0,0,0,0,0),若另外一个机械臂的输入位置为(1000,1000,1000,0,0,0),则这两个机械臂的空间位置坐标x、y和z之间均相差1000,通过距离之差确定准确的相对位置后输入grasshopper仿真软件即可进行虚拟和现实的一一映射。
将Tool坐标系和端部执行器仿真模型进行关联,端部执行器放置于机械臂上,通过机械臂正向运动学算法可以将端部执行器转换至机械臂末端,通过欧拉角转换平面算法可以进行端部执行器的平移和旋转。对正向运动学算法和欧拉角转换平面算法的阐述见下述步骤S130。
步骤S120:获取实际机械臂返回的实时运动数据。
实际机械臂返回的实时运动数据可以为:实际机械臂的运动轨迹坐标数据,也可以为:实际机械臂的轴角度数据。对上述两种数据的处理方法见下述步骤S130。
本申请实施例中,实时运动数据的获取方法可以为:通过实际机械臂与上位机之间的通讯实现实时运动数据获取,以KUKA机械臂为例,实时运动数据的获取方法例如:
在实际机械臂,即KUKA机械臂中安装有通讯控制软件KUKA mxAutomation;
采用通讯控制软件对实际机械臂进行编号,进行通讯准备;编号例如:RobotID1、RobotID2、RobotID3,分别表示要进行通信的1号实际机械臂、2号实际机械臂和3号实际机械臂,需要注意的是:每个机械臂的IP和端口需要设置为不一样的地址以防止地址冲突;
上位机设置各机械臂轴组编号、IP和端口号,并将其与实际机械臂上的IO信号进行配置;
建立实际机械臂与上位机之间的通讯,通讯方式采用socket UDP通讯;
初始化各实际机械臂的mxA接口;
读取各实际机械臂的外部自动运行信号,即读取各实际机械臂的参数状态;外部自动运行信号为KUKA机械臂的三种运行模式(自动运行模式、外部自动运行模式和手动模式)中的一种。
步骤S130:基于实时运动数据,驱动仿真机械臂进行实时仿真运动。
实际机械臂返回的实时运动数据可以为:实际机械臂的运动轨迹坐标数据,也可以为:实际机械臂的轴角度数据。下面详细介绍这两种实施方式:
第一种实施方式,返回的实时运动数据为:实际机械臂的运动轨迹坐标数据。该实施方式例如:实际机械臂返回其运动轨迹坐标数据,上位机通过实际机械臂的运动轨迹坐标数据,利用正向运动学算法和逆向运动学算法模型共同解算仿真机械臂的运动数据;然后,基于仿真机械臂的运动数据,驱动仿真机械臂进行仿真运动。可以理解的是,上述运动轨迹坐标数据所处的坐标系与仿真机械臂所处坐标系相同。
第二种实施方式,返回的实时运动数据为:实际机械臂的轴角度数据。该实施方式例如:实际机械臂返回轴角度数据,上位机基于实际机械臂的轴角度数据,利用正向运动学算法解算仿真机械臂的运动数据;然后,基于仿真机械臂的运动数据,驱动仿真机械臂进行仿真运动。
需要指出,在实际应用时,实际机械臂返回的实时运动数据可以包括实际机械臂的运动轨迹坐标数据和轴角度数据,用户可以自定义具体采用运动轨迹坐标数据还是轴角度数据进行仿真。
上述两种实施方式支持实际机械臂返回的两种实时数据,通过正向运动学算法或者正向运动学算法与逆向运动学算法相结合的方式解算仿真机械臂的运动数据,提高了上述多机械臂协同在线仿真方法的适应性,使其适用于更多的应用场景。
以6轴机械臂为例, 以表示基座到第一轴的旋转矩阵,/>表示第一轴到第二轴的旋转矩阵,/>表示第二轴到第三轴的旋转矩阵,/>表示第三轴到第四轴的旋转矩阵,/>表示第四轴到第五轴的旋转矩阵,/>表示第五轴到第六轴的旋转矩阵,c表示余弦函数cos,s表示正弦函数sin,c后的数字表示某个轴角度,如c1表示第一轴旋转角度的余弦值,a表示DH参数中的连杆长度,alpha表示DH参数中的连杆转角,d表示DH参数中的连杆偏距,theta表示DH参数中的关节角。
上述正向运动学算法具体为:
其中,即为正向运动学算法的结算结果。
上述欧拉角转换平面算法具体为:
其中,M表示转换矩阵,分别表示旋转矩阵中的各元素,转换矩阵中的元素值有如下对应关系:
其中,α、β、γ分别表示绕 X、Y、Z 轴旋转的角度,cos和sin分别表示余弦函数和正弦函数。
将M矩阵转换为仿真模型几何平面,编写输入接口输入初始位置x, y, z和α、β、γ,通过算法解算出平面即可得到Base和Tool平面的位置和姿态。
上述逆向运动学算法(主要为封闭解和几何解结合)具体为:
参数theat1~theat3使用几何解法求解,参考图3,图3中由轴和/>轴所组成的坐标系为在机器人基座上所建立的平面直角坐标系,参数theat1~theat3的算法如下:
其中,c2表示theat2的余弦值。
通过下式即可求解theat2的角度:
由上式子可以求解出theat3。
的计算方法为:
由前述正向运动学中求解的T03矩阵(T03为4x4矩阵),取左上角的/>矩阵:
=/>= cos(theta1 + theta + theta3)
=/>=/>
=/>=/>
=/>=/>
theta1 + theta2 + theta3 ==/>
图3中仅示出了theat1~theat3的几何求解示意,theat4~theat6的求解过程并未在图3中示出,theat4~theat6的求解方法为:
上式中,为的/>逆矩阵,通过/>可求解/>。
令
本申请实施例中,在驱动所述仿真机械臂进行实时仿真运动前,还包括:将多机械臂协同仿真模型中的仿真机械臂与实际机械臂进行姿态同步。
进行姿态同步的方法为:获取实际机械臂返回的初始姿态数据;对初始姿态数据进行解算,获得仿真机械臂的初始姿态数据;基于机械臂的初始姿态数据,驱动仿真机械臂运动至初始姿态。该方法的实施方式例如:上位机读取实际机械臂发送的位置姿态信息作为当前的位置姿态信息,并将位置姿态信息映射到多机械臂协同仿真模型使仿真机械臂和实际机械臂处于相同的位置姿态状态。位置姿态数据包括位置和欧拉角,位置指的是笛卡尔坐标下的XYZ坐标数据。
上位机通过实时获取各个实际机械臂的轴位置信息、Base坐标数据和Tool坐标数据,并映射到对应的仿真机械臂上,以实现实际机械臂与仿真机械臂之间的姿态同步,上位机所读取的数据包括:
各个机械臂的当前轴位置信息,以六轴机械臂为例,轴位置信息包括A1, A2, A3,A4, A5, A6,即六个轴的旋转角度数据;
Tool坐标数据,用于对端部执行器仿真模型进行映射;
Base坐标数据,用于对单个机械臂仿真模型进行映射。
需要指出,在进行姿态同步时所需要的坐标数据可以采用正向运动学和逆向运动学相结合的方式进行解算。
在本申请实施例中,通过姿态同步的方式使得仿真机械臂能够在仿真初始状态中与实际机械臂的姿态同步,使得后续在获取实际机械臂返回的实时运行数据后即可驱动仿真机械臂进行对实际机械臂的仿真运动,提高了对实际机械臂的仿真精度,进一步实现了多机械臂协同在线仿真。
图4示出了本申请实施例提供的多机械臂协同在线仿真装置200的一种可能的结构。参照图4,多机械臂协同在线仿真装置200包括:
仿真模型构建模块210,用于基于实际机械臂构建包含有仿真机械臂的多机械臂协同仿真模型;
数据获取模块220,用于获取实际机械臂返回的实时运动数据;
仿真运动模块230,用于基于实时运动数据,驱动仿真机械臂进行实时仿真运动;所述实时运动数据,包括:所述实际机械臂的运动轨迹坐标数据或轴角度数据;
所述仿真运动模块230具体用于:
基于所述运动轨迹坐标数据,利用正向运动学算法和逆向运动学算法模型共同解算所述仿真机械臂的运动数据;或者,基于所述轴角度数据,利用正向运动学算法解算所述仿真机械臂的运动数据;所述运动轨迹坐标数据所处坐标系与所述仿真机械臂所处坐标系相同;
基于所述仿真机械臂的运动数据,驱动所述仿真机械臂进行仿真运动。
在多机械臂协同在线仿真装置200的一种实现方式中,在线仿真方法在所述驱动所述仿真机械臂进行实时仿真运动前,还包括:将所述多机械臂协同仿真模型中的仿真机械臂与所述实际机械臂进行姿态同步。
在多机械臂协同在线仿真装置200的一种实现方式中,姿态同步,包括:获取所述实际机械臂返回的初始姿态数据;对所述初始姿态数据进行解算,获得所述仿真机械臂的初始姿态数据;基于所述机械臂的初始姿态数据,驱动所述仿真机械臂运动至所述初始姿态。
在多机械臂协同在线仿真装置200的一种实现方式中,构建所述多机械臂协同仿真模型,包括:获取实际机械臂之间的相对位置;基于所述实际机械臂之间的相对位置,确定所述仿真机械臂之间的相对位置;基于所述仿真机械臂之间的相对位置,构建所述多机械臂协同仿真模型。
在多机械臂协同在线仿真装置200的一种实现方式中,构建所述多机械臂协同仿真模型,还包括:获取实际端部执行器与实际机械臂之间的相对位置以及实际机械臂之间的相对位置;基于所述实际端部执行器与实际机械臂之间的相对位置以及实际机械臂之间的相对位置,确定仿真端部执行器与仿真机械臂之间的相对位置以及仿真机械臂之间的相对位置;基于所述仿真端部执行器与仿真机械臂之间的相对位置以及仿真机械臂之间的相对位置,构建所述多机械臂协同仿真模型。
图5示出了本申请实施例提供的电子设备300的一种可能的结构。按照图5,电子设备300包括:处理器310、存储器320以及通信接口330,这些组件通过通信总线340和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,处理器310包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器310可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(Neural-network ProcessingUnit,简称NPU)、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuits,简称ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器310为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
存储器320包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除可编程只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。
处理器310以及其他可能的组件可对存储器320进行访问,读和/或写其中的数据。特别地,在存储器320中可以存储一个或多个计算机程序指令,处理器310可以读取并运行这些计算机程序指令,以实现本申请实施例提供的多机械臂协同在线仿真方法。
通信接口330包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口330可以包括进行有线和/或无线通信的接口。
可以理解,图5所示的结构仅为示意,电子设备300还可以包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。电子设备300可能是实体设备,例如手机、平板电脑、可穿戴设备、PC机、笔记本电脑、服务器、机器人、专用设备等,也可能是虚拟设备,例如虚拟机、容器等。并且,电子设备300也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,这些计算机程序指令被处理器读取并运行时,执行本申请实施例提供的多机械臂协同在线仿真方法。例如,计算机可读存储介质可以实现为图5中电子设备300中的存储器320。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序指令,这些计算机程序指令被处理器读取并运行时,执行本申请实施例提供的多机械臂协同在线仿真方法。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.一种多机械臂协同在线仿真方法,其特征在于,包括:
基于实际机械臂,构建包含有仿真机械臂的多机械臂协同仿真模型;
获取所述实际机械臂返回的实时运动数据;
基于所述实时运动数据,驱动所述仿真机械臂进行实时仿真运动;
所述实时运动数据,包括:所述实际机械臂的运动轨迹坐标数据或轴角度数据;
所述驱动所述仿真机械臂进行实时仿真运动,包括:
基于所述运动轨迹坐标数据,利用正向运动学算法和逆向运动学算法模型共同解算所述仿真机械臂的运动数据;或者,基于所述轴角度数据,利用正向运动学算法解算所述仿真机械臂的运动数据;所述运动轨迹坐标数据所处坐标系与所述仿真机械臂所处坐标系相同;
基于所述仿真机械臂的运动数据,驱动所述仿真机械臂进行仿真运动。
2.根据权利要求1所述的多机械臂协同在线仿真方法,其特征在于,所述多机械臂协同在线仿真方法在所述驱动所述仿真机械臂进行实时仿真运动前,还包括:
将所述多机械臂协同仿真模型中的仿真机械臂与所述实际机械臂进行姿态同步。
3.根据权利要求2所述的多机械臂协同在线仿真方法,其特征在于,所述姿态同步,包括:
获取所述实际机械臂返回的初始姿态数据;
对所述初始姿态数据进行解算,获得所述仿真机械臂的初始姿态数据;
基于所述机械臂的初始姿态数据,驱动所述仿真机械臂运动至所述初始姿态。
4.根据权利要求1所述的多机械臂协同在线仿真方法,其特征在于,构建所述多机械臂协同仿真模型,包括:
获取实际机械臂之间的相对位置;
基于所述实际机械臂之间的相对位置,确定所述仿真机械臂之间的相对位置;
基于所述仿真机械臂之间的相对位置,构建所述多机械臂协同仿真模型。
5.根据权利要求1所述的多机械臂协同在线仿真方法,其特征在于,构建所述多机械臂协同仿真模型,包括:
获取实际端部执行器与实际机械臂之间的相对位置以及实际机械臂之间的相对位置;
基于所述实际端部执行器与实际机械臂之间的相对位置以及实际机械臂之间的相对位置,确定仿真端部执行器与仿真机械臂之间的相对位置以及仿真机械臂之间的相对位置;
基于所述仿真端部执行器与仿真机械臂之间的相对位置以及仿真机械臂之间的相对位置,构建所述多机械臂协同仿真模型。
6.一种多机械臂协同在线仿真装置,其特征在于,包括:
仿真模型构建模块,用于基于实际机械臂构建包含有仿真机械臂的多机械臂协同仿真模型;
数据获取模块,用于获取实际机械臂返回的实时运动数据;
仿真运动模块,用于基于实时运动数据,驱动仿真机械臂进行实时仿真运动;所述实时运动数据,包括:所述实际机械臂的运动轨迹坐标数据或轴角度数据;
所述仿真运动模块230具体用于:
基于所述运动轨迹坐标数据,利用正向运动学算法和逆向运动学算法模型共同解算所述仿真机械臂的运动数据;或者,基于所述轴角度数据,利用正向运动学算法解算所述仿真机械臂的运动数据;所述运动轨迹坐标数据所处坐标系与所述仿真机械臂所处坐标系相同;
基于所述仿真机械臂的运动数据,驱动所述仿真机械臂进行仿真运动。
7.一种电子设备,其特征在于,包括:处理器、存储器和通信总线,其中,所述处理器和所述存储器通过所述通信总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1-5任一项所述的方法。
8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310904572.1A CN116652968A (zh) | 2023-07-24 | 2023-07-24 | 多机械臂协同在线仿真方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310904572.1A CN116652968A (zh) | 2023-07-24 | 2023-07-24 | 多机械臂协同在线仿真方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116652968A true CN116652968A (zh) | 2023-08-29 |
Family
ID=87715539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310904572.1A Pending CN116652968A (zh) | 2023-07-24 | 2023-07-24 | 多机械臂协同在线仿真方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116652968A (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0954608A (ja) * | 1995-08-16 | 1997-02-25 | Kawasaki Heavy Ind Ltd | ロボットのシミュレーション方法 |
CN103728972A (zh) * | 2014-01-06 | 2014-04-16 | 中国石油大学(华东) | 多机械臂同步控制实验平台及实验方法 |
JP2014104581A (ja) * | 2012-11-29 | 2014-06-09 | Fanuc Robotics America Inc | ロボットシステムの較正方法 |
CN106444739A (zh) * | 2016-07-15 | 2017-02-22 | 鹿龙 | 多工业机器人虚拟离线协同仿真***及方法 |
CN106777475A (zh) * | 2016-11-17 | 2017-05-31 | 贵州大学 | 一种有限空间约束的注塑机械臂动力学协同仿真方法 |
CN107486858A (zh) * | 2017-08-08 | 2017-12-19 | 浙江工业大学 | 基于RoboDK的多机械臂协同离线编程方法 |
CN110695988A (zh) * | 2019-09-04 | 2020-01-17 | 南京理工大学 | 双机械臂协同运动方法及*** |
CN111680893A (zh) * | 2020-05-25 | 2020-09-18 | 北京科技大学 | 一种多自寻址机器人拣选***的数字孪生***及调度方法 |
CN114055467A (zh) * | 2021-10-29 | 2022-02-18 | 南京邮电大学 | 基于五自由度机器人的空间位姿在线仿真*** |
CN114131597A (zh) * | 2021-11-24 | 2022-03-04 | 山东哈博特机器人有限公司 | 一种基于数字孪生技术的工业机器人仿真联动方法和*** |
CN114571460A (zh) * | 2022-03-22 | 2022-06-03 | 达闼机器人股份有限公司 | 机器人控制方法、装置及存储介质 |
CN115423656A (zh) * | 2022-08-22 | 2022-12-02 | 山东顺诺腾辉智能科技有限公司 | 一种机器人协同作业可视化仿真示教***和方法 |
CN115877736A (zh) * | 2023-02-03 | 2023-03-31 | 广东工业大学 | 基于数字孪生的多机器人协同作业仿真监控方法 |
CN116269812A (zh) * | 2023-03-27 | 2023-06-23 | 苏州微创畅行机器人有限公司 | 主从操作的穿刺***和规划方法 |
-
2023
- 2023-07-24 CN CN202310904572.1A patent/CN116652968A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0954608A (ja) * | 1995-08-16 | 1997-02-25 | Kawasaki Heavy Ind Ltd | ロボットのシミュレーション方法 |
JP2014104581A (ja) * | 2012-11-29 | 2014-06-09 | Fanuc Robotics America Inc | ロボットシステムの較正方法 |
CN103728972A (zh) * | 2014-01-06 | 2014-04-16 | 中国石油大学(华东) | 多机械臂同步控制实验平台及实验方法 |
CN106444739A (zh) * | 2016-07-15 | 2017-02-22 | 鹿龙 | 多工业机器人虚拟离线协同仿真***及方法 |
CN106777475A (zh) * | 2016-11-17 | 2017-05-31 | 贵州大学 | 一种有限空间约束的注塑机械臂动力学协同仿真方法 |
CN107486858A (zh) * | 2017-08-08 | 2017-12-19 | 浙江工业大学 | 基于RoboDK的多机械臂协同离线编程方法 |
CN110695988A (zh) * | 2019-09-04 | 2020-01-17 | 南京理工大学 | 双机械臂协同运动方法及*** |
CN111680893A (zh) * | 2020-05-25 | 2020-09-18 | 北京科技大学 | 一种多自寻址机器人拣选***的数字孪生***及调度方法 |
CN114055467A (zh) * | 2021-10-29 | 2022-02-18 | 南京邮电大学 | 基于五自由度机器人的空间位姿在线仿真*** |
CN114131597A (zh) * | 2021-11-24 | 2022-03-04 | 山东哈博特机器人有限公司 | 一种基于数字孪生技术的工业机器人仿真联动方法和*** |
CN114571460A (zh) * | 2022-03-22 | 2022-06-03 | 达闼机器人股份有限公司 | 机器人控制方法、装置及存储介质 |
CN115423656A (zh) * | 2022-08-22 | 2022-12-02 | 山东顺诺腾辉智能科技有限公司 | 一种机器人协同作业可视化仿真示教***和方法 |
CN115877736A (zh) * | 2023-02-03 | 2023-03-31 | 广东工业大学 | 基于数字孪生的多机器人协同作业仿真监控方法 |
CN116269812A (zh) * | 2023-03-27 | 2023-06-23 | 苏州微创畅行机器人有限公司 | 主从操作的穿刺***和规划方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108638069B (zh) | 一种机械臂末端精确运动控制方法 | |
CN107953331B (zh) | 一种应用于人形机器人动作模仿的人体姿态映射方法 | |
CN113715016B (zh) | 一种基于3d视觉的机器人抓取方法、***、装置及介质 | |
CN109048897B (zh) | 一种主从机器人遥操作的方法 | |
CN108406769A (zh) | 串联机器人的关节旋转角度确定方法及装置 | |
CN107253191B (zh) | 一种双机械臂***及其协调控制方法 | |
JP2017170571A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
CN113379849A (zh) | 基于深度相机的机器人自主识别智能抓取方法及*** | |
CN113160334A (zh) | 一种基于手眼相机的双机器人***标定方法 | |
He et al. | Kinematics analysis and numerical simulation of a manipulator based on virtual prototyping | |
CN112659124A (zh) | 一种基于Android***的虚拟仿真与控制*** | |
CN113119104A (zh) | 机械臂控制方法、机械臂控制装置、计算设备及*** | |
CN109866224A (zh) | 一种机器人雅可比矩阵计算方法、装置及存储介质 | |
CN116652968A (zh) | 多机械臂协同在线仿真方法、装置、电子设备及存储介质 | |
CN115229786B (zh) | 一种带肘部偏置的七自由度机械臂的几何逆解方法 | |
CN115525863A (zh) | 一种七自由度遥操作机械臂***运动学求解方法及*** | |
CN112894794B (zh) | 人体手臂动作模仿方法、装置、终端设备及存储介质 | |
Zhao et al. | Model and simulation of the mitsubishi rv-m1 robot using matlab | |
CN111694368A (zh) | 六自由度平台控制方法 | |
CN110919639A (zh) | 一种关节式示教臂及基于该示教臂的示教方法 | |
CN112621757B (zh) | 一种多关节机器人动力学仿真装置及方法 | |
CN111801630A (zh) | 变位机轴坐标系标定方法、机器人***及存储装置 | |
Boldareva et al. | Development of a mechatronic systems module control system based on MEMS orientation sensors | |
CN118046394B (zh) | 一种遥操作的运动控制方法、装置、***及存储介质 | |
Xia et al. | ABB-IRB120 Robot Modeling and Simulation Based on MATLAB |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230829 |
|
RJ01 | Rejection of invention patent application after publication |