用机器人做奶茶,「茶里小怪兽」为什么看好餐饮自动化?
机器人厨师听起来是个科幻小说里的桥段——但它已经离我们越来越近。
2018 年底,软银 3.75 亿美元投资披萨外卖公司 Zume,使其以 15 亿美元估值跻身独角兽行列,Zume 的卖点便是用机器人制作披萨。同样是 2018 年底,海底捞花费 1.5 亿人民币打造了一间智慧火锅店,大量机器人负责配菜、传菜、清洗餐具、搭配锅底。今年 3 月,快乐柠檬和阿里口碑合作,在其首家智慧门店里应用机械臂制作奶茶。
明星初创企业和巨头们的动态表明:
36氪最近接触到的现制茶饮品牌“茶里小怪兽”便推出了一个“无人奶茶工作站”,其主体是一个臂长 1.8 米的六轴机器人,能支持 18 个SKU,放置在全封闭透明玻璃房中,可以实现点单——制作——取单全流程无人化,消费者也能在机器前直接看到奶茶的制作过程。
2019 年 1 月,茶里小怪兽的初代概念店在上海徐汇测试运营,14 天中接到 2000 多个订单,最多的一天单天制作了 200 多杯奶茶,工作时间 17 个小时。
联合创始人兼 COO 高紫梁告诉36氪,茶里小怪兽希望基于自动化和数字化”技术,成为一个为消费者提供更高品质、更高性价比、更好体验的现制茶饮品牌。 概念店的试运营初步验证了消费者对机器人制作奶茶的接受程度,接下来茶里小怪兽会继续打磨该产品,预计于今年 9 月实现量产。
茶里小怪兽无人奶茶站概念图
“档口型”奶茶店——体量大、增速高
高紫梁告诉36氪,本质上,茶里小怪兽是个茶饮品牌,做的是餐饮生意,看好传统连锁档口形态奶茶店的升级机会 。
近年来,伴随着“喜茶”、“奈雪的茶”等明星项目出现,“新茶饮”已经作为一个独立赛道被资本密切关注。观察这一方向,可以发现:
现制茶饮市场大、增速快。 艾媒咨询数据显示,2018 年中国新中式茶饮市场规模超 900 亿元。美团点评报告最新报告更表明,2018 年我国茶饮市场全面爆发,截至第三季度,全国现制茶饮门店数达到 41 万家,一年内陡增 74%。
但现制茶饮门槛不高,产品同质化严重,竞争十分激烈 ,头部品牌也时常陷入产品抄袭争端中。
门店大量依赖人力。 茶饮制作流程包括萃茶、煮珍珠、打奶盖、加冰块等诸多环节,“标准化”是个大难题。在36氪最早对喜茶的报道中提及,留样拼配和流水化操作成为保证口感统一、产品稳定的关键——这也意味着,品牌需要在员工培训、产品监管等方面投入大量精力,才能实现千店一面。
“比起开大店的茶饮版星巴克们,茶里小怪兽对标一点点、Coco、快乐柠檬,客单价在 7-22 元,争取空间更大的腰部市场。”高紫梁表示。
作者查询相关信息发现,快乐柠檬官网显示其门店超 1000 家,Coco都可则有报道显示其在大陆门店已突破 3000 家。这也符合一般市场逻辑,中端腰部玩家会占据较大份额。但与 41 万的门店基数相比,奶茶店整体的连锁率仍然不高,存量市场里也有大量个体小店可以取代,且三四线城市仍有大量增量空间。
用“自动化”和“数字化”打造升级版档口店
高紫梁介绍到,茶里小怪兽创始团队在软硬件、自动化及新零售领域经验颇丰,以前更多是服务 B 端大客户。他们认为,伴随着互联网基础设施基本成熟,到达了自动化和数字化进入民用生活的节点,高效率、低成本的硬件设备会逐步替代掉重复劳作。
在一份麦肯锡 2016 年的报告中,住宿和餐饮服务(Accommodations and food service)被列为最有可能被自动化机器取代掉的部门 ,因为在这类服务中,“可被预测的体力劳动”(Predictable physical work)——或者说重复性劳作,占比非常高,机器完全可以胜任。
在36氪看来,使用机器替代人力的大前提是,保证产品质量一致。对于经营者而言,取代的动力在于:机器出品质量标准化、效率稳定、全天无休、不愁招不到人、管理经营更加省事。
但能否被真正接受,还要看部署和运维成本是否到达替换节点。
拿连锁档口店的头部玩家之一“一点点”来看,作者从其官网了解到,不包含门店押租金及员工招聘薪资,其单店启动成本约在 40 万元左右,员工培训需要 60 天。后续运营时,奶茶店的成本结构一般是地租 5 成、人力 3 成(不同店型会有不同)。
再看茶里小怪兽目前研发的无人奶茶工作站,由于尚未进入到量产阶段,设备具体成本暂不透露。但根据团队测算,单店坪效会是传统门店的 6 倍,单店回本周期会在 2-4 个月。
茶里小怪兽计划推广的店型是:6 平米左右小店(设备需要的操作空间小于人力操作),1 台设备负责制作,1 位工作人员负责与消费者交互、提升体验。
这意味着,如果能保证运维成本不会过高,由于兼具小店型低房租、少员工低人力,伴随着运营周期拉长,机器人奶茶店的成本优势会更加明显。
高紫梁表示,近几年来国内工业领域对机械臂的应用大大增加,相关技术及上游产业已经比较成熟。面对竞争,茶里小怪兽的优势在于:物联网运营能力上具备技术壁垒,目前的竞品大多采用单 PLC 管理,实现不了全链路的数字化,无法快速复制;茶里小怪兽则在一开始便设计了远程控制模块,到了大规模复制阶段,可以在云端对所有门店里的所有机器监测、管理。
而真正到了终局,这一赛道还会是个“餐饮”生意,上游供应链掌控、产品研发,以及最重要的品牌建设,都会影响到谁能跑出来。
团队背景
创始人兼 CEO 王司嘉出身自动化家庭,近 10 年于上海冀晟自动设备有限公司任副总经理,管理近 150 人团队,并与机器人自动化企业 ABB、KUKA、FANAC 等紧密合作过 10 年。
联合创始人兼 COO 高紫梁曾任 JZL.Com 的销售及运营总监,为近 2000 家企业提供联合营销咨询和策划服务;2014 年任舞象合伙人及 CMO,曾是阿里新零售服务核心供应商。
联合创始人兼 CTO 吴丹于 2010 年获香港大学博士学位,后在美国工程软件开发商 Altair 担任核心算法工程师,2014 年任舞象合伙人,打造了 Social CRM 新零售会员营销平台。
——————————
本文头图来自:Unsplash
教你用三菱PLC制作《超级玛丽》,仿真运行无需硬件
昨天在我的西瓜视频更新了PLC制作的《超级玛丽》的演示视频:
视频链接: (GX Works3制作《超级玛丽》(2))
再来个动图:
这个游戏虽然玩起来简单,但做起来内容太多了,以一人之力做起来不太现实,所以希望通过讲解这个程序的制作方法,来让更多的人参与其中,丰富游戏内容。
私信“超级玛丽”可以获得程序下载地址。
HMI界面
想要显示出内容必须要有屏幕,常用的HMI都有内置的开关、指示灯,可以用字指示灯 来代替屏幕的像素,通过D软元件的值来控制指示灯显示的颜色。
那这个颜色是按照什么规律设置的呢?我是按照Excel里面get.cell函数里对于单元格颜色定义的顺序来设置HMI指示灯颜色的,这个函数的颜色定义可以在网上找到:
为什么要用excel的函数定义呢?后面会讲到。
这个函数一共定义了56种颜色,虽然我们用不到这么多,但我还是勤劳的把所有颜色都设置了!
一个像素(指示灯)的颜色设置完成后,我们将像素的大小尺寸调整一下,这里设置的是10*10;常用屏幕都由很多像素构成,也就是所谓的分辨率,但由于HMI能显示的指示灯数量有限,我们设置这个虚拟屏幕的分辨率为 30*30;方法是右键点击刚刚制作的指示灯,选择“连续复制”:
在连续复制的窗口中设置X,Y方向的数量、间隔,最重要的是要勾选“进行软元件号增量”,方向要先↓后→,这是为了方便跟程序中的数组地址对应。最后添加4个方向按钮用于控制游戏人物的动作,HMI虚拟屏幕制作完成:
我们在PLC全局标签内建立一个容量为30*30的二维数组,设定起始地址软元件为D0与HMI的虚拟屏幕对应
这样就可以用XY坐标来定位像素的具体位置,例如我们想要将第4列第5行的像素显示黑色,通过查看颜色定义知道黑色色号为1,只需要写gDisplay[3.4]:=1 即可。
制作游戏元素
超级玛丽游戏中包含很多元素,背景:大地、山丘、树木、蓝天白云、水管、石块。。。。
动态人物:马里奥、蘑菇怪、乌龟怪、炮弹。。。。
想要将这些元素在我们制作的屏幕中显示出来,需要算出这些图片在我们的屏幕数组中每一个变量的颜色号。以主角马里奥为例,展示我的制作方法:
1.先在excel中,按照网上找到的像素图片,使用“填充颜色”画出马里奥模型:
2.然后使用get.cell函数,得出每一个单元格颜色号(get.cell函数的使用方法自行百度):
想要保存这个数据,需要在程序中建立一个容量为16*17的二维数组。为了简化程序篇幅,我们将数据保存至FC函数中。
3.建立函数 FC_Mario,设定返回值为:字[有符号](0..15,0..16),
4.在刚才的excel中使用简单的公式和下拉操作,将FC_mario赋值:
5.将表格中的内容复制到程序的FC_Mario中:
这样一个图片元素的制作就完成了,我这里在马里奥的FC中还添加了States变量,来选择马里奥的不同姿态。
使用上述方法制作所有元素:
到这里,我们已经可以写几行代码的在虚拟屏幕中显示图片了,可以将上面建立的FC返回值传递给一个容量相同的数组,再使用两层for循环传递给屏幕显示数组gDisplay,画面中就会显示对应的图片。例如显示马里奥:
adjMario:=FC_Mario(0);
for ii:=0 to 15 do
for jj:=0 to 16 do
gDisplay[ii,jj]:=adjMario[ii,jj];
end_for;
end_for;
adjMario为与FC_Mario元素相同的双层字数组,感兴趣的可以试试。
编程
我们将程序通过iStep的值分为3个部分来编辑:
case iStep of
0:
//初始化地图
1:
//计算显示位置
2:
//刷新屏幕
end_case;
初始化地图
屏幕的尺寸很小,不能显示游戏的整个地图,所以我们需要一个容量更大的数组来存储整个地图的所有元素。
我们仍然先在excel中复制刚才画好的元素构建出整个地图:
1:根据地图大小,声明一个容量对应的数组做为游戏背景地图 ,例如我这个是176*60;
我这里建立了4个标签,两个常量表示数组X、Y两个方向的最大值,方便后面程序更改。一个背景元素显示数组BackGround ,和一个背景元素属性数组bgAttribute 。显示数组用来保存各个元素的颜色数据;属性数组用于保存元素的属性,比如0是背景,人物可以重叠,1是固定物体,人物不能重叠,用于判断碰撞。
以后可以增加其他属性,比如怪物可以是2,可以下蹲进入的管道是3,变大的蘑菇buff是4等等。
2:设置背景色
在地图中没有元素的格子认为是蓝天,设为蓝色,查找一个蓝色的号码比如47,属性是可重叠,设为0:
3:添加位置不变的元素
比如地砖、山丘、石块等元素都是相对地图位置固定不变的,我们可以直接初始化的步骤里添加。例如添加地砖:
先使用上个步骤建立好的函数生成一个地砖的颜色数据,保存在地砖数组objGround里面,然后指定地砖在地图中的位置(由于屏幕、地图、所有元素的数组零点位置都是左上角,所以用数组零点[0.0]来定位)。
比如第一块砖的零点[0.0]在地图的[0,55]的位置,在X方向,一块砖占8个格子,所以第kk块砖的零点[0,0]在地图的[0+8*kk,55]的位置。再使用两层for循环传递所有砖块的所有X、Y的值。别忘了元素属性,地砖是不可重叠的,属性设置为1。
用同样的方法赋值所有的元素,如果元素中存在数值为0的空位,需要增加判断将空位去掉:
计算显示位置
在演示视频中,Mario的在屏幕中的位置、窗口显示地图的位置都是随着按钮上下左右移动的,实现这个目的需要根据马里奥的相对于屏幕偏移、屏幕相对地图的偏移 来计算。
1:声明两组变量,记录偏移量,并设定初始值:
Mariooffset用于记录马里奥元素[0..15,0..16]相对于屏幕[0..29,0..29]零点的偏移,也就是马里奥在屏幕中的显示位置。
偏移为0时
偏移X=8,Y=6 时
bgOffset用于记录屏幕[0..29,0..29]相对地图[0..175,0..59]的偏移,不再展示了。
2:设定屏幕刷新率
用1000ms除以刷新率FPS(默认值15)得到一帧画面的保留时间,使用ton功能块计时,计时结束后做一次计算,并复位计时触发。
3:根据上下左右移动方向进行偏移计算
我们以向右移动为例:
M0为右移按钮的地址,M0触发时,马里奥的姿态在pose=1,2,3之间循环变化,做出走动的动作。
在移动前我们要判断是否将要接触到属性为1的固定物体,先将接触状态变量 iTouch复位,通过for循环遍历马里奥右侧的地图属性是否为1,判断的距离为马里奥一帧内移动的距离(也就是马里奥的移动速度),我们用变量iSpeed来表示。这样我们就可以根据itouch的状态,判断马里奥右侧有无障碍。
根据touch变量的状态来决定我们是不是要改变两组偏移。如果touch为false,先判断马里奥是不是在屏幕左面(mariooffsetX<7),在左面的情况下增加马里奥X方向的偏移mariooffsetX的值(mariooffsetX+ispeed),将马里奥移动至画面的中间。
当mariooffsetX=7时,马里奥在屏幕的中间,此时马里奥位置不动,将背景地图在屏幕中向左侧移动,并判断屏幕是否还没超过地图的最右侧(bgOffsetX<175-30,30为屏幕的宽度),如果屏幕已经显示到了地图的最右侧,地图的位置不动,马里奥继续向屏幕的右侧移动,直到移动到屏幕的最右侧(mariooffsetX=29-13,13为马里奥的宽度)。
上下和左移动都与此类似。
刷新屏幕
位置计算完成,我们需要根据两组偏移的值刷新屏幕内显示的内容即可,但要先刷新背景地图,后刷新马里奥,目的是将上一帧马里奥的图形抹掉。
马里奥的左右朝向使用iDirection变量来表示,实现的方法是马里奥在X方向上赋值顺序的变化。
程序编辑完成,将PLC和HMI进行仿真开始游戏。
你学会了么!
相关问答
西门子step7v5.5的注册表是哪一个-ZOL问答
西门PLC编程软件STEP7V5.5版本WINDOWS7使用原授权文件都能用哪位请给我份提...iQOOZ9Turbo+卖点介绍:性能怪兽,续航王者评论1比亚迪第二代宋ProDM-...