亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

FirePick Delta 的项目日志,开源微工厂

软件拓扑和运行原理

OpenPnP 是机器的高级大脑,它​​执行看似简单的事情,例如“拿起那个部分”和“把它放在那里”。许多库和子系统向它提供信息,它通过其他库和软件模块将信息传递给各种电机和执行器。它是由 Jason von Nieda 创建的,早在 FirePick Delta 开始之前。它在技术上仍处于 alpha 状态,但底层软件是可靠的,并已在多台生产机器上使用。虽然它写得很好,并且非常模块化和可扩展,但文档并不好......直到现在。本着开源和完全公开的精神,我们决定自己记录 OpenPnP。希望我们将所有这些都推回官方项目。

上面显示的 Java 文件(“JAR”图标)可以被替换或用作基类,用于提出您自己的机器配置。上面的每个 Java 文件(配置模型除外)都可以在“machine.xml”文件中指定。如果您不熟悉 Java,这可能看起来很奇怪,但它确实很简洁。这意味着您可以指定一堆 .java 文件的路径,这将决定哪些类被实例化和使用,从而改变行为。它使代码真正干净和模块化,这对于像拾取和放置机器这样复杂的东西很重要。 OpenPnP 附带一组参考文件,用于使用 TinyG 运动控制、单头、单喷嘴和致动器、拖带馈送和向下看的相机的普通 PnP 实现。我们修改了很多东西,让它做我们需要的所有疯狂的事情。

运动驱动: 我们使用了一个定制的运动控制器板,它的灵感来自 RepRap RAMPS 1.4 和 Melzi 板,它运行修改过的 Marlin 固件。我编写了一个 OpenPnP Marlin 驱动程序,将正确的 g 代码发送到运动控制器。目前这很有效,但我们发现在内存有限且没有浮点的 8 位 arduino 上进行增量计算和多点 Z 探针校正,当我们拥有所有计算能力时,这似乎有点愚蠢圆周率。此外,我们希望使用相机和自定义 XY 校准应用程序来提高准确性,并且在 Pi 上进行这些计算要容易得多,速度也快得多。但是,此代码不是 OpenPnP 的一部分,因为我们计划在未来提供其他应用程序。这意味着 OpenPnP 不能直接与运动控制器对话,它必须通过一层软件来进行增量计算和 XYZ 校正偏移。我们将所有代码都封装在 FireFUSE(用户空间映射器中的文件系统)中,这使我们可以做很多我们稍后会介绍的整洁的事情。这在大多数情况下是非常透明的; OpenPnP 不是写入‘/dev/ttys0’,而是写入‘/dev/firefuse/sync/cnc/marlin/gcode.fire’。 FireFUSE 会将笛卡尔坐标转换为 delta 坐标,使用机器自动校准过程中的内插点计算误差偏移,并将这个新的 g 代码发送给 Marlin 驱动程序。而且,该代码将是可移植的,可以与 3D 打印应用程序、焊膏分配应用程序等一起使用。让 OpenPnP 与 FireFUSE 通信的唯一需要是 FireFUSE 驱动程序,目前正在编写中。

相机驱动程序和视觉框架 :OpenPnP 的相机支持有点挑剔,不支持出色的 5 兆像素 Raspberry Pi 相机。他们的计算机视觉是 OpenCV 代码之上的一个薄垫片,它实现了一些非常基本的寻孔功能,但并没有太多其他功能。我们的软件专家 Karl Lew 认为这是一个巨大的问题,并且在过去的一两年时间里一直在编写一个名为 FireSight 的惊人的开源视觉库。他编写了几十个很棒的视觉例程,它们可以组合成一个管道,以一种不需要高级数学或低级 C/C++ 知识的非常高级的方式。对于相机,我们使用了前面提到的 RasPi 相机模块,以及名为 FirePiCam 的“raspistill”的自定义版本。我们拍摄快照图像并将它们保存到 FUSE 文件系统,这样我们就不会磨损 SD 卡闪存中的位。为了让 OpenPnP 能够看到图像并执行计算机视觉操作,Karl 编写了一个名为“firerest-client”的 Java 库,让这一切都能正常工作。

图形界面 :OpenPnP Java GUI 非常笨重且不直观,在 2014 年,将专用监视器连接到 Raspberry Pi 似乎有点疯狂,也就是物联网的黎明。我们希望用户界面是可以从任何 HTML5 浏览器查看的自定义 Web 应用程序。 OpenPnP 不直接支持此功能,但可以通过一些工作来完成。幸运的是,Jason 编写了 OpenPnP,您可以在其中调用机器和文件配置函数的构造函数,从而绕过 GUI。由于我们在 github 上找到了一些代码,我们可以使用 node-java 桥从 javascript 调用 java 函数,反之亦然,无需太多工作。剩下的就是让我们使用 node.js、Express、AngularJS 和 Twitter Bootstrap 编写一个聪明的 Web 应用程序。我们现在正处于编写该应用程序的开始阶段。同时,我们可以正常运行OpenPNP并使用库存GUI,这允许我们调试机器的其他部分。

硬件拓扑和工作原理

我们使用标准的 Raspberry Pi Model B+。 B+ 是我们一直想要的 RPi;他们将连接器移到更合乎逻辑的位置,并添加了一组真正的安装孔。仍然有蹩脚的缓慢 Broadcom 2835,但 30 美元,您期望什么。我们经常收到这样的问题:“您为什么使用 BeagleBone Black?”或十几台其他单板计算机。答案很简单。我们正在为一台 300 美元的机器拍摄,这意味着我们需要选择一台便宜的单板计算机。 Raspberry Pi 是最便宜的,因此它获胜。 QED。 🙂 实际上,我们非常喜欢 BeagleBone black,以及其他平台,例如 Allwinner A4、Intel Galileo,甚至更传统的设置,例如 Mini ITX。我们所有的软件和硬件都应该在这些平台上运行。但是它们很贵,而且 Raspberry Pi 可以完成工作。

到目前为止,我们实际上对 Pi 的表现感到惊讶。它的点亮速度不快,但可以执行计算机视觉并毫无问题地提供网页。

ERPIHAT01 帽子板

在 Raspberry Pi Model B+ 发布后不久,RPi Foundation 发布了“HAT”规范,该规范与 Arduino Shield 或 BeagleBone 披风非常相似。这是一个定制形状的夹层板,可以定制为树莓派添加整洁的东西,而无需各种电缆和其他废话。在 HAT 之前有插件模块,但它们没有标准化。我们对新的 HAT 规范很满意,并自豪地在下面展示我们的 FirePick Delta HAT:

以下是我们的 FirePick Delta HAT 的功能列表:

有关更多详细信息:FirePick Delta 的项目日志,开源微工厂


制造工艺

  1. 开源术语介绍
  2. 开源和物联网:通过协作创新
  3. 树莓派的 DHT Tiny Breakout
  4. Raspberry Pi 的最佳配件
  5. SIGHT:For the Blind
  6. 智能笔:ECE5725 的最终项目
  7. 管理建筑项目物流的 3 个技巧
  8. 边缘开源的需求(电子书)
  9. 如何为您的项目选择合适的起重机
  10. 智能眼镜,技术人员的新生产力?
  11. RTC 模块:简单项目的绝对指南
  12. 最适合您项目的小型挖掘机是什么?