自行车自动驾驶
华为天才少年造出“自行”车 网友:看不懂却大为震惊
平衡站立、自动避障、路径识别……没想到 自行车 的硬核打开方式,竟然是 自动驾驶 。这是B站“野生钢铁侠”稚晖君耗时4个月(基本只有周末有空),打造出的全新项目XUAN (轩),并将结构设计全部开源。短短几天时间,视频播放量超176万。网友评论:“我看不懂,但大为震惊!”“看别的up主:一看就会,一做就废。看这个up主:看都看不会TAT。”
稚晖君,本名彭志辉,2018年毕业于 电子科技大学 ,2020年通过“天才少年计划”加入 华为 。在B站,他以各种高科技发明著称,比如智能红外遥控、自平衡机器人、最强小电脑、 迷你 火星车等,硬核程度堪称B站知识区UP主天花板。
2021年是自动驾驶爆发元年,而稚晖君做自动驾驶的自行车的初衷却很简单。前段时间,他不小心骑车摔倒受伤,由此设计了自行车增稳装置。身为AI 算法工程师 ,他想到“如果自己不能跑,凭什么叫它自行车呢?”
自行车自身不带有动力,如果不进行控制,别说让它跑起来,站都站不稳。如何让自行车保持平衡,是稚晖君首先要考虑的问题。他选择 死飞自行车 进行改造。为了重组车身结构,他在设计软件 CAD 中建模,制作出一辆数字模拟自行车。所有改造设计工作,都在这辆虚拟车上完成。他在车身上添加了两个 无刷电机 ,一个是用于驱动的金属动量轮,当动量轮转动时,会产角动量,抵消车辆左右倾倒的力,让自行车维持屹立不倒;另一个则是用于用摩擦力驱动后轮,让车子整体前后运动。
安装于车身上的动量轮,维持车辆平衡的关键
设计图纸完成后,第二步是制造零部件。稚晖君采用3D塑料打印做了部分 零件 。对于强度要求更高的核心结构件,他通过朋友用 数控 机床制作了一批金属零部件。经过组装,自动驾驶自行车便有了框架。
第三步是为车子装上“机器大脑”。这部分的元件,由主控模块和AI计算单元两种 芯片 构成。主控模块如小脑,用于控制车体;AI计算单元类似大脑,负责勘探路况、规划路线。尽管主控模块和AI计算单元购买了现成的芯片,但如何将两块芯片整合到一块 电路板 上却是难题。由于市面上很少有完全符合稚晖君小巧精悍需求的电路板,他直接设计出一块载板, 手工焊 接电路。同时,他还特地设计了 软件框架 ,用于两块芯片间的通信。
自行车“脑子”有了后,第四步则是安装控制动力的“心脏”模块。此前稚晖君自行研发了Ctrl二代 驱动器 ,这次直接拿来使用。体积小小的驱动器,却可以实现两路共100A的无刷电机FOC控制,还驱动车头60kg扭力 舵机 和 散热风扇 。上述零件和电路整合起来后,“自行车”完全体诞生。
最后,需要给自行车“注入灵魂”,这个过程涉及到AI调教。稚晖君表示,这辆自动驾驶自行车的控制代码中,有50多个重要参数,包括控制周期、反馈矩阵、PID增益、滤波器截止频率等。只有调控到合理的数值范围内,系统才会稳定,实现自动驾驶。在 数学建模 之后,他再把参数和算法都输入游戏引擎Unity中进行仿真计算,结果通过可视化动画展现出来。经过数据调测后,一辆具成熟的自动行驶自行车便诞生了。
稚晖君将实物展现在所有人面前。他用脚收起脚架,按惯性瞬间侧倒的自行车,一动不动地站立着。看到这个场景,满屏都是“牛”和“卧槽”的 弹幕 。得益于算法的精准控制,这辆车还能在车头搭载重物却不影响自身平衡,甚至站在栏杆上纹丝不动。
作为一辆成熟的自行车,它还会自己认路,实现了初步的自动驾驶技术。车身上安装的深度相机收集到信息后,会通过WIFI传输到稚晖君的电脑上。再结合AI算法,车子可以自动避障,识别物体进行跟随等。配合测距用的激光雷达,这辆车还能够自主探索环境,规划行驶路径。
有网友总结了整个过程中稚晖君需要点亮的技能树:CAD建模、载板设计、软件开发设计、 电机控制 、手工焊电路板、ROS消息分发、 动力学 建模仿真……每一项技能缺一不可。
稚晖君在视频中表示,研制无人自行车的想法,最早是来自于 清华大学 的无人自行车项目。2019年,清华大学类脑计算机中心研制出面向人工通用智能的新型类脑计算芯片——"天机芯",而且成功在无人自行车上进行了实验,登上顶级学术杂志《 自然 》的封面。
稚晖君给这辆自动驾驶自行车取名XUAN(eXtremely Unnatural Auto-Navigation),同时也是“轩”的意思,“轩”在我国古代就是车子的代称。不过,受限于整车功率,这辆自行车目前还无法载人。
有就读相关专业的网友表示,稚晖君视频中任何一个部分都能出一篇本科 毕业论文 ,“接触到这个知识的边缘的时候才能感受到他有多厉害,这个学识和工作量简直不敢想象”。清华大学自行车项目参与者为稚晖君点赞,“正因为亲历过推着车在操场上跑实验的经验,才知道up主的工程能力到底有多强。”