System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于低代码配置的机械臂任务执行方法技术_技高网

一种基于低代码配置的机械臂任务执行方法技术

技术编号:43282905 阅读:17 留言:0更新日期:2024-11-12 16:06
本发明专利技术公开了一种基于低代码配置的机械臂任务执行方法,包括定义状态模块,状态模块包括机械臂的位置、位姿、运动学属性、路径约束、外围操作和异常处理;创建YAML或JSON格式的低代码任务配置文件,表示不同级别的条目之间的层级关系;构建包含任务数组或列表、子任务、状态模块及其属性的任务树形结构;定义数据结构与节点类型,将文本形式的任务配置转换成可供程序处理的数据结构;解析YAML格式或JSON格式的任务树形结构配置,将其读入满足树形拓扑结构的数据结构中;执行任务树数据结构,遍历每一个节点,根据每个节点定义的状态模块和属性,配合机械臂驱动实现任务执行操作。本发明专利技术简化了机械臂任务的编程过程,提高了任务执行的灵活性和可靠性。

【技术实现步骤摘要】

本专利技术涉及机械自动化控制的,具体一种基于低代码配置的机械臂任务执行方法


技术介绍

1、随着工业自动化和智能制造的发展,机械臂在生产制造、物流仓储、医疗健康等多个领域得到了广泛应用。传统的机械臂任务执行方法通常依赖于专业编程人员使用复杂的编程语言来编写控制代码,这种方式不仅开发周期长、成本高,而且对操作人员的技术要求较高,限制了机械臂的普及和应用。

2、传统的机械臂任务执行方案主要依赖于专业编程人员使用复杂的编程语言来编写控制代码。这种方式的优点在于可以实现高度定制化的任务执行逻辑,满足复杂多变的工业需求。然而,其缺点也十分明显:开发周期长、成本高,对操作人员的技术要求较高,限制了机械臂的普及和应用。此外,传统的编程方式难以适应快速变化的生产环境,难以实现快速迭代和更新。

3、现有技术方案,如基于图形化编程的机械臂任务执行方法,通过提供可视化编程界面,降低了编程难度,使得非专业人员也能进行简单的任务配置。然而,这类方案往往存在功能局限性,难以满足复杂任务的需求,且在处理大规模、高并发的场景时,性能和稳定性可能受到影响。

4、本技术方案通过引入低代码配置的机械臂任务执行方法,旨在解决现有技术的不足之处。首先,低代码配置文件使得任务配置更加直观和简便,降低了对编程技能的要求,提高了任务配置的效率。其次,通过将任务组织成树形结构,本方案能够更好地管理复杂的任务逻辑,支持任务的分层和模块化设计,提高了任务的可维护性和可扩展性。最后,本方案通过解析配置文件来控制机械臂的动作序列,使得任务执行更加灵活和动态,能够快速适应生产环境的变化,提高生产效率和灵活性。


技术实现思路

1、一种基于低代码配置的机械臂任务执行方法,包括以下步骤:

2、s1、定义状态模块,所述状态模块包括机械臂终端tcp的位置、位姿、运动学属性、路径规划约束条件、该位置和位姿前后依赖的外围操作和异常逻辑处理的状态序列;

3、s2、创建低代码任务配置文件,所述配置文件以yaml格式存储或json格式存储,用来表示不同级别的条目之间的层级关系;

4、s3、构建任务树形结构,所述结构包含任务数组或列表、子任务、状态模块及其属性,使用树形结构来组织任务配置;

5、s4、定义数据结构与节点类型,进行解析和存储低代码组织的树形任务配置序列,将文本形式的任务配置转换成可供程序处理的数据结构;

6、s5、解析低代码任务配置文件,将yaml格式或json格式的任务树形结构配置读入到数据结构中,所述数据结构同样满足树形拓扑结构,便于软件执行时遍历任务序列的每一个节点;

7、s6、执行任务树数据结构,遍历任务树数据结构中的每一个节点,根据每个节点定义的状态模块和属性,配合机械臂驱动实现机械臂的任务执行操作。

