ik_caption_image

IndustrialKit

License Xcode 15.0+ SPM

IndustrialKit 是一个开源软件平台,用于创建实现自动化生产设计和控制的应用程序。该框架提供了可以直接使用或扩展和定制的模块,以满足更具体的使用场景。

目录

要求

主要的 IndustrialKit 框架代码库支持 macOS、iOS/iPadOS、visionOS,需要 Xcode 15.0 或更高版本。IndustrialKit 框架的 Base SDK 版本分别为 14.0、17.0 和 1.0。

入门指南

使用 SPM 安装

可以通过 SPM 安装 CareKit。创建一个新的 Xcode 项目,然后导航到File > Add Package Dependences。输入 URL https://github.com/MalkarovPark/IndustrialKit 并选择 main 分支。接下来,选择目标项目并点击 Add Package

package_installation

机器人复杂工作空间

此示例演示了一个完全构建的 IndustrialKit 应用程序。

IndustrialKit

IndustrialKit 是一个总体包,提供了构建工业应用所需的所有类、结构、函数和枚举。

IndustrialKitUI 提供了一些视图和修饰符,用于设计和数据处理任务。

工作空间

Workspace 类描述的是生产复杂的基础,它由机器人、工具、零件组成,并由全局程序控制,全局程序表现为一系列块 - 算法元素。因此,该类包含四种工作空间对象类型(WorkspaceObject 类)的值的数组属性,这些对象类型继承自 RobotToolPart 以及类型为 WorkspaceProgramElement 的全局控制程序的元素。

对于对象数组,使用标准的一组函数,包括添加、删除、选择、取消选择、按名称搜索。但是,某些功能可能不适用于某些对象。

机器人

Robot 类描述了生产系统的一个对象,该对象使用空间位置表示并能够将其机械臂(机械手)端点移动到这些位置。机器人在其属性中包含与 PositionsProgram 类相关的位置程序的数组。

位置程序包含类型为 PositionPoint 的目标位置数组。位置描述了位置 (x, y, z)、其中的旋转角度 (r, p, w)、运动类型和速度。

机器人可以添加、删除和编辑其程序。有用于选择和启动、暂停、重置程序的功能。

工具

技术复杂中使用的其他类型的工业设备由 Tool 类描述。工具可以是独立的,也可以连接到机器人机械手的端点。

与工具的交互通过 opcides 和 infocodes 组织。opcode 负责可执行的技术操作 - 当在 spectial 属性中设置数值时,与代码关联的操作的开始将被初始化。此属性的默认值为 -1,表示不执行任何操作。当操作完成时,opcode 的值将重置为此值。

操作码序列包含在程序数组中,元素是 OperationProgram 类,具有一组具有 OperationCode 类的数值代码值。程序管理与机器人类似 - 有用于添加、删除、选择和执行的函数。

零件

零件构成环境,例如桌子、驱动器、安全围栏等,也代表执行设备直接交互的对象 - 例如机器人组装的零件。由 Part 类描述。

此类有一组属性,用于描述零件的外观和物理属性。零件模型可以通过参数方式获得 - 从长度数组和几何基元的名称获得,也可以从场景文件导入。

连接器

连接器用于连接和控制工业设备。它们分为两个子类型 - 用于切换机器人和工具,分别由 RobotConnectorToolConnector 类描述。

各个模型的连接器继承自这些基类,并具有其自身特定的函数和变量重新定义。

通过 connect 函数执行与设备的连接,断开连接则使用 disconnect。连接状态由 Bool 属性返回。设备状态在字典数组中返回。它们包含返回属性的 String 名称和 Any 类型的值。连接参数在相应的结构数组中设置。

模型控制器

此控制器用于连接和控制渲染场景中的机器人和工具模型。由 RobotModelControllerToolModelController 子类表示。

此外,控制器可以根据指定的参数更改模型。

函数

一些函数,可以在框架中使用,也可以由开发人员独立使用。

扩展

添加了 Float 的方法,用于将弧度转换为度数 – to_deg,反之亦然 – to_rad

SCNNode 提供了新方法 – remove_all_constraints 以删除约束并重置默认位置,remove_all_child_nodes 以从此节点中删除所有子节点。

扩展提供 UIImage (UIKit) 的 pngData 缺失方法。

NSImageNSColor 的别名分别将它们用作 UIImageUIColor (AppKit)。

Ithi 宏汇编器

IndustrialKit 平台的内置编程语言形式化了机器人系统算法化的方法,并组织了各种机器人和设备工具的统一连接和控制。

IndustrialKitUI

对象场景视图

SceneKit 节点的简单视图。仅由 SCNNode 初始化,并具有透明背景。

它具有双击以重置 macOS 上的相机位置的功能。

卡片

用于显示各种对象。可以显示带有图像或 SceneKit 场景模型的描述。

可以与从 WorkspaceObject 继承的对象结合使用。卡片初始化程序传递对象 card_info 方法返回的值。

小卡片没有副标题。

程序元素卡片。如果相应的程序元素正在执行,则标记。

寄存器卡允许编辑寄存器值。

位置视图

提供位置编辑,例如工作空间中生产对象的位置或机器人的目标位置。编辑窗口包含两组三个可编辑的参数

每个可编辑参数都由一个字段和一个关联的步进器组成。所描述的组序列可以以垂直、水平或其他堆栈显示。

位置控制

提供使用滑块的位置编辑。对于位置,应设置上限(下限值为 0)。旋转限制在 -180º – 180º 范围内。

寄存器视图

用于编辑机器人技术综合体的工作区内存的视图。

registers_view

寄存器选择器

用于可以指定从中获取数据的元素、寄存器。此功能由寄存器选择器控件提供。可以选择一个或多个寄存器。

程序元素视图

用于编辑不同类型的 IMA 程序元素(执行器、修饰符和逻辑)的视图。

performers_views modifier_views logic_views

图表视图

输出 WorkspaceObjectChart 图表的数组,可以通过分段选择器在它们之间切换(如果数组的数组的计数大于一)。图表的类型由其属性确定。

状态视图

按 StateItem 数组输出统计信息。如果元素彼此嵌套,它们将显示在相应的披露组中。图标由可用的 SF Symbols 的名称定义。

空间示教器

用于编程和处理工作空间及其组成工业设备的通用 UI 控件。此示教器的内容因特定的选定对象及其类型(工作空间、机器人或工具)而异。如果未选择合适的对象,则此控件的内容为空白。

空间示教器允许您设置程序元素的序列并控制它们的执行。

获取帮助

GitHub 是我们 IndustrialKit 的主要论坛。欢迎提出关于问题、问题或想法的 issue。

许可证

本项目根据 Apache 2.0 许可证的条款提供。请参阅 LICENSE 文件。