未来索引
开启左侧

深度解剖BB-8球形机器人

  [复制链接]
邢远 发表于 2016-1-24 05:55:14 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
本文转自:OFweek机器人网写作背景在最新一集的星球大战电影《原力觉醒》中,机器人自然是不可或缺的角色。以前的C-3PO与R2-D2已经年近不惑,这次增加了一位新的机器人角色BB-8。据说是因为上下两个球叠加的造型很像数字8,因此取名为Ball-Bot-8。电影中不是3D特效,而是用实体拍摄。与前代相比,这个造型充分反映了技术进步的成果。即使在缩小版的模型玩具中,为原汁原味地实现BB-8的功能,也用到了很多“黑科技”。由于笔者对这类智能玩具很感兴趣,就申请了众测,并很高兴与几位乐高大神共同获得了测试资格。考虑到自己没有乐高人偶搭建星战场景,就打算重点分析一下Ball-Bot的工作原理和软件应用,争取尽早投稿,笨鸟先飞暖暖场。计划分成工作原理介绍,标准软件应用,进阶编程应用,电影中的机器人形象这几个部分说明。工作原理介绍从电影的宣传视频中,可以看到BB-8奔跑的一段场景。球身快速滚动,头部稳定在球顶位置,随着颠簸甚至还小幅离开球身,让观众觉得很是神奇。估计电影道具球身的工作原理类似这种仓鼠跑球。 0?wx_fmt=jpeg.jpg
当仓鼠跑动时,球体也会朝同一方向滚动。从向前滚动时还能做扭头动作判断,BB-8头部的工作方式很像这种悬浮灯,灯口处有永磁铁和传感器 0?wx_fmt=jpeg.jpg
在底座中安装一圈电磁铁,通过PID算法即时调整电磁场强弱,当灯泡向某方向倾倒时,增加该方向电磁铁的电流,靠电磁场把灯泡推回原位以保持稳定。类似方案用在BB-8上面,不仅可以保持运动中头部位置,还可以主动控制头部移动,做出各种憨态可掬的动作表情。上述原理均属推测,实际拟通过拆解来验证一下。 0?wx_fmt=jpeg.jpg
产品的包装非常结实,盒子上有BB-8的定妆照和主要功能介绍。
0?wx_fmt=jpeg.jpg
盒底标签注明产地广东,代理商腾讯,加上版权方迪斯尼,设计商Orbotix Inc.,可以说系出名门啊。 0?wx_fmt=jpeg.jpg
打开后,看到有机器人、充电底座、充电线、快速使用说明。
0?wx_fmt=jpeg.jpg
还专门有一张锂电池安全使用须知,对儿童用户的安全考虑得很周到。与电影中半人高的BB-8不同,玩具的尺寸较小,先来做个体检吧。 0?wx_fmt=jpeg.jpg
0?wx_fmt=jpeg.jpg
0?wx_fmt=jpeg.jpg
如果不算天线,BB-8高约99mm,腰围约230mm,体重约200克,单手刚好握住。相对体型而言,算是有点分量的。这个体检不是走走形式,后面还要用来计算浮力的。本想接着来一个拆解,给值友们看一下内部构造,但其球身是两半聚碳酸酯壳粘合或超声波焊接在一体的,不能做到无损拆解。只好在互联网上找现成的资料,看到Cnet上有大神用电磨把球壳切开讲解的视频,在此引用部分图文并致以谢意。 0?wx_fmt=jpeg.jpg
0?wx_fmt=jpeg.jpg
0?wx_fmt=jpeg.jpg
Cnet介绍“BB-8的主板采用意法半导体的STM32 F3作为MCU(72MHz主频的32位ARM Cortex-M4核心)、CSR 1010蓝牙芯片、意法半导体的M24512-R(512Kbit串行EEPROM)作为存储器、华泰HT6292电池充电管理芯片、陀螺仪和加速度传感器”,可以看出硬件配置还是较高的。机芯中部有两个三色发光二极管,通过调整RGB色彩的比例,能够发出255*255*255,合计约一千六百万种色彩的光,不仅显示工作状态,还可以自行定义,增加娱乐功能。 0?wx_fmt=jpeg.jpg
这类球形机器人最大的优点是具有静稳定性,只要算好配重,内部的机芯会自然而然地垂直立在球体里面,不像平衡车那样还需要陀螺仪与算法辅助。内部的陀螺仪和加速度传感器用于检测碰撞等触发事件,能够提高机器人的智能感知能力,设计更多玩法。机芯上部有两块磁铁,可以隔着球壳吸住BB-8的头部,并作为确定一条直线的两个点,约束头部的朝向。玩具的头部比较简单,是单纯造型设计,依靠内部的两块磁铁吸附在机芯磁铁上,依靠滚轮在球身上来回移动。
0?wx_fmt=jpeg.jpg
这种设计比电影道具简单得多,但用在小型玩具上,仍然可以模拟出大部分电影中的动作。
由于视频分辨率较低,而且拆开后机器人就无法再活动了,不能演示各种工作状态。笔者又到设计公司Sphero的网站查找资料,找到了与BB-8类似的产品Sphero2的爆炸图,除了没有连接头部的磁铁,机芯基本一样,就用Sphero2来替代说明吧。
0?wx_fmt=jpeg.jpg
透过球壳可以看到,机芯下部有两个各自独立的驱动轮,分别由两台电动机减速驱动。当驱动轮同方向等速旋转时,机芯前进或后退,球壳也随之前进或后退;当驱动轮同方向差速旋转时,机芯向低转速一侧偏转,球壳也随之拐弯;当驱动轮反方向转动时,机芯在球壳中水平自转,根据角动量守恒原理,球壳与机芯反向旋转。这样先旋转,再前进,BB-8就可以改变行动方向。上部的支撑轮由弹簧顶在球壳上,可以保持机芯稳定,并给驱动轮足够的正压力。如果没有支撑轮,大家可以想象摇晃仓鼠跑球时,仓鼠被摔得七荤八素的样子。这个结构还有一项绝技,就是当两个驱动轮以最大功率同方向旋转时,由于地面摩擦力存在上限,球壳滚不了那么快,下重上轻的机芯就会在球体内上下垂直旋转,这样球身整体的重心不断上下改变,就像下图这种蛤蟆夯一样,机芯相当于偏心轮,会带动球壳跳起来,非常有意思。
0?wx_fmt=jpeg.jpg
有了基础运动能力,稍微组合一下就可以作出更多身体语言。如机芯小幅左右转动就会作出摇头动作,机芯满功率小幅前后移动就会作出点头动作,诸如此类。
0?wx_fmt=jpeg.jpg
完整的爆炸图如上面所示,可以看到支撑轮下面的弹簧、主板、电池、电机等零件。等等,怎么主板下面多出一个电动机?
0?wx_fmt=jpeg.jpg
研究了一会,笔者判断这个爆炸图太狠了,把电机的转子都炸到外面来了,如上图红线所示。电机下面是无线充电线圈,相当于把一个变压器拆开,初级放在底座里,次级放在球壳下部。类似以前Palm的试金石充电器,特别适合BB-8这种无法设置充电接口的球体。最底下是配重,保持机芯垂直,很可能也兼作充电线圈的铁芯。
标准软件应用
新机器使用前最好先把电池充满,从拆解就可以看出自己很难更换电池,尽量浅充浅放,延长寿命吧。
0?wx_fmt=jpeg.jpg
充电时最大电流约为0.5A,对充电头没有特殊要求。虽然电流不大,但球壳底部发热明显,可能是无线充电初次级间隙偏大,效率较低导致。最好放到底座前摇晃几下,确保充电线圈处在最低位置。充电时正好在手机上下载StarWarsSpheroBB-8控制软件,首次启动需要更新固件,输入用户年龄,之后熟悉的星战背景音乐响起,蓝牙配对很快完成,可以在手机上控制BB-8开始星际探险了。
0?wx_fmt=jpeg.jpg
虽然在原理章节已经介绍了球形机器人前进后退、改变方向的办法,但操纵时首先面临的问题是:哪里是前面?为此需要先校正方向,在面板上控制BB-8左右旋转,直到蓝色的尾灯对准自己,就可以按常规方式操作了。这点非常重要,因为在编程时经常会输入前进角度,转动角度等,均以蓝色尾灯的方向为180度。另外,如果发现头部面对蓝灯方向,需要把头取下来转180度,再放回去,避免机器人倒退着走。
0?wx_fmt=jpeg.jpg
初次上手的操作手感很有特点,由于球壳光滑偏硬,与地面摩擦很小,球体也有一定分量,因此运动惯性较大,像玩超级马里奥的感觉,一不小心就走过头。其实就算小心也没用,BB-8没有刹车。最好用较慢的速度,留点提前量控制,人的经验与参与感非常重要。这并不算缺点,很多虚拟的滚球游戏都设置或大或小的惯量,不同材质的桌面,以增加挑战性。而且Sphero自己也提供基于图像识别的游戏,能够控制实体球,在屏幕上躲虚拟的僵尸等,太容易定位就不算游戏了。非常遗憾的是Sphero没有把这些游戏开放给BB-8,找不到僵尸就回家逗逗猫吧(图片截自宣传视频)。
0?wx_fmt=jpeg.jpg
如果不想直接操作,也可以用命令方式。点击不同的功能键,可以要求BB-8完成点头、摇头、探索、返回、画图形等等功能。或者用语音互动,说“OK,BB8”进入倾听模式,如果对BB-8说“Run away”,机器人先吓白了脸,接着快速逃离现场;问他“what do you think?”,他会摇摇头,又点点头,闪几下光,很好玩。这类命令功能更多像是演示性质,数量有限,后面使用编程应用可以很方便地开发出更多的动作组合。语音控制则是先在手机端识别好,之后给机器人发送对应的运动指令。如果厂商支持,更新手机端APP,可以很容易地让BB-8听懂更多的语句,甚至改为中文交流。