8、优选的,所述状态模块具体的包括:速度和加速度、关节坐标系路径和笛卡尔坐标系路径、执行前外围操作、执行后外围操作、执行后时间间隔、异常逻辑处理的状态序列;

9、所述速度和加速度,用于定义机械臂移动到该位置或位姿的速度和加速度;

10、所述关节坐标系路径和笛卡尔坐标系路径,用于规划机械臂的移动路径;

11、所述执行前外围操作是用以开始执行该路径点前的外围操作,所述外围操作包括但不限于开关量操作、触发类型操作和自定义io类型操作,所述外围操作还定义了执行该操作失败后尝试的次数、执行该操作前后的延迟时间、开关量的状态值以及io类型操作的具体属性;

12、所述执行后外围操作是用以该路径点执行完毕后的外围操作,所述外围操作同样包括开关量操作、触发类型操作和自定义io类型操作,所述外围操作还定义了执行该操作失败后尝试的次数、执行该操作前后的延迟时间、开关量的状态值以及io类型操作的具体属性;

13、所述执行后时间间隔使用以该路径执行完毕后的时间间隔,定义了执行完该路径点后等待的时间;

14、所述异常逻辑处理的状态序列是用以执行该状态失败后的异常逻辑处理的状态序列,通过goto跳转至其他状态模块进行恢复操作,所述goto跳转定义异常出现后尝试执行的最大次数。

15、优选的,所述s2中低代码任务配置文件以yaml格式存储或json格式存储,所述yaml格式存储通过缩进来表示不同级别的条目之间的层级关系;所述json格式存储通过“{}”包围来表示不同级别的条目之间的层级关系;所述yaml格式存储和json格式存储支持向量vector数据类型和映射map数据类型;所述向量vector数据类型为数组型数据;所述映射map数据类型为带有唯一关键字的哈希数据。

16、优选的,所述s3中的任务树形结构通过低代码任务配置文件定义,所述任务树形结构由一个父节点对应多个子节点组成,所述子节点以数组或列表的形式顺序组合,所述顺序组合为:父节点>子节点数组或列表>子节点属性数组或列表。

17、优选的,所述s3中的任务树配置具体的包括:

18、所述任务树配置定义了三层最基本的节点结构:顶端父节点、中间层节点和底层节点;

19、所述顶端父节点为“arm task”为任务树的根节点;

20、所述中间层节点为“tasks”子节点数组或列表,为一系列的任务节点,每个任务节点由“name”表示;

21、所述底层节点为“poses”数组或列表,每个“poses”节点对应一个“name”节点,并且包含一系列的“pose”节点;所述“poses”数组或列表中的每个子节点“pose”表示一个状态模块;所述状态模块中的各类属性和前后依赖的外围操作以子节点的形式定义;

22、所述任务树配置定义“必要”和“可选”两种节点类型,其中必要的节点必须存在并设置对应信息,而可选节点根据实际需求省略,默认采用预设值。

23、优选的,所述s4数据结构具体的包括:向量vector数据类型和常规数据类型:

24、所述向量vector数据类型,以方括号“[]”包围数据,数据间使用逗号“,”分割;

25、所述常规数据类型是一个byte的数据,数据类型包括10进制/16进制数据或字符串数据。

26、优选的,所述s4节点类型具体的包括任务节点和状态节点:

27、所述任务节点,归属于数组或列表“tasks”,以关键字“name”的子节点为一个新任务的开始,同时任务节点包含状态节点的数组或列表“poses”作为子节点,所述子节点“name”与“poses”为同级子节点;

28、所述状态节点定义了机械臂执行路径中每一个路径点的tcp端位置和位姿,及其属性和需要与外围交互的操作;所述状态节点包括必要的“pose”节点、外围操作节点和其他可选节点。

29、优选的,所述外围操作节点为开始执行其所属的状态节点前的类型,以及执行完毕其所属的状态节点后的类型,所述两个类型的节点结构、属性、子节点的本文档来自技高网...

【技术保护点】

