Py学习  »  Python

18岁上海高中生自制机器人,250行Python代码

程序猿 • 2 年前 • 291 次点击  

来自公众号:新智元

来源:bilibili

编辑:yaxin




【导读】十八岁的你在做什么?凌十七,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年人生,即将开启新的征程。


没错,是我的宝藏男孩~

参考资料:

https://b23.tv/DkeLlG


--- EOF ---


推荐↓↓↓
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/120012
 
291 次点击