关于信息投影功能,笔者认为需要具体说明一下,以免潜在用户产生误解。看宣传资料图片时,以为BB-8的头部能够发出3D投影图像,向用户传递信息,心想这玩意有多少黑科技啊。收到商品后,看到头部仅仅是外观设计,不可能具备投影功能,这项技术完全是在手机屏幕上实现的。例如当选择显示X翼星际战斗机后,把手机摄像头对准BB-8,当APP识别出机器人形状后,会在其屏幕映像的周围显示出星际战斗机图像,看起来好像BB-8在做关于战斗机的简报。
0?wx_fmt=jpeg.jpg
除了APP中预设的几种图案,也可以自行录制一段视频,显示在BB-8的屏幕映像周围。
0?wx_fmt=jpeg.jpg
然后把图像显示在屏幕上的机器人前方,好像BB-8在报告新侦查到的情报。
0?wx_fmt=jpeg.jpg
如果希望测试一下BB-8的智能水平,可以使用巡逻模式,让他自动寻找前进路径。由于其主板上装有陀螺仪、加速度传感器,可以判断机器人的姿态,测量XYZ轴加速度。这样,一次碰撞就可以触发其改变前进方向。巡逻中各项传感器的参数,走过的距离,路线形状等都可以显示在手机屏幕上,在学习编程前熟悉一下能够更好地了解BB-8丰富的传感器资源。
0?wx_fmt=jpeg.jpg
例如笔者搭建了一个小迷宫,把机器人放到里面,看看他怎么寻找出路,走出迷之中国历史。下面的视频是几次测试中最慢的一次。
0?wx_fmt=jpeg.jpg
进阶编程应用
在分析工作原理时,笔者发现BB-8的机芯与同一公司的产品Sphero2非常相似,虽然京东的网页上明确说“其他Sphero的APP不可以用于此产品。”但看过美亚Sphero2商品介绍的一段视频后,对其留下非常深刻的印象。如果BB-8还能兼容Sphero的软件,哪怕一部分,也能极大程度地扩展其功能,增加很多新的玩法。为此,笔者把App Store上该公司的软件全部测试了一遍,找出能够有效支持BB-8的逐一介绍一下。
0?wx_fmt=jpeg.jpg
按图滚球——算是一个入门编程工具,所谓编程就是在色盘上选好sphero的显示颜色,然后画出一个图形或线段,机器人就可以把设定的形状作为规划路线,自动走一遍。划方走圆自然没问题,稍复杂的8字,五星也能完成。并且可以调整滚动速度,走得慢一点精度就会高一点。
0?wx_fmt=jpeg.jpg
说到这里,还有一个关于按图滚球的故事。笔者是周末收到的BB-8,很快就学会了这个APP的用法。周日早晨喜降瑞雪,望着窗外洁白的世界,忽然想作诗言志,思索良久,苦吟出以下诗句:

