原标题:mbot评测

作者:杨强

市场上编程机器人产品很好,但参差不齐,编程机器人哪个好?今天给大家分享下mbot机器人的开箱评测,再拿mbot机器人与乐高 9797做对比,帮助大家加深理解。

mbot机器人开箱: mBot 包装整体是比较简约的风格,但是并不简单,基本的结构、功能,都体现出来了。大家都能看到,不再赘述了。

mbot机器人零件:
打开泡沫盖板,零件也井然有序地摆放着。上面的文件依次是说明书、宣传页、还有全英文的关于相关声明和注意事项以及其实并不会有人看的小卡片。像是梦想变成了现实一样,毕竟我小的时候梦想着能拥有一个属于自己的机器人呢。废话不多,全家福在下面:

编程教育机器人

电路板(包括 mCore、巡线传感器、蓝牙模块)的特写如下:

编程教育机器人

各种螺丝、螺母君:

编程教育机器人

萌萌哒小眼睛(超声波传感器):

拼装:
整体的组装还是比较顺利的,我连拍照带搭建,还要给我妻子介绍。一共也就用了不到半个小时。整体效果如下:
芯片完全裸露的电路板

类似中国结图案的车轮(齿轮外面套橡胶轮胎)

mbot机器人

这个车头还真的是做的萌萌嗒呢!看见宣传视频上那么多的套件,真想装上一个恶意卖萌去骗妹子!
不过接下来要说的是作为一个机械专业的学生认为可能不够合理以及可以改进的地方。

1. 说明书上电机明确标识了左右之分,可惜拍照的时候已经弄混了,我已经分不出哪个是哪个。仔细比较了后确认外观没有任何区别,开始揣测难道是内部的减速电路有差异?想了想还是先装上再说。后来发现确实两个电机完全一样,只要注意接口的位置就可以了。影响因素只是编程时要注意输出的电流无非是一个正反差异(后面编程我会提到)。但是这点在刚上手的时候却极容易引起不必要的麻烦。

2. 螺丝刀并不带磁性吸附功能。虽然整体拼装还算简单,但是一般质量的螺丝刀都标配磁性的时候,这个手柄满是毛刺的螺丝刀还真的是把整体的分数向下拉了一大截。除了螺丝刀的问题,轮胎和电机的连接用的是自攻丝螺丝,也会让人感觉作为一个给小学、中学的孩子的高端教育机器人,设计上还不够精致和用心。

mbot机器人体验:
整体体验下来却非常优秀,之前那些吹毛求疵的小问题如果你不是处女座请略过,其实我也早忘了。接上锂电池,打开开关就可以运行了。最基础的手动控制、自动避障、巡线模式都可以轻松切换,整体运行都算比较稳定。
其中自动避障不时会出现「绕桩」、「飞檐走壁」、卡死等问题。但理想条件下还是运行的不错的,考虑到只有一个感应角 30°,5-300mm 的超声波传感器,直流电机也不带有反馈环节,mCore 没有自带陀螺仪。个人认为还是不错的。手动控制在 app 上的体验更是相当不错,更像是一款现实版的游戏。
编程:
我觉得到这里才是 mBot 的杀手锏应用,前面的拼装顶多是让你热个身,给你一个体验自己组装的机会。同时也为了让孩子更好地去了解机器人的结构、相关的运行机制和工作原理。同时也是为后期扩展其他的传感器和响应模块做了一个良好的基础。
编程在苹果的 App Store 里也有对应的 app —— m部落,闯关一样的图形化应用。这种图像化的变成界面对于孩子来说非常地友好,闯关或者说是积木搭建式的编程,极大地降低了孩子学习编程的门槛。
OK,接下来我们会用乐高 9797 教具系列,还有对应的编程软件 NTX 2.0 Programming 进行对比。

乐高 9797 教具

体验时间有限,并没有涉及非常复杂的程序以及非常严谨的算法。采用教材上已有的示例程序进行展示,并且保证两套设备的编程逻辑完全一致。
外观&结构:
mBot 的电路集成度相对高一些,传感器的尺寸做的比较小切比较紧凑,但一定程度上就限制了传感器的使用范围,比如巡线传感器的光感就只能用作巡线了。相比之下,自由度非常高的乐高 9797 结构体积上就会显得略微臃肿,但如果思路开阔,是可以开发出传感器的其他用处的。
乐高的编程器上全部使用的是 RJ-12 的水晶头,而 mBot 只有传感器输入部分用了 RJ-25 的接口,输出用了杜邦线的结构进行连接。前面也有提到。
传感器&精度方面:
mBot 的电路集成度相对高一些,相对精度也会更高一些,可以更精准地控制光电传感器举例地面的距离,一方面可以确定焦距进行控制,另一方面干扰也会小很多。超声波传感器两者差别并不大。
编程:嗯,重头戏来了!首先是界面对比,两者都算是比较简单清爽的,逻辑也比较明确。mBlock5 看起来更萌萌哒一些,和整个 mBot 的造型一样总能让你找到「萌点」,而 NXT 2.0 的界面看上去和国外的众多软件风格类似,呆板一些。

(mBlock 界面-左 NXT2.0 界面-右)
考虑到连接方式、平台等,大家可以看下面的表格:

首先看几个同样程序的编程对比吧:

功能:简单的自动避障程序(mBlock-左 NXT2.0-右)

功能:简单的双光感循迹程序(mBlock-左 NXT2.0-右)
上述两个程序的实现逻辑和思路都完全一致,但是表述方式上差异比较大。NXT2.0 更像是程序的流程图,所有的东西都以图标型进行显示,包括转向等操作更多的是定性控制而不是定量控制。
而 mBlock 更像是给常见的 C/C++ 语言赋予了生命力,编程的过程变成了积木的搭建。但是从 liner 变量分别使用左右两个光感所表示出的二进制编码(0、1、2、3)便可以看出程序语言的影子还是很深的。直接将程序语言进行中文的说明和分模块化的编辑方式,对于孩子来说上手会存在一定的难度,但是可以完成更复杂的编程,并且后期学习 C/C++(或者 Arduino)时会更加容易。
所谓更复杂的变成可以拿上述例子做一个简要说明:
如果车子正反转的逻辑弄错了,那么在 NXT 里面只能把所有驱动的方向都调换一下。但是在 mBlock 里面,可以添加一个模块变量,更改方向只需将系数 -1 变成 1 就可以了。但是这个模块变量就增加了学习成本,如果刚接触编程的孩子理解起来会有问题。
现在可能两款软件看上去还好,但是真的切中教育机器人以及教育机器人编程软件痛痒的地方在这里:
这才是我上面所提到的所谓「杀手锏」的东西,在软件的选项里,这个窗口叫做「舞台布局模式」。在程序学习的初期,你要一个 10 岁的孩子去做累加、累乘、语句判断的模式训练,很快兴趣就会被消耗殆尽。
但是这种将图型赋予生命的变成方式,仿佛是在创造一个属于自己的游戏。不管是从趣味性还是成就感上来说都是极好的。不知不觉中相应的一些规则、语法、逻辑就被理解并且熟记于心了。后期再上手进行 mBot 的控制时,岂不是信手拈来咯?
这点就和我之前说的程序语言的逻辑影响孩子上手学习的东西抵消了。巧妙的利用这种方式,将编程的逻辑进行表现的方式着实让我深深感叹现在的小孩真幸福。
同样的程序世界,前一辈攀岩而上,到了我们有了梯子可以攀登,mBlock 更像是铺好的楼梯,不知道未来会不会发展成电梯。
当然,高阶段的语言编程可以自动转换,也可以单独运行。Arduino 界面的使用也是很有价值的,一来延长了产品的生命周期,略微利用其他模块进行扩展,就可以发挥更大的价值,或者进行算法的优化,即使对于成人来说,也是不错的玩具;二来 Arduino 近年来在无人机飞控设计上的应用还是比较普遍的,也可以成为后期这方面学习的一个踏板。
这种工具逐渐降低了学习编程的门槛,不仅可以让更多的人进入程序的殿堂,更将路上浪费的时间拿来在殿堂里创造更高的价值。
总结
mBot 作为新一代的教育机器人,还是表现出了在这个时代里面应有的创客精神,以及在编程软件设计方面的创新意义。
从一开始上手时,并未精雕细琢的制造水平、裸露的接口和电池拼装方式,甚至是 C/C++ 式的编程思路,都让我更感觉这不像是给说明书上所述的中、小学生的玩具,更像是初学编程的大孩子和成人的实践工具。
mBot 还处在工业级的产品,板的接口有待统一,裸露的芯片一块亚克力板也可以解决,工业设计上还有很多需要细细钻研和改进的地方。
但是随着细致的体验和与乐高 9797 的系列进行一番仔细的比较之后,其结构更稳定的整体布局、精度更高的传感器设计、流畅且趣味性极强的 app 体验、游戏化的编程上手安排以及底层语言编程的整机扩展性能,都让我感觉到 mBot 对得起它作为一个编程教育机器人的定位。
整体体验下来却非常优秀,之前那些吹毛求疵的小问题如果你不是处女座请略过,其实我也早忘了。接上锂电池,打开开关就可以运行了。最基础的手动控制、自动避障、巡线模式都可以轻松切换,整体运行都算比较稳定。