1.一种基于低代码配置的机械臂任务执行方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述状态模块具体的包括:速度和加速度、关节坐标系路径和笛卡尔坐标系路径、执行前外围操作、执行后外围操作、执行后时间间隔、异常逻辑处理的状态序列;

3.根据权利要求1所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述S2中低代码任务配置文件以YAML格式存储或JSON格式存储,所述YAML格式存储通过缩进来表示不同级别的条目之间的层级关系;所述JSON格式存储通过“{}”包围来表示不同级别的条目之间的层级关系;所述YAML格式存储和JSON格式存储支持向量vector数据类型和映射map数据类型;所述向量vector数据类型为数组型数据;所述映射map数据类型为带有唯一关键字的哈希数据。

4.根据权利要求1所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述S3中的任务树形结构通过低代码任务配置文件定义,所述任务树形结构由一个父节点对应多个子节点组成,所述子节点以数组或列表的形式顺序组合,所述顺序组合为:父节点>子节点数组或列表>子节点属性数组或列表。

5.根据权利要求1所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述S3中的任务树配置具体的包括:

6.根据权利要求1所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述S4数据结构具体的包括:向量vector数据类型和常规数据类型:

7.根据权利要求1所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述S4节点类型具体的包括任务节点和状态节点:

8.根据权利要求1或7所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述外围操作节点为开始执行其所属的状态节点前的类型,以及执行完毕其所属的状态节点后的类型,所述两个类型的节点结构、属性、子节点的定义完全相同,区别在于他们被执行时的时间点;所述两个类型的子节点中定义三个标准子类:bool开关量类型、触发类型、IO类型。

9.根据权利要求1所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述S5解析低代码任务配置文件通过解析YAML格式或JSON格式的配置文件来构建任务的树形结构,每个任务节点可包含一个或多个子任务节点,将任务树转换为数据结构,每个任务节点具有唯一标识符、状态以及子任务列表,通过递归处理构建完整解析结构,指导机械臂按预定义顺序执行任务,支持动态调整任务执行顺序或条件跳过某些任务,从而提高任务管理的清晰度、可维护性和可扩展性。

10.根据权利要求1所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述S6执行任务树数据结构通过遍历任务树数据结构中的每个节点,根据每个节点的状态和属性,调用相应的机械臂驱动程序执行操作;使用递归算法处理每个任务节点及其子任务节点,确保所有子任务按预定义顺序执行;所述执行任务树数据结构支持动态调整任务执行顺序和实时更新任务状态,允许在执行过程中动态修改任务参数或状态,以适应环境变化或任务需求的变化。

...

【技术特征摘要】

1.一种基于低代码配置的机械臂任务执行方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述状态模块具体的包括:速度和加速度、关节坐标系路径和笛卡尔坐标系路径、执行前外围操作、执行后外围操作、执行后时间间隔、异常逻辑处理的状态序列;

3.根据权利要求1所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述s2中低代码任务配置文件以yaml格式存储或json格式存储,所述yaml格式存储通过缩进来表示不同级别的条目之间的层级关系;所述json格式存储通过“{}”包围来表示不同级别的条目之间的层级关系;所述yaml格式存储和json格式存储支持向量vector数据类型和映射map数据类型;所述向量vector数据类型为数组型数据;所述映射map数据类型为带有唯一关键字的哈希数据。

4.根据权利要求1所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述s3中的任务树形结构通过低代码任务配置文件定义,所述任务树形结构由一个父节点对应多个子节点组成,所述子节点以数组或列表的形式顺序组合,所述顺序组合为:父节点>子节点数组或列表>子节点属性数组或列表。

5.根据权利要求1所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述s3中的任务树配置具体的包括:

6.根据权利要求1所述的一种基于低代码配置的机械臂任务执行方法,其特征在于,所述s4数据结构具体的包括:向量vector数据类型和常规数据类型:...

【专利技术属性】
技术研发人员:邹欣珏黄渊海刘强
申请(专利权)人:云南自由贸易试验区苇航智能科技有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1