当蜘蛛网无情地查封了我的钱包,当灰烬的余烟叹息着信用卡的悲哀,我依然固执地设定好滚球路线,在美丽的雪花上写下:相信什么值得买。

其中最重要的创意就是用BB-8在雪地上压出SMZDM五个字母,拍下照片作为向张大妈的表白。

0?wx_fmt=jpeg.jpg
顶着冻手的寒风,按下执行按钮,谁知这个不争气的机器球在雪地上不停打滑,做出各种花式扭动,就是一个字不写。想到错过与张大妈进一步发展的机会,直接众测差评!后来在写报告过程中,发现可能冤枉了BB-8。Sphero还有橡胶防滑套作为选装附件,可以增大摩擦,提高越野能力,像下图这样。
0?wx_fmt=jpeg.jpg
上面的胶粒不但有助于越障,甚至还能划水。
在水中Sphero处于漂浮状态,球身旋转时,浸在水中的胶粒象明轮叶片那样,起到向后拨水的作用,在反作用力推动下,小球就能够向前航行。笔者马上想到能不能让BB-8也在水里走两步,先算一下平均密度,根据球体体积喂等于三分之四派啊立方计算(请张大妈给个公式编辑器),球半径3.65cm,体积203.69cm3,质量小于200g,平均密度刚好比水略轻一点。查到其防水等级是IPX4,只能全方位防溅,要防浸水至少IPx7。实践出真知,先把机器人完全按进水里,没看到有气泡冒出,接着在漂浮状态用防水相机拍张水下照片,看看吃水深度。
0?wx_fmt=jpeg.jpg
在水中Sphero处于漂浮状态,球身旋转时,浸在水中的胶粒象明轮叶片那样,起到向后拨水的作用,在反作用力推动下,小球就能够向前航行。笔者马上想到能不能让BB-8也在水里走两步,先算一下平均密度,根据球体体积喂等于三分之四派啊立方计算(请张大妈给个公式编辑器),球半径3.65cm,体积203.69cm3,质量小于200g,平均密度刚好比水略轻一点。查到其防水等级是IPX4,只能全方位防溅,要防浸水至少IPx7。实践出真知,先把机器人完全按进水里,没看到有气泡冒出,接着在漂浮状态用防水相机拍张水下照片,看看吃水深度。
0?wx_fmt=jpeg.jpg
0?wx_fmt=jpeg.jpg
从图中可见,虽然BB-8还在漂浮,但吃水已经很深,估计是增加的头部定位磁铁以及对应的底部配重所致。这种情况下旋转,下半球往后划水,上半球向前划水,作用力基本抵消,不能像Sphero那样游泳了。在水浅的地方涉水前进还是可以的,要是设计时球体直径大一点,增加些储备浮力就好了。


