250 行代码,Python「注入灵魂」,18岁高中生造了个机器人!
来源:
奇酷教育 发表于:
250 行代码,Python「注入灵魂」,18岁高中生造了个机器人!
【导读】十八岁的你在做什么?凌十七,18 岁,耗时 200 天,用树莓派 DIY 机器人。这位 B 站 up 主爆火出圈,纯手工自制塑料外壳,焊接钢架,250 行 Python 代码为其「注入灵魂」。18 岁的他与机器人有个不解之缘~
前段时间,22 岁的何同学用自己的毕业设计诠释了「理工男的极致浪漫」。
将硬核毕设,化为满天繁星散落在母校上空!

只怕这还不够硬核...
凌十七,今年 18 岁,爆肝 200 天,造了一个机器人!
是这样的~

看似平平无奇,你可知制作这个机器人对于一个 18 岁的少年来说,却是一项大工程。
(扣帽的一瞬间,易洋千玺一闪而过)
树莓派 DIY,250 行代码,Python「注入灵魂」
这款机器人叫跟随机器人,化名 Devil (简称小 D),创作它的灵感来自何处?
满身都是工具箱和背包的凌十七灵机一动,「得找个人帮忙拿一下,为什么是个人呢?」

跟随机器人(装货机器人)构想就出来了。
钢结构和塑料外壳设计,能跟随,能跑,能装东西,能拉东西
关键,还能坐...

首先是建模,模型的规模空前壮观,凌十七表示和以前做的都不在一个数量级上。

小 D 机器人的传感器选择的是二维激光雷达,有一定的抗阳光干扰能力。
两个雷达分别根据通信规则写了一次解包算法。由于受阳光干扰,白天小 D 很难在室外工作,凌十七便更换了波长更短的雷达,重写解包算法。

过程中,利用树莓派运行跟随程序,然后输出结果给单片机,控制无刷电机和舵机。
凌十七表示这是自己设计过规模最大的一个电路。
单机片与树莓派的通信,选用何种电机,使用单片机还是树莓派作为主控设备,工作电压确定等等都是他在开发过程中解决的问题。

编程语言 Python 为小 D「注入灵魂」,大概统计的有效代码 250 行左右。

再说外壳设计,全是凌十七一手制作拼接而成。
讲真,外壳制作并没有技术含量,而且非常无聊还浪费时间。
在制作过程中,凌十七遇到了许多难题,比如上补土会有裂缝,如何拼接,外壳过薄可能会无法安装。

这是一个完全真实的机器人,有完整的跟踪功能,背后有插座,USB 正常供电,包括能座人。
不过表情并非真实,这是凌十七自己做的「特效」。
凌十七表示,「这个作品至此还没有结束,毫不夸张地说,这是我这辈子目前开发过最难的项目。」
2020 年 8 月开始设计,10 月份开始制作,12 月拍摄时机器人损坏。
直到 2021 年 4 月,再次重新启动,凌十七拆除进 1/3 的外壳,并重新制作了升级功能。
前前后后将近耗时 9 个月的时间。
但是这个项目仍然还有一些小遗憾:

我与机器人不解之缘
机器人对凌十七来说,是什么呢?
人生前 16 年忙于应试,不论考坏考好一切都很空虚。
高中就读于上海师范大学附属中学的凌十七,在这里找到了自己的方向。

高一的时候,凌十七参加了一个市机器人比赛,开始自学编程、电路、自动控制。
「我的人生被彻彻底底地改变了。第一次发现能够让自己意志以外的事物能够运行的时候,何其感动,何其震撼,就感觉一切从未如此充满意义。」

机器人就是照亮凌十七人生的第一道光!
在一次领着机器人回家的路上,凌十七一直倒着走,时刻盯着小 D,害怕它跑歪,撞坏自己。
它是那么不成熟,就像学步的婴儿。
当时他就萌生了一个想法,「如果有一天人们可以放心把背后交给机器人,甚至互相引导,携手共进,那该有多好」。
至于为什么把机器人塑造成反面角色,是因为凌十七受到了 BGM——Devil Swing 这种恐怖游戏曲子的启发。
小 D 这个名字也是来源于 Devil 。

「坦白讲,小 D 本质上是一个影视道具。」
凌十七也很清楚,自己做的机器人远远不及市面上跟随行李箱来的实用,也不够有创意。
作为一个影视道具,只要保证它能完美的遥控,演好它需要演的戏就可以。

过去 9 个月里,凌十七为这款奇迹人更换了各种零部件,修复了无数数不尽的 bug,加入了各种算法优化它的功能,
甚至花费数千元打了一箱子废品,同样的零部件做了一遍又一遍。

「修复 bug,写代码,看它跑起来才是我最快乐的时刻,在他的潜意识里,并没有将其当作一个影视道具。」
而是在很认真的开发它,把它当作一个真正的项目来对待。
One More Thing
视频最后,多才多艺的凌十七,用钢琴和小号献上一段演奏。

他非常喜欢这首 BGM——「ROBOTICS; NOTES」,最初仅是因其单纯的音乐被打动。
最后发现,这首音乐伴奏也是同样在讲述普通人的机器人之梦。
正是因为这个项目,凌十七才下定决心要转专业去学 AI 和机器人。
「一个好的技术,好的产品真的可以改变很多。我希望未来我能为社会的发展贡献自己一份力。」
凌十七,告别刚刚过去的 18 年人生,即将开启新的征程。
没错,是我的宝藏男孩~