前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >缝合怪,NO! 缝合工程,YES!

缝合怪,NO! 缝合工程,YES!

作者头像
UDM Lab
发布2021-01-14 14:30:12
6820
发布2021-01-14 14:30:12
举报
文章被收录于专栏:UDM LabUDM Lab

"前段时间受到shadow和博文的邀请,先后在mixlab和川美做了一个简单的小分享,希望我能够说说关于我在做一些有趣的事情和想法,也是接着这个机会,也是把好久没有整理的东西稍微整理了整理。"

缘由

不知道大家一开始看到这个标题第一反应是什么。其实我的第一反应,就是这个“缝合怪”的变身场景。

来自鹿模拟器

这个荒诞、无厘头的拼凑组合,第一次看到的时候,给我带来了极大的精神冲击。实际上这种“缝合怪”在各种影视剧、游戏作品中都以不同的形式,时有出现。最广为人知的,也当数科幻小说始祖《科学怪人》中的弗兰肯斯坦的怪物,小说中的主人公通过在坟场中精细挑选挖掘尸块,以专业知识判断还能使用哪部分,再将之拼成人型,通过电击赋予他生命。

弗兰肯斯坦的怪物剧照

而实际的“缝合怪”也是类似的。下面是magicleaps在2015年发布的他们最早的AR眼镜的原型机。可以看到暴露着的大型电路板,硕大厚重的镜片,以及毫不掩饰的热熔胶的痕迹。其实很容易发现,这个原型,很可能就是各种物件上的拆解再组合,所以才有了这个“缝合怪”模样。

magicleaps早期原型

不过就算是这个看上去很夸张的“缝合怪”,还是点燃了当时的人们对于增强现实的无尽想象。

其实我第一眼看到这个的时候,感觉还是非常亲切的,因为一直以来,我就在捣鼓的各种各样的“缝合怪”,也是如此,我也慢慢的萌生出了“缝合工程”的概念。

什么是缝合工程

简单的定义一下,缝合工程就是对现有的组件,进行挑选、拆解再组合,从而达成新目标的方法。

软硬件的缝合过程

对于整个的缝合过程,一般来说是如此处理的:首先是需要确认核心问题,然后就是就是从核心的问题出发,拆分出所需要的功能模块,再挨个对功能模块去寻找对应的解决方案,最后进行整体的缝合。

举个例子

举一个实际搭建自装配实验台的小例子,看一下是怎么操作的。自装配实验台在很早的时候有一期推送中详细说明过,这里就简要说一下实验台搭建过程中的缝合过程。

[毕设] 更大尺度下自装配规律探索-基于于乒乓球的气流无序装配实验

1.确认问题

首先,对于这个实验台,我需要的是搭建一个针对乒乓球的自装配实验,就是通过控制气流,把一堆球,自发的装配成特定的形状。所以简单的说,就是要科学的把一堆球吹成一坨。那么就需要思考如何去吹,如何科学的吹。

2.拆分模块

针对以上的问题,就是需要进行模块的拆分,首先如果要吹起乒乓球,那就需要一个 人造风场,如果要让乒乓球自发装配,那么就要进行元胞的设计;科学的吹球则是需要能对吹球进行干预、跟踪、模拟。

3.寻找方案

针对拆分出来的功能模块,那就是需要去寻找对应的解决方案了。

人造风场

直接选用无人机上的无刷电机以及对应的电调,通过PWM直接控制

元胞设计

通过3D打印模具胶粘磁铁,完成元胞的制作。

干预吹球的方式

通过动态控制风速的大小以及添加数控遮板,数控遮板直接为CNC上拆卸的步进电机以及控制器,搭建平面的结构,直接通过Gcode传递坐标点完成遮板的控制。

跟踪吹球的过程

调用opencv的颜色识别,通过对乒乓球的颜色追踪,得到热力图

模拟吹球的结果

通过对pythonocc编写脚本,完成对装配结果可能性模拟。

4.完成缝合

通过将上述的方案进行整合,完成实验台的搭建。

然而对于软件上的缝合,大家可能有一个更加广为人知的名字,就是workflow(工作流),我们之前的推送中也多次提到各种各样的工作流,例如从python到processing,从processing到gh,从gh到illustrator这种,而实质上就是针对不同的软件工作环境,通过开发对应的接口,完成数据的串流,从而实现目标。

而软件中的缝合并不像是硬件上物理的方式,而是需要通过各种数据接口进行串联,有时候还要对一些开源代码进行裁切再组合

不过实际操作中也是硬件中类似,同样的也是先确认问题,再拆分模块,寻找对应方案,最终进行整体缝合打包。

缝合工程的核心思想与能力

针对前面说的一些,我们可以总结出缝合工程的核心思想,也就是方法。大致有2点。

模块化的解构,针对问题以一个个的功能模块进行拆分,把需求定义的明确。尽可能的不要造轮子,做基于最大可用模块级别的开发。什么是最大可用模块,就是能满足需求最直接的解决方案,就比如装配实验台中的数控遮板,直接是通过将CNC控制系统中拆分出来,并不需要去编写控制步进电机的算法,坐标系的表达等等等,这样是最为快捷与稳定。避免自己掉入重新造轮子的陷阱之中。

所以这也对能力提出了要求。首先就是需要有快速可信多维度的信息收集能力,比如通过网络,书籍,论文,专业的从业人士,去过滤无效信息 ,锁定核心问题,从而降低试错的成本。最有效的方式就是通过专业人士获得信息,而跨界社群,则是能够找到各个领域中专业人士最便捷的渠道。

另一方面就是需要有全方位的技术栈,这个是确保有足够的接口能力以及二次开发能力。面对全新问题的时候,这样才能快速的展开行动。

缝合工程的优势与劣势

总得说来,优劣也是非常的明显,优势首先是时效性非常好,可以在很短的时间内达成既定目标。同时灵活敏捷,可以非常方便的进行修改和变动,因为都是才众家所长,困难的部分都是已经被解决了,所以就是短期经济性高,能以较高的性价比完成原型的搭建。因为也是完成了整个功能模块的拆分,那么就有了清晰的道路认识,这个对后续的发展至关重要。

劣势则是因为是“缝合”方案,所以整体来说稳定性差,且批量成本高部署困难。因为无论是硬件还是软件,那些被“缝合”的组件并不是天生在一起的,可能就会面临了着各种复杂的环境以及困难集成方案,这样对于批量部署来说,都是很大的障碍以及挑战,这些都会体现在成本上,同时“缝合工程”最大的劣势是风险来自于外部,自身缺乏完整的控制力,对于用于缝合的组件,可能会面临着失去维护以及供货,也会面临着被竞争对手的快速复制的可能性,难以建立壁垒

不过,万事开头难,缝合工程的目的并不是说打造一个完美的产品,而是通过快速的“缝合”,多快好省的摸清道路,验证想法,从而指导后续的决策。能够到这,我觉得这个缝合也是完成了应有的使命了吧。

最后,想要加入跨界社群?

公众号后台回复“UDM Club”,加入群聊和我们交流。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 UDM的神仙们 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 缘由
  • 什么是缝合工程
  • 软硬件的缝合过程
    • 1.确认问题
      • 2.拆分模块
        • 3.寻找方案
          • 4.完成缝合
          • 缝合工程的核心思想与能力
          • 缝合工程的优势与劣势
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档