MacroLab——类似Word,Excel中的宏命令,把一串控制语句排列在一起,让BB-8执行批处理程序。点击每条指令都会弹出子菜单,具体设置色彩,延时,速度,方向等参数。使用很方便,但可用的语句较少,适合初级编程练手。开始蓝牙连接时,如果BB-8没有反应,摇晃一下就可以唤醒并配对了。
0?wx_fmt=jpeg.jpg
Lightning Lab——这是类似scratch的积木化编程工具,具有明显的球形设计风格。各种功能非常多,可以作为主要编程工具使用。虽然没有教材,但APP中提供了很多范例,研究一会儿就能上手。
0?wx_fmt=jpeg.jpg
例如笔者设置一个故事情节:BB-8亮着绿灯在愉快地玩耍,在前进方向上撞到了门,头上起包,按原路弹回。心情由开心的绿色变成生气的红色,接着暴跳如雷地发火。2秒钟后,跳不动了,心情又回复成平静的蓝色,视频演示如下。
0?wx_fmt=jpeg.jpg
0?wx_fmt=jpeg.jpg
其中碰撞检测可能是调用中断的方式实现,写在主程序外的末尾。从两张图的底部菜单可以看出,机器人的各种功能语句、逻辑控件还是相当完整的,足以支持编写更加复杂的程序。

在此感谢不仅看文章首尾,而且还阅读中间内容的值友们,送上货真价实的彩蛋一枚。
0?wx_fmt=jpeg.jpg
这张照片引自Sphero网站,笔者估计是编写一个循环程序,让小球以跳跃方式乱蹦,每零点几秒换一种颜色,就光绘出了这样的七彩色带。

orbBasic——字符型编程工具,同样具有丰富的功能。举个例子,甚至有返回电池电压的函数Vbatt,可以更全面地控制sphero的各种硬件,熟练掌握后比积木式编程工具更快。
0?wx_fmt=jpeg.jpg
但笔者安装后发现APP能够识别BB-8,并可以用操纵杆控制其运动,但对执行程序没有响应。可能是笔者还没有吃透其用法,也可能是orbotix没有对BB-8开放其功能。如有熟悉该产品的值友,还请费心指点。此外,sphero网站介绍还有基于C编写的OVAL语言,但没找到相关的APP。

其他Sphero应用 0?wx_fmt=jpeg.jpg
——除了编程类应用,Sphero程序可以分为遥控运动类(例如用来走迷宫、赛跑)

视频识别类(例如The Rolling Dead),运动感应类(例如Sphero Exile)等,其中运动感应类是调用sphero的陀螺仪和加速度计,把他当做一个三轴鼠标,控制游戏主体的移动,是一种很新颖的操作体验。介绍了这么多,概括起来就是“一枕黄粱”。游戏类的应用全都无法在BB-8上运行,太小气了!

总结一下星战机器人的优缺点吧。优点是设计非常巧妙,有丰富的硬件资源和功能,能够帮助儿童学习编程,其实最重要的就是作为星球大战电影衍生品的价值加成。如果不考虑这个因素,SpheroSPRK版(School & Parents & Robot & Kids)面向教育市场的价格折扣很大,这自然难不倒值得买上感兴趣的海淘达人。
缺点包括玩具的头部滚轮容易沾灰变涩,不像电影中那样灵活;储备浮力小,几乎不会游泳;外壳较滑,不能在雪地上写字等等。其实最大的缺点就是没有开放丰富的软件资源,想必迪斯尼和Orbotix认为产品中包含的星球大战文化已经足以支撑其一千多元的售价了。那么,他们对电影衍生品估值的依据在哪里呢?笔者想继续分析一下什么样的机器人形象更容易得到观众的偏爱。
电影中的机器人形象
电影衍生品包含了影视角色、情节,甚至价值观在商品中的投射,能够随时随地唤出对剧情的记忆,可以说是不会落幕的电影,其市场价值超过票房自然顺理成章。有数据称:《星球大战》三部曲(也不知指哪三部)的全部票房收入为18亿美元,而其衍生品的收入却超过了45亿美元。在迪斯尼收购卢卡斯影业并获得《星球大战》品牌后,从米老鼠时代就深喑衍生品授权之道的迪斯尼,在新片档期主推千元级的智能机器人而不是普通静态模型,看来是非常自信BB-8能够得到观众的喜爱与认可。

0?wx_fmt=jpeg.jpg
电影中常见的机器人从外形上大致可以分为三类:拟人亲和型,拟物功能型,二者兼备的变形金刚。星球大战初代的C-3PO与R2-D2正好是前两类的代表。

0?wx_fmt=jpeg.jpg
分别进化到近期的电影,《机械姬》中轻易通过图灵测试的Ava和《星际穿越》中忠实的CASE走向了各自的极致。
0?wx_fmt=jpeg.jpg
0?wx_fmt=jpeg.jpg
如果设计电影衍生品,前者不太容易做出来,而且Alicia Vikander算不算机器人也很难说;后者还不如自己拿铁丝串四根积木做一个。过于拟人化或功能主义的外形都不理想,变形更会被笑话为抄袭孩之宝——梦工厂的Transformers,看来只剩部分拟人部分拟物这条路了,而且其代表作Wall-E曾获得空前的成功。
0?wx_fmt=jpeg.jpg
Wall-E的底盘是完全拟物的卡特皮勒三角履带加垃圾箱,上部却是拟人化的手臂和萌萌的大眼睛,加上迪斯尼赋予的好奇、纯真、执着的性格,看值得买上关于乐高版Wall-E的评论,不难得出其形象深入人心的结论。有了前面的经验基础,再设计一个功能主义大轮子加善解人意大眼睛的组合方案,一个高越障能力侦查机器人的形象就跃然纸上了。
0?wx_fmt=jpeg.jpg
再结合orbotix在球形机器人方面的黑科技,更有未来风的BB-8就诞生了。
以迪斯尼所遵循的乐观(Optimism)、正直(Decency)的主流价值观判断,相信BB-8的电影角色与衍生玩具会成为科技、商业与艺术完美结合的精品.



该会员没有填写今日想说内容.

精彩评论2

第九度 发表于 2016-2-5 13:51:23 | 显示全部楼层
第一次见
智能技术共享平台 - 未来论 http://www.mywll.com/
回复

使用道具 举报

邢远 发表于 2016-2-5 20:02:02 | 显示全部楼层

没看 星7 啊
该会员没有填写今日想说内容.
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注2973

粉丝3237

帖子9934

发布主题
阅读排行 更多
广告位
!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回复 !jz_sctz! !jz_fhlb! 搜索

智能技术共享平台 - 未来论

关注服务号

进入小程序

全国服务中心:

运维中心:天津

未来之家:天津 青岛 济南 郑州 石家庄

                商务邮箱:xy@mywll.com

Copyright © 2012-2021 未来派 未来论 (津ICP备16000236号-5)