Production planning for cloud-based additive manufacturing—A computervision-based approach论文笔记

声明:文中所有观点仅代表个人见解,若有不妥之处欢迎指正。

这篇论文于2019年 被 SCI 2区 "Robotics and Computer-Integrated Manufacturing"录用。原文链接

目录

1.Problem Statement

2.CVAMPP approach

2.1 Part sorting

 2.2 Placement

3. Two kinds of placement approaches

3.1 Object-based approach

3.2 Scene-driven approach


1.Problem Statement

本文是针对基于云制造的大批量3D打印任务的任务规划方法,适用于多机器多批次打印。

研究假设:

(1)打印机器,材料及重要参数已经预先设定好了

(2)零件的打印方向已经确定

(3)零件在打印平台上的位置及绕竖直方向的旋转角度对其打印质量的影响可以忽略

研究目标:

(1)在每个打印平台上放置尽可能多的零件

(2)每个任务需要在规定的时间内完成

(3)尽量在一次打印中保持一致的打印高度,已得到更好的打印质量

2.CVAMPP approach

两个步骤:

(1)对零件进行初步分组,取得较好的效果。

(2)改进的基于视觉的方法,对于分组的零件,确定具体放置位置。

2.1 Part sorting

首先,根据任务的高度对任务进行分组,将高度相近的零件放置在相同的打印空间中。为简便起见,本文将它们按均匀分布的间隔(如0-50 mm、50-100 mm、100-150 mm)分组。步长可根据不同情况(如零件高度分布、打印机高度)调整。规划过程每次只考虑一组。如果在整个组嵌套后还有剩余空间,系统将考虑其他组中的部分。

在每一组中,根据他们的投射区域和紧急程度(截止日期前剩余时间)对部分进行分类。投影面积较大的部件通常很难放置在分段空间中,所以当空间没有被占用时,它们需要先放置。与此同时,接近其最后期限的部分也需要放在优先级高的位置。

这里使用加权和方法来计算排序.  

 投影面积:

通过这个公式计算投影面积的大小,是一个线性函数

紧急程度:

分子=整个订单剩余的时间减去一批次打印通常的时间,减运输时间,减去当前零件的剩余截止时间,

该公式值越大,说明紧急程度越低。

当距离截止日期还有很长一段时间时应缓慢变化,当截止日期接近时应迅速增加。因此,选择零件剩余时间与其时间指标的二次关系(上图2(b))。

 2.2 Placement

 本文方法基于2D放置问题,即从上方竖直向下朝打印平台投影,根据投影进行零件的放置规划,且零件的打印方向给定,只考虑绕竖直方向的旋转。

向打印平面进行投影:投到的像素为1,空像素为0.

 

流程图如下:

 先建立一个新的打印矩阵(scene),按照放置顺序根据基于对象的放置方法逐一放置。若还有零件未被放置(或其他分组内还有零件未被放置),使用基于场景的放置方法寻找可以放置的位置,若找到则放置,否则继续使用基于对象的放置方法。知道该打印区域放满,创建下一个打印矩阵。

3. Two kinds of placement approaches

3.1 Object-based approach

基于对象的放置方法(适用于大零件):

初始位置:

零件向打印平面投影的OBB,沿着轴向(平行于轴向放置)一共有四种放置方式(每90°一种),选择其最短边平行带打印平面y轴的方向为初始位置。

如下图a,H为短边,平行于y轴,或旋转180°放置。

 

  上图中:c是待放置的零件投影(其原点是左下角的店),a是当前打印区域中已经放置的结果,按照c的长和宽,将打印区域扩展得到b(符合左下角优先放置策略)。

通过b,c可以看出待打印零件的h占两个格子,w占3个格子。若将零件原点放置在左上角的p1点,h无法满足,所以无法放置,所以d中最上一行标记为阴影。同理若放置在p2处,w无法满足,所以p2右侧也标记为阴影。

(上述操作具体使用的数学中的膨胀操作实现)

找到了可能放置的位置如d所示,选择一个最好的位置:

 area of nested parts = 放置的零件的投影总面积

area of enclosing rectangle with fixed width = 全部零件的最小包围盒的的面积

(fixed width指的是定宽不限长的装箱,2d strip packing problem)

所以,PD值越大,代表放置的零件越紧凑,浪费的空间越少,so PD=1 是最理想的情况

对上一步中计算出的所有的可能位置,计算对应的PD值,选择PD最大的作为最终放置位置。

若PD相同,进一步计算attachment:

 先寻找零件边界,创建边界像素,在打印区域外或在别的模型上,像素赋1,否则赋0,计算总的值,值越大说明放置的位置周围不能放置了,优先放置在这种位置上利于后续其他零件的放置。所以选择attachment大的位置。

上图在计算图4a与图5a两种放置位置,他们PD一样大,但图4aattachment大,所以选择图4a放置。

3.2 Scene-driven approach

基于场景的放置方法(适用于小零件):

 先找到给定场景中所有空隙空间的轮廓形状。然后迭代场景中的空的轮廓形状和未放置的零件轮廓形状,对每对空形状和零件形状进行比较,识别出匹配良好的空形状。如果发现匹配,就使用膨胀操作(同object-based approach)来找到可能的放置位置,并选择左下角的位置。

匹配空形状与零件形状:

 

转角测量方法,从底边中心逆时针沿着边走,s为走的距离,Θ是转的角度。若存在空形状与零件形状匹配的话,图像中一定有两条折线的走势是相同的,对其进行一定角度旋转,即可重叠。即找到了空位置放置当前零件。


实验部分及结论部分参照论文,不做赘述。

Thanks for reading!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值