CN114603552B - 一种机器人仿真方法、电子设备和存储介质 - Google Patents
一种机器人仿真方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114603552B CN114603552B CN202011446301.9A CN202011446301A CN114603552B CN 114603552 B CN114603552 B CN 114603552B CN 202011446301 A CN202011446301 A CN 202011446301A CN 114603552 B CN114603552 B CN 114603552B
- Authority
- CN
- China
- Prior art keywords
- robot
- model
- simulation
- program
- controller
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 230000033001 locomotion Effects 0.000 claims abstract description 73
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 7
- 239000012636 effector Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009295 sperm incapacitation Effects 0.000 description 1
- 230000000007 visual 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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本申请公开了一种机器人仿真方法、电子设备和存储介质。该方法包括建立所述机器人的模型,通过代码移植基于所述机器人的控制器建立模拟控制器;获取所述机器人模型的规划轨迹和规划姿态;根据所述规划轨迹和所述规划姿态得到所述机器人模型的运动轨迹,并基于所述运动轨迹生成机器人程序;通过所述模拟控制器运行所述机器人程序,以根据所述机器人程序调整所述机器人模型的位置。因此,本申请的技术方案能够提供在真机中运行的机器人程序,而且能够准确仿真出机器人的运动轨迹以及在运动过程中的时间相关的结果,以提高机器人仿真的准确性。
Description
技术领域
本申请涉及机器人领域,特别是涉及一种机器人仿真方法、电子设备及存储介质。
背景技术
目前,随着机器人行业的快速发展,从应用环境出发,将机器人分为两大类,即工业机器人和特种机器人。在工业生产中,越来越多的应用工业机器人来代替人完成各种生产任务。
在工业机器人的实际应用场景中,需要确定机器人、工件、设备等工具的摆放的位置,为此需要加工机器人基座、工作台等辅助设备,从而达到摆放要求。然而,由于机器人空间、轨迹点姿态、避免干涉等限制,设计的摆放位置可能会出现某些轨迹点不可达或干涉的情况,尤其是当任务所需运动轨迹范围非常大,已经接近机器人工作空间边缘的情况,这需要通过精确调节机器人基座与工作台的相对位置,使得能够完成任务的整个轨迹。在现场调节机器人基座与工作台的位置是一件比较困难的事情。
发明内容
为了解决现有技术中存在的上述问题,本申请提供一种机器人仿真方法、电子设备和存储介质。
为解决上述问题,本申请采用的一种技术方案为提供了一种机器人仿真方法,该方法包括:建立所述机器人的模型,通过代码移植基于所述机器人的控制器建立模拟控制器;获取所述机器人模型的规划轨迹和规划姿态;根据所述规划轨迹和所述规划姿态得到所述机器人模型的运动轨迹,并基于所述运动轨迹生成机器人程序;通过所述模拟控制器运行所述机器人程序,以根据所述机器人程序调整所述机器人模型的位置。
为了解决上述技术问题,本申请采用的另一种技术方案为提供一种电子设备,该电子设备包括:所述电子设备包括相互连接的处理器和存储器,其中,所述存储器用户存储计算机程序,所述计算机程序在被所述处理器执行时,用于实现上述的机器人仿真方法。
为了解决上述技术问题,本申请采用的另一种技术方案为提供一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,所述计算机程序在被处理器执行时,用于实现上述的机器人仿真方法。
本申请的有益效果是:建立所述机器人的模型,通过移植机器人控制器建立模拟控制器,通过获取机器人模型的规划轨迹和规划姿态得到运动轨迹,并基于运动轨迹生成机器人程序,通过在模拟控制器上运行机器人程序,以根据运行后的机器人程序调整机器人模型的位置。因此,本申请的技术方案能够提供在真机中运行的机器人程序,而且能够准确仿真出机器人的运动轨迹以及在运动过程中的时间相关的结果,以提高机器人仿真的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请机器人仿真方法一实施例的流程示意图;
图2示出了码垛仿真场景示意图;
图3是本申请机器人仿真方法中一实施例的流程示意图;
图4是仿真模块与模拟控制器的交互示意图;
图5是本申请提供的电子设备一实施例的结构示意图;
图6是本申请提供的计算机存储介质一实施例的结构示意图。
具体实施方式
下面结合附图和实施例,对本申请作进一步的详细描述。特别指出的是,以下实施例仅用于说明本申请,但不对本申请的范围进行限定。同样的,以下实施例仅为本申请的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1是本申请机器人仿真方法一实施例的流程示意图。如图所示,该方法包括:
步骤S101:建立机器人的模型,通过代码移植基于机器人的控制器建立模拟控制器。
机器人,是指自动执行工作的机器设备,既可以接受人类指挥,又可以运行预先编排的程序,也可以根据以人工智能技术制定的原则纲领行动;机器人按照移动方式的不同可以分为:轮式移动机器人、步行移动机器人等类型;轮式移动机器人(轮外可以包括履带,靠履带与地面摩擦移动)例如:单轮移动机器人、双轮移动机器人和四轮移动机器人等,步行移动机器人例如:单腿式机器人、双腿式机器人和多腿式机器人等等。而本申请所示的机器人模型提出的机器人模型可以是针对机器人而设计的可视化模型。
在本申请一实施例中,首先可以进行仿真场景的搭建,将场景中所需要的机器人模型创建在仿真场景中。对于机器人模型的建立可以是通过利用三维建模软件设计的机器人模型,例如:ADAMS、ODE、Solidworks和AutoCAD等等软件。也可以通过互联网下载已经设计好的机器人模型,或者还可以通过在存储有设计完成的机器人模型的文件中进行拷贝获得。本申请实施例中对于机器人模型的获取方式不做限定。
在本申请一实施例中,可以在建立机器人模型的同时可以通过上述建立机器人模型的方法建立预设模型,以通过机器人模型和预设模型共同构成仿真场景,其中预设模型可以随仿真场景的需要添加,该预设模型可以包括工件模型、工具模型和设备模型等。为了便于理解,请参见图2,图2示出了码垛仿真场景示意图,在图2的仿真场景中,建立的预设模型可以包括传送带模型、工件模型、托盘模型以及与机器人模型连接的吸盘模型,以通过所有建立的模型共同形成一个仿真场景。
机器人控制器是机器人的大脑,它根据指令以及传感信息控制机器人来完成一定的动作或作业任务。本申请一实施例中通过将机器人真机的控制器的代码进行移植建立模拟控制器,并对机器人控制器的驱动器、IO设备等硬件进行模拟,然后将模拟控制器在电子设备上运行,以在电子设备上完成建立与真机控制器相同功能的模拟控制器。这里的电子设备可以是平板电脑、智能手机、个人电脑(PC),具体的例如:台式电脑或则笔记本电脑等个人计算机设备。其中本申请的模拟控制器可以设计成独立的模块,也可以设计成为机器人仿真模块的内部模块,在此不做限定。
步骤S102:获取机器人模型的规划轨迹和规划姿态。
规划轨迹代表了末端执行器的位移与时间的关系,规划姿态代表了末端执行器的姿态与时间的关系。可以理解,根据运动的位移与时间的关系及姿态与时间的关系,可以分别推导出运动的速度/加速度与时间的关系,以及角速度/角加速度与时间的关系。以图2为例,例如:可以将规划轨迹分为第一规划轨迹BC、第二规划轨迹CD、第三规划轨迹DE。
其中,在本申请一实施例中,规划轨迹和规划的姿态可以根据仿真场景中的预设模型和机器人模型所处的相对位置来确定,并且对于不符合期望的规划轨迹和规划姿态进行调整。其中,模拟控制器具有预设算法,利用该预设算法可以检测出机器人模型是否能够到达运动轨迹中所有的轨迹点。如果不能到达所有轨迹点,则表示之前规划的轨迹和姿态并不符合预期标准,则可以重新规划。本申请一实施例中可以先调整机器人模型和/或预设模型的位置,然后根据调整后的机器人模型和/或预设模型的位置更新规划的轨迹和姿态,直到可以利用模拟控制器中的预设算法检测出机器人模型能够到达运动轨迹中所有的轨迹点。其中在本申请一实施例中,该预设算法可以是逆解算法,即可以根据机器人的工具中心点处的位置和姿态,以求解得到机器人各轴的角度,从而确定规划的轨迹和姿态是否符合预期标准。
步骤S103:根据规划轨迹和规划姿态得到机器人模型的运动轨迹,并基于运动轨迹生成机器人程序。
机器人模型的运动轨迹通常是指机器人的末端执行器的轨迹运动。末端执行器的轨迹运动描述可以分为路径和姿态两个部分:路径描述了末端执行器运动的位置,也就是机器人工具中心点(Tool Center Point,TCP)即机器人工具坐标系的原点的位置,以坐标表示;姿态描述了末端执行器运动的方向,表示方式有多种,例如旋转矩阵、欧拉角和四元数等。在本申请一实施例中,模拟机器人的运动轨迹可以是直线运动或者曲线运动。以图2为例,机器人模型的运动轨迹可以依次为从当前状态,将机器人运动到到B处,然后沿第一运动轨迹BC、第二运动轨迹CD、第三运动轨迹DE。
在本申请一实施例中,在仿真运行之前,可以根据运动轨迹生成机器人程序,其中,该机器人程序是符合模拟控制器的程序解析器的语法,机器人程序中的指令可以包括轴运动指令,直线指令,圆弧指令,IO指令等。本申请实施例中模拟控制器是通过将机器人控制器的代码移植得到,因此,该生成的机器人程序不仅可以在模拟控制器中运行,还可以在机器人控制器中顺利运行。
步骤S104:通过模拟控制器运行机器人程序,以根据机器人程序调整机器人模型的位置。
如前所述,本申请实施例中对于生成的机器人程序是符合模拟控制器的程序解析器的语法,因此,该机器人程序可以直接在模拟控制器中运行,然后通过解析机器人程序以得到的各种指令,以控制机器人模型根据解析后的指令运行,从而使得机器人模型移动,以调整机器人模型的位置。
本申请对于上述生成的机器人程序可以直接在真机中运行,以使得真机中机器人的运行情况与仿真场景中的机器人模型的运行情况完全一致。而且本申请对于机器人模型的每段运动轨迹也不是简单的指定一个速度,以使得机器人模型根据指定的速度进行运动,而是通过采用与真机相同的速度算法以及配置参数等,以使得工具中心点的运动轨迹,运动节拍等仿真结果和在真机上运行的结果没有差异,以提高仿真的准确性。
请参阅图3,图3是本申请机器人仿真方法中一实施例的流程示意图。如图所示,该方法包括:
步骤S201:建立机器人的模型,通过代码移植基于机器人的控制器建立模拟控制器。
其中,步骤S201可与前述步骤中的步骤S101类似,在此不再赘述。
步骤S202:获取机器人模型的规划轨迹和规划姿态。
其中,步骤S202可与前述步骤中的步骤S102类似,在此不再赘述。
步骤S203:根据规划轨迹和规划姿态得到机器人模型的运动轨迹,并基于运动轨迹生成机器人程序。
其中,步骤S203可与前述步骤中的步骤S103类似,在此不再赘述。
步骤S204:通过模拟控制器运行机器人程序,以根据机器人程序调整机器人模型的位置。
其中,步骤S204可与前述步骤中的步骤S104类似,在此不再赘述。
步骤S205:检测在调整机器人模型的位置的过程中,机器人模型是否触碰预设模型。
在本申请一实施例中,当机器人模型按照机器人程序调整位置的过程中,可能会出现机器人模型的本体与周围设备发生碰撞,例如,在机器人模型到达运动轨迹上的某一轨迹点时,可能会出现机器人模型的某一关节轴所处的位置与预设模型发生碰撞。而在现场的方案设计中,机器人与周围设备或者工件发生碰撞可能会导致机器人损坏等情况。
步骤S206:若是,则返回根据预设模型和机器人模型之间的位置调整规划轨迹和所述规划姿态的步骤。
本申请一实施例中,在检测到机器人模型在运动的过程中与其他预设模型发生了碰撞之后,则表明现有的机器人模型和预设模型的相对位置并不符合标准,则需要重新调整机器人模型和/或预设模型的位置。当然,随着模型的相对位置调整之后,可能会伴随着机器人模型的运动轨迹的轨迹点发生变动,此时可能重新规划轨迹和姿态,然后根据更新后的规划轨迹和规划姿态通过模拟控制器上的预设算法检测机器人模型是否位于预设轨迹点。也即返回上述步骤S203,以重新根据模型的位置获取更新后的规划轨迹和规划姿态,直到规划的轨迹和姿态符合预期标准,从而实现避免出现机器人模型和预设模型之间发生碰撞的目的。
步骤S207:获取机器人模型在运动过程中的运动节拍,判断运动节拍是否符合预设条件。
运动节拍是机器人根据编写的程序运动完成相应轨迹所需要的时间,较快的运动节拍可以提高生产效率,但是相反,如果过快的运动节拍可能会超出机器人所能承受的极限。本申请一实施例是通过移植真机的控制器的代码生成模拟控制器,从而在仿真场景中,对于机器人模型的速度规划算法、插补算法以及系统配置参数、程序配置参数等条件都与真机中的条件相同。因此,相对于现有直接为机器人模型设置一个运行速度而言,本申请的技术方案能够准确得出与机器人模型与在运动过程中与时间相关的仿真结果。而为了避免在真机中运行机器人程序后出现运动节拍不符合要求的情况,则可在仿真场景中增加对于运动节拍是否符合标准的检测。例如可以检测机器人模型的节拍是否过快或者机器人模型是否经过奇异点等。本申请一实施例中,当出现节拍过快或者经过奇异点时,模拟控制器还可以给出报警提示。其中,奇异点是当机器人以笛卡尔坐标系运动至某些点时,某些轴的速度会突然变得很快,工具中心点点的路径速度会显著减慢,这些点称之为奇异点。在奇异点处会出现机器人自由度减少,从而无法实现某些运动,以及某些关节角速度趋向于无穷大,导致失控,无法逆解等情况。
步骤S208:若否,则获取预设参数,以根据预设参数更新机器人程序。
当机器人模型按照运动轨迹运行的过程中,发现运动节拍并不符合标准或者会经过奇异点时,可以直接调节生成程序中的预设参数,以通过调节预设参数来更新机器人程序,直到机器人模型根据解析更新后的机器人程序调整机器人模型的位置的过程中,所得到的运动节拍达到预期标准以及机器人模型不会经过奇异点。其中,上述预设参数可以包括:运动指令的速度、平滑参数、速度规划类型参数等。
参见图1,在本申请一实施例中,通过模拟控制器运行机器人程序,以根据机器人程序调整机器人模型的位置,可以包括:通过模拟控制器运行机器人程序,获取模拟控制器的实时轴的位置数据;根据实时轴的位置数据调整机器人模型的位置。
当机器人程序生成之后,可以通过模拟控制器运行该机器人程序,根据运行结果得到机器人模型每个时刻对应的位置数据,然后仿真模块可以实时获取模拟控制器中的位置数据,并且通过获取到的位置数据控制机器人模型运动到对应的位置,从而实现调整机器人模型的位置的目的。
在本申请一实施例中,运行机器人程序以获取机器人模型的实时轴的位置数据,可以包括通过模拟控制器解析机器人程序,然后执行解析后的机器人程序,以获取模拟控制器的实时轴的位置数据。
如前所述,本申请一实施例中基于运动轨迹生成的机器人程序符合模拟控制器的程序解析器的语法,其中,该程序解析器可以包括机器人程序语言的数据类型库、词语解析、语法解析、语义解析等。因此,可以通过模拟控制器中的程序解析器对生成的机器人程序进行解读,最终将机器人程序解析成能够被模拟控制器中的执行器执行的数据,然后通过执行器执行解析后的数据,以按照解析后的数据的逻辑流程执行,在执行的过程中可能会遇到运动指令、逻辑控制指令以及IO指令等。其中,IO指令的功能是获取或者设置某一运动轨迹的IO信号,以图2为例,在图2中的仿真示意图中,机器人模型需要执行4条运行指令,即从当前位置将吸盘模型运动到B处,然后吸盘模型与工件模型连接,机器人模型带动吸盘模型一起从B运动到C处,再从C处运动到D处,最后从D处运动到E处,并使得工件模型脱离吸盘模型,将工件模型放置在E处。其中,每一条运动指令可以表示每一条运动轨迹,而吸盘模型与工件模型的连接以及吸盘模型放下工件模型则需要在程序中IO指令完成,如当工件模型从传送带模型上A被传送到B时,将发出“工件准备就绪”的信号,其中,该信号与某一路的DI信号相关联,在程序运行中,将会一直监测该路的IO信号,如果接收到该信号,则机器人模型执行从当前位置到B点的运动指令。当机器人模型运动到B点时,程序将会发出与工件模型关联的DO信号,当收到该信号后,完成吸盘模型与工件模型之间的绑定,工件模型也随着机器人模型的运动而运动,当机器人模型运动到E点时,程序会再发出DO信号,该信号与工件模型关联,当接收到该信号之后,完成吸盘模型与工件模型之间的解绑,也即完成放下工件的操作。
在本申请一实施例中,上述运行机器人程序以获取机器人模型的实时轴的位置数据,可以包括:按照解析出来的运动轨迹和速度对机器人模型的各时刻的运动轨迹进行插补,得到插补结果,根据插补结果获取实时轴的位置数据。
当按照解析出来的程序的逻辑流程进行执行时,会遇到运动指令,此时,可以对运动轨迹和运行的速度进行规划,将规划好的轨迹添加到模拟控制器中的插补器,插补器再根据插补周期将运动轨迹离散成一系列的插补点,然后通过逆解得到机器人模型的各轴的角度,然后得到的结果保存到实时轴位置buffer(缓冲器,在计算机领域,缓冲器指的是缓冲寄存器,它分输入缓冲器和输出缓冲器两种。前者的作用是将外设送来的数据暂时存放,以便处理器将它取走;后者的作用是用来暂时存放处理器送往外设的数据),以得到插补的结果。
在得到插补结果之后,可以将插补结果发送到驱动器,然后仿真模块可以根据插补结果获取到模拟控制器的每个时刻的轴的位置数据,然后控制机器人模型根据插补结果运动到对应的位置,以完成仿真运动。
在本申请一实施例中,根据实时轴的位置数据调整机器人模型的位置,可以包括:根据预设周期获取实时轴的位置数据,以根据位置数据调整机器人模型的位置。
如前所述,仿真模块可以通过获取模拟控制器解析出来的位置数据,在本申请一实施例中,可以根据设置的刷新帧率,周期性的获取模拟控制器中解析出来的位置数据,以控制机器人模型运动到对应的位置,直到程序运行完成为止,完成仿真运行。
因此,本申请的实施例可以通过代码移植机器人控制器来建立模拟控制器,并且通过调整获取后的模型的位置,然后利用模拟控制器中的逆解算法检测规划后的轨迹点,当轨迹点符合标准时,生成能被模拟控制器执行的机器人程序,并且在仿真运行的过程中对机器人模型的节拍和是否受到阻碍进行检测,当符合条件时,可以直接将生成的程序在真机上运行,从而确保仿真结果与真实情况的一致性。
如图4所示,图4是仿真模块与模拟控制器的交互示意图。在本申请一实施例中,模拟控制器可以设置为一个独立的模块存在也可以设置为仿真模块的内部模块,仿真模块可以通过网络接口调用模拟控制器提供的上述功能。此外,由于模拟控制器是通过机器人控制器代码移植得到,因此,模拟控制器与机器人的控制器具有相同的接口,由此可见,仿真模块既可以连接模拟控制器,又可以连接机器人控制器。
在本申请一实施例中,仿真模块还可以通过本地网络连接多个模拟控制器,也可以通过远程网络连接多个模拟控制器或者机器人控制器,其中,每个机器人控制器或者模拟控制器可以控制一个机器人模型。当仿真模块通过远程网络连接模拟控制器或者控制器时,还可以实现在线监控功能,即通过获取远程的模拟控制器或者机器人控制器的实时轴位置数据,然后在仿真场景中控制机器人模型对运动姿态的现实,以达到在线监控的目的;而且通过远程网络连接还可以实现远程操作功能,即将在模拟控制器上生成的机器人程序通过网络传输到远程的机器人控制器上,通过机器人控制器进行加载程序,运行程序,暂停程序等操作。
请参阅图5,图5是本申请提供的电子设备100一实施例的结构示意图,电子设备100包括互相连接的存储器101和处理器102,存储器101用于存储计算机程序,计算机程序在被处理器102执行时,用于实现上述实施例中的机器人仿真方法。
请参阅图6,图6是本申请提供的计算机存储介质110一实施例的结构示意图,计算机存储介质110用于存储计算机程序111,计算机程序111在被处理器执行时,用于实现上述实施例中的机器人仿真方法。
计算机存储介质110可以是服务端、U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种机器人仿真方法,其特征在于,所述方法包括:
建立所述机器人的模型,通过代码移植基于所述机器人的控制器建立模拟控制器;
获取所述机器人模型的规划轨迹和规划姿态;
根据所述规划轨迹和所述规划姿态得到所述机器人模型的运动轨迹,并基于所述运动轨迹生成机器人程序;
通过所述模拟控制器运行所述机器人程序,以根据所述机器人程序调整所述机器人模型的位置;
所述通过所述模拟控制器运行所述机器人程序,以根据所述机器人程序调整所述机器人模型的位置,包括:
通过所述模拟控制器运行所述机器人程序,获取所述模拟控制器的实时轴的位置数据;
通过仿真模块获取所述模拟控制器中的所述实时轴的位置数据,并通过所述实时轴的位置数据调整所述机器人模型的位置;其中,所述仿真模块通过网络接口调用所述模拟控制器中的所述实时轴的位置数据,所述机器人程序不仅可以在所述模拟控制器中运行,还可以在所述机器人控制器中顺利运行,所述机器人程序在所述机器人的控制器中运行的结果与所述模拟控制器中运行的结果相同;
所述模拟控制器具有预设算法;
所述建立所述机器人的模型,包括:
获取预设模型,所述预设模型与所述机器人模型共同构成仿真场景;
所述获取所述机器人模型的规划轨迹和规划姿态,包括:
根据所述预设模型和所述机器人模型之间的位置调整所述规划轨迹和所述规划姿态;
通过所述预设算法检测所述机器人模型是否位于预设轨迹点;
若否,则调整所述机器人模型的位置和/或所述预设模型的位置;
根据所述调整所述机器人模型的位置和/或所述预设模型的位置获取更新后的所述规划轨迹和所述规划姿态。
2.根据权利要求1所述的方法,其特征在于,在所述通过所述模拟控制器运行所述机器人程序,以根据所述机器人程序调整所述机器人模型的位置之后,所述方法还包括:
检测所述机器人模型是否触碰所述预设模型;
若是,则返回所述根据所述预设模型和所述机器人模型之间的位置调整所述规划轨迹和所述规划姿态的步骤。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述机器人模型在运动过程中的运动节拍,判断所述运动节拍是否符合预设条件;
若否,则获取预设参数,以根据所述预设参数更新所述机器人程序。
4.根据权利要求1所述的方法,其特征在于,所述运行所述机器人程序以获取所述机器人模型的实时轴的位置数据,包括:
通过所述模拟控制器解析所述机器人程序;
执行解析后的机器人程序,以获取所述模拟控制器的实时轴的位置数据。
5.根据权利要求4所述的方法,其特征在于,所述执行解析后的机器人程序,以获取所述机器人模型的实时轴的位置数据,包括:
按照解析出来的运动轨迹和速度对所述机器人模型的所述运动轨迹进行插补,以得到插补结果;
根据所述插补结果获取所述实时轴的位置数据。
6.根据权利要求5所述的方法,其特征在于,所述根据所述实时轴的位置数据调整所述机器人模型的位置,包括:
根据预设周期获取所述实时轴的位置数据,以根据所述位置数据调整所述机器人模型的位置。
7.一种电子设备,其特征在于,所述电子设备包括相互连接的处理器和存储器,其中,所述存储器用户存储计算机程序,所述计算机程序在被所述处理器执行时,用于实现如权利要求1-6中任意一项所述的机器人仿真方法。
8.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序在被处理器执行时,用于实现权利要求1-6中任意一项所述的机器人仿真方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011446301.9A CN114603552B (zh) | 2020-12-08 | 2020-12-08 | 一种机器人仿真方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011446301.9A CN114603552B (zh) | 2020-12-08 | 2020-12-08 | 一种机器人仿真方法、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114603552A CN114603552A (zh) | 2022-06-10 |
CN114603552B true CN114603552B (zh) | 2024-05-10 |
Family
ID=81855835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011446301.9A Active CN114603552B (zh) | 2020-12-08 | 2020-12-08 | 一种机器人仿真方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114603552B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000081906A (ja) * | 1998-09-04 | 2000-03-21 | Mitsubishi Electric Corp | 仮想工場シミュレーション装置および仮想工場シミュレーション方法 |
JP2004151976A (ja) * | 2002-10-30 | 2004-05-27 | Honda Motor Co Ltd | シミュレーション装置 |
CN201892840U (zh) * | 2010-07-09 | 2011-07-06 | 广东工业大学 | 一种基于虚拟现实技术的喷涂工业机器人综合控制系统 |
CN104010774A (zh) * | 2011-09-15 | 2014-08-27 | 康富真信息技术股份有限公司 | 用于自动生成机器人程序的系统和方法 |
CN104950689A (zh) * | 2015-04-13 | 2015-09-30 | 哈尔滨工业大学深圳研究生院 | 面向机器人戏剧的表演机器人仿真系统 |
CN105786483A (zh) * | 2016-01-05 | 2016-07-20 | 南京熊猫电子股份有限公司 | 基于平板电脑的焊接机器人离线编程系统及其离线编程方法 |
CN105945942A (zh) * | 2016-04-05 | 2016-09-21 | 广东工业大学 | 一种机器人离线编程系统及方法 |
CN107553496A (zh) * | 2017-09-29 | 2018-01-09 | 南京阿凡达机器人科技有限公司 | 机械臂逆运动学求解方法误差的确定及校正方法和装置 |
CN107901039A (zh) * | 2017-11-13 | 2018-04-13 | 浙江工业大学 | 基于Python的桌面级机器人离线编程仿真系统 |
CN109079776A (zh) * | 2018-07-26 | 2018-12-25 | 福州大学 | 一种工业机器人控制算法动态重构的方法 |
CN109976259A (zh) * | 2019-03-19 | 2019-07-05 | 南京工程学院 | 一种基于vtk的机器人自由曲面工件打磨离线编程方法 |
WO2019136714A1 (zh) * | 2018-01-12 | 2019-07-18 | 浙江国自机器人技术有限公司 | 一种基于3d激光的地图构建方法及系统 |
CN110625615A (zh) * | 2019-09-25 | 2019-12-31 | 华中科技大学 | 一种机器人离线编程信息处理系统及方法 |
CN110694828A (zh) * | 2019-09-03 | 2020-01-17 | 天津大学 | 一种基于大型复杂曲面模型的机器人喷涂轨迹规划方法 |
CN111013857A (zh) * | 2019-12-11 | 2020-04-17 | 北京东方昊为工业装备有限公司 | 一种喷涂机器人控制系统及控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012135821A (ja) * | 2010-12-24 | 2012-07-19 | Seiko Epson Corp | ロボットシミュレーション装置、ロボットシミュレーション方法、及びロボットシミュレーションプログラム |
-
2020
- 2020-12-08 CN CN202011446301.9A patent/CN114603552B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000081906A (ja) * | 1998-09-04 | 2000-03-21 | Mitsubishi Electric Corp | 仮想工場シミュレーション装置および仮想工場シミュレーション方法 |
JP2004151976A (ja) * | 2002-10-30 | 2004-05-27 | Honda Motor Co Ltd | シミュレーション装置 |
CN201892840U (zh) * | 2010-07-09 | 2011-07-06 | 广东工业大学 | 一种基于虚拟现实技术的喷涂工业机器人综合控制系统 |
CN104010774A (zh) * | 2011-09-15 | 2014-08-27 | 康富真信息技术股份有限公司 | 用于自动生成机器人程序的系统和方法 |
CN104950689A (zh) * | 2015-04-13 | 2015-09-30 | 哈尔滨工业大学深圳研究生院 | 面向机器人戏剧的表演机器人仿真系统 |
CN105786483A (zh) * | 2016-01-05 | 2016-07-20 | 南京熊猫电子股份有限公司 | 基于平板电脑的焊接机器人离线编程系统及其离线编程方法 |
CN105945942A (zh) * | 2016-04-05 | 2016-09-21 | 广东工业大学 | 一种机器人离线编程系统及方法 |
CN107553496A (zh) * | 2017-09-29 | 2018-01-09 | 南京阿凡达机器人科技有限公司 | 机械臂逆运动学求解方法误差的确定及校正方法和装置 |
CN107901039A (zh) * | 2017-11-13 | 2018-04-13 | 浙江工业大学 | 基于Python的桌面级机器人离线编程仿真系统 |
WO2019136714A1 (zh) * | 2018-01-12 | 2019-07-18 | 浙江国自机器人技术有限公司 | 一种基于3d激光的地图构建方法及系统 |
CN109079776A (zh) * | 2018-07-26 | 2018-12-25 | 福州大学 | 一种工业机器人控制算法动态重构的方法 |
CN109976259A (zh) * | 2019-03-19 | 2019-07-05 | 南京工程学院 | 一种基于vtk的机器人自由曲面工件打磨离线编程方法 |
CN110694828A (zh) * | 2019-09-03 | 2020-01-17 | 天津大学 | 一种基于大型复杂曲面模型的机器人喷涂轨迹规划方法 |
CN110625615A (zh) * | 2019-09-25 | 2019-12-31 | 华中科技大学 | 一种机器人离线编程信息处理系统及方法 |
CN111013857A (zh) * | 2019-12-11 | 2020-04-17 | 北京东方昊为工业装备有限公司 | 一种喷涂机器人控制系统及控制方法 |
Non-Patent Citations (1)
Title |
---|
聂振华等.《工业机器人离线编程技术》.西安电子科技大学出版社,2020,143-144、150-151. * |
Also Published As
Publication number | Publication date |
---|---|
CN114603552A (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11325256B2 (en) | Trajectory planning for path-based applications | |
Neto et al. | Direct off-line robot programming via a common CAD package | |
Bagnell et al. | An integrated system for autonomous robotics manipulation | |
Neto et al. | High‐level robot programming based on CAD: dealing with unpredictable environments | |
Fang et al. | A novel augmented reality-based interface for robot path planning | |
US11766780B2 (en) | System identification of industrial robot dynamics for safety-critical applications | |
US20150190926A1 (en) | Method and system for off-line programming of multiple interacting robots | |
Gammieri et al. | Coupling of a redundant manipulator with a virtual reality environment to enhance human-robot cooperation | |
CN104699122A (zh) | 一种机器人运动控制系统 | |
US11559893B2 (en) | Robot control for avoiding singular configurations | |
US20210379762A1 (en) | Motion planning and task execution using potential occupancy envelopes | |
EP3620273A2 (en) | Methods and apparatus for robot control | |
US11919173B2 (en) | Motion planning and task execution using potential occupancy envelopes | |
US20230286148A1 (en) | Robot control parameter interpolation | |
Glogowski et al. | Robot speed adaption in multiple trajectory planning and integration in a simulation tool for human-robot interaction | |
CN114603552B (zh) | 一种机器人仿真方法、电子设备和存储介质 | |
Fiorini et al. | A PC based configuration controller for dexterous 7-DOF arms | |
Pickett et al. | RoboTeach: An off-line robot programming system based on GMSolid | |
Pedrosa et al. | A skill-based architecture for pick and place manipulation tasks | |
WO2018180298A1 (ja) | ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム | |
Sun et al. | Direct virtual-hand interface in robot assembly programming | |
US20240165806A1 (en) | Motion planning and task execution using potential occupancy envelopes | |
Mueller et al. | Framework for automated program generation of HRC applications | |
KR101956504B1 (ko) | 로봇 시뮬레이터를 제공하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 | |
El-Zorkany | Robot programming |
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 |