近日,一名18岁高中生自主制作的机器人走红。
它可以帮助携带行李,在室内或室外跟踪你。它甚至可以在黑暗中跟随你,甚至可以用作坐骑。
确定原理、设计外观、连接电路、编写代码,从0到1搭建一个机器人,整个硬核DIY机器人的过程,由一个名叫“凌诗琪”的18岁高中生独自完成。
凌仕奇说,他最初想找人帮忙搬运设备(比如录制视频所用的三脚架、相机等),但后来意识到这个任务“不用人也能完成”,于是决定制作一辆自动卡车。
但对于一个高中生来说,从编程、电路到自动控制,他都需要自学所有的技术知识,历经200天,终于创造出了这款可以背书包、可以跟随你走遍所有场景的懒人机器人!
凌诗琪说:“机器人是照亮我人生路的第一盏灯。”下面,欣赏:
来源/量子比特(ID:QbitAI)
奥飞寺的博文晓晓
很难想象这个机器人竟然出自一名18岁的高中生之手!
室内和室外均可跟踪:
就算我在黑暗中跟着你也没问题:
作为坐骑完全没问题:
全部工作,包括原理确定、外观设计、电路连接、代码编写,耗时200天。
而且,这一切都是这个叫凌十七的B站Up主一个人完成的!
该视频上传后不到三天就获得了近百万次观看。
本来,独立导演的机器人故事和全程硬核DIY机器人的过程就已经足够吸引人了。
视频最后,这位Up主拿出自己的乐器,专门为这个项目献上了一首歌,直接引发了弹幕:
还有什么事情你不知道该怎么做吗?
六角武士!
寶藏男孩?!
从程序员,到导演,到音乐爱好者,多重身份无缝切换!
这是什么Up主?
这是什么样的机器人?
从造型到生产,完全独立设计
你想制作什么样的机器人?
凌十七在心中给出了标准:
钢结构,塑料外壳。
它可以跟随、奔跑、携带物品、被拉扯,最重要的是……它可以坐。
画完设计图后,18岁的男孩沉吟了一下说:“可行。”
我们开始吧,第一步:建模!
我们先看一下建模工作量:
仔细观察,整个机身的设计并非是粗糙直白的几何造型,而是参考了人体工程学进行设计,从稳定性、实用性等方面进行考虑:
建模完成后,接下来就是制作外壳,这个步骤和建模一样困难。
为了将电脑中的模型变成现实,凌诗琪选择了可水洗的树脂作为3D建模的材料。
这听起来不需要做太多工作,只需坐在机器前等待成品即可:
但真正尝试的时候,问题实在太多:
这个过程没有捷径,只有尝试,调整,再尝试,再调整。
形状已经形成,下一步就是给各个部位涂抹填充料。
此工序不但可以统一底色,还可以填补印刷面的不平整。
接下来是外部生产的最后一步,喷漆:
至此,“非常不熟练、非常枯燥而且耗时”的壳体制作工序就完成了。
我们再来看看机器人的眼睛,凌诗琪采用的是二维激光雷达:
他总共使用了两台雷达,并根据通信规则重写了解包算法。
好的,接下来就是制作机器人的心脏!
凌诗琪选择了单片机作为主控器件,控制无刷电机和舵机,并对遥控、行驶、跟随速度方向做出最终判断:
然后使用Raspberry Pi作为跟踪算法输出设备,并通过串口将数据传输到单片机:
这里的MCU和Raspberry Pi都采用统一的10A降压模块供电。
但由于树莓派USB所能提供的电流很小,而雷达又直接由USB口供电,所以刚开始的时候经常会陷入无限重启的状态。
因此凌诗琪通过把雷达内的电路供电电压(VCC)单独接在5V上来解决了这个问题。
而完整的追踪功能,凌十七一共用了250行代码来实现。
相对于制作外壳来说,写代码可谓是“技术性极强、很不枯燥、很费时间”。
毕竟,最后解决问题的列表有最多的程序示例:
为了能够跟踪超出硬件支持范围的目标,限制跟踪角度,超出范围后重新搜索目标;
为了防止机器人在失去目标时四处乱跑,它被编程为在检测到目标太远时停止跟踪。
它还必须能够及时与微控制器进行通信,以防止由于过度通信而导致的数据丢失,以及非线性转向算法......
最终,设计图中提到的功能基本都实现了。
除了开头提到的功能之外,存储东西也完全没问题:
凌十七站在自己很有说服力的乱糟糟的地面上说道:
这是我一生中开发过的最困难的项目。
2机器人背后的故事
没错,从0到1打造一个机器人,对于机器人专业的学生来说可能并不难,但对于高中生来说,需要自学从编程、电路到自动控制的所有技术知识。
软件方面,所有程序和软硬件代码都需要我们自己调试、优化,算法上修复的bug可以说是“不计其数”:
硬件方面,在对机身进行建模的时候,凌诗琪专门学习了相关的设计方法:
但是当我自己做的时候,光是设计外壳就花了我很长时间,这似乎是一个“非技术性”的工作,而且我弄坏了好几个外壳:
可以想象,除了外壳之外,在造型和设计上还有很多部件需要更换。
凌诗琪自己也说,最后废弃的零件甚至可以“再造一个机器人”:
好不容易完成了,机器人却又再次受损了。
该机器人于2020年8月开始设计,10月开始生产,但在12月外景拍摄过程中,机器人的“头”意外掉了。
由于颈部连接处的舵机不太稳定,一开始只是装在机器人身上,可以轻易拆下,结果虽然在家实验时没有出现问题,但在凹凸不平的路面上却无法坚持住,最终坏了。
在了解到这个情况之后,凌十七对机器人的结构进行了改进,将所有东西都用螺丝固定住,之后再也没有出现过类似的问题。
但因为这件事情,项目被迫暂停了一段时间,后来将近1/3的机器人外壳拆除重新制作,才在2021年4月左右完工。
当然,不仅仅是外壳进行了调整,这次改款也对软件进行了升级。
雷达增加了三到四种算法,主要是针对通信和雷达的无效数据进行优化,还有几种算法是为了消除跟踪过程中可能出现的误导或者一些严重影响作业效果的情况;
驱动算法也经过了参数调整和优化,但这个操作并不标准化,基本都是试错。如果做比较正式的项目,可能会先算出正式的模型再去编程。
所有算法均为凌诗琪亲自编写,未参考其他算法:
毕竟没见过类似的产品,而且在确定原理的时候脑子里就已经想到了逻辑,就没想着去找别人的代码了。
经过9个月的打磨,机器人各方面都堪称优秀,但对于凌诗琪来说,仍有进步的空间。
一方面,机器人不会做出表情自学钢结构,视频里的所有表情都是通过后期处理添加的,属于特效制作。
凌十七称,他原本想把特效外包,但发现外包能力不足,制作出来的特效太差……于是就学着自己做,结果确实更好一些。
当然,直接显示面部表情也是可能的,但“市场上已经有非常成熟的算法了”,所以他并不认为这是该机器人的“亮点”。
另一方面,机器人本身的物理稳定性较差;避障算法采用的两代激光雷达也受到光照影响,效果不如预期,户外表现不够好。
如果有时间进一步优化,凌仕奇计划将两台激光雷达和摄像头结合起来,让户外的追踪更加稳定。
至于为什么要制作这个机器人?
凌仕奇说,他最初想找人帮忙搬运设备(比如录制视频所用的三脚架和相机),但后来意识到这个任务“不用人就能完成”。
如果我们可以制造一辆自动卡车并且它还能充当驾驶员那不是很好吗?
虽然后期投入了不少精力,但是从完成度上来说效果还是很好的。
机器人Devil的名字来自于一首名为“Devil Swing (Remix)”的歌曲。
也是因为这个项目,凌诗琪决定将自己的专业从电子工程专业(之前他已经考入佐治亚理工学院)转到研究人工智能和机器人技术。
△你原本想学的专业
凌诗琪在接受量子位采访时表示,通过这个项目他意识到算法可能是未来的世界,因此他想把更多的精力放在编程上。
“我想转到人工智能和机器人专业”
凌诗琪是上海师范大学附属中学的学生,和其他高中生一样自学钢结构,“前16年基本都在备考”。
高一的时候,凌十七通过比赛接触到了机器人,从此打开了新世界的大门。
视频中可以看到,凌诗琪除了在“机器人综合技能”和“电子控制项目”比赛中斩获一等奖外,还发明了“激光定位专用遥控装置”,并斩获多个奖项。
凌诗琪说,虽然这些比赛质量不算高,但却成功勾起了他对机器人的兴趣:
当我第一次发现,自己可以让身外之物按照自己的意愿运转的时候,我感到非常感动和震惊,一切都感觉从来没有这么有意义。
机器人是照亮我人生路的第一盏灯。
他从 2019 年开始上传视频,2020 年初制作了一把带有发光电路的刀。观看次数从几万次跃升至一百万次以上:
接下来的视频中,刀子直接进化成了能喷火、能变色的光剑,观看量突破200万,也印证了“手工UP主”的名声:
此后,又花了9个月的时间打造出机器人小D,一转眼就到了2021年。
这期间,凌十七一度有过放弃的念头,“感觉再坚持下去我会变得不正常”,但最终他还是坚持了下来。
也是在这个项目中,他找到了自己未来的方向。
众多大V热情转发此机器人:
B站官方也热情鼓励:
值得一提的是,凌诗琪的技能不仅仅限于机器人、导演、钢琴演奏,据他的高中同学透露,绘画、作曲等技能也已解锁。
对于未来,凌诗琪表示自己更有可能创业、做产品或者从事创作,如果投身科研,他很有可能想研究通用人工智能(AGI)方向。
虽然这款机器人暂时还不涉及AI算法,但凌诗琪表示,自己已经计划从CV入手,做一些相关的小型AI项目,比如物体、形状识别算法等。
他又将在AI领域迸发出怎样的火花?
我们拭目以待吧。
视频地址:
也许你还想看看: