华为天才少年脑洞大开:四个月“养大”一辆自行车?

恨寒聊财经 2023-01-18 08:28:14

“你已经是一辆成熟的自行车了,应该学会自己跑起来。”

相信不少人都有过这样的想法,但很显然,我们的自行车只是个“宝宝”,没法自己跑起来。不过对于普通人来说办不到的事,对于有些人来说却并不困难。

前几天,B站上就有一位UP主发布了自己“养大”自行车的视频,在经过四个月的“哺育”之后,他成功让一辆自行车自己跑起来了。他就是稚晖君,本名彭志辉,2020年华为“天才少年”计划签约者。

一辆自动驾驶自行车,是如何诞生的?

在视频中,稚晖君介绍了这辆自动驾驶自行车诞生的全过程。

首先他选择了一辆死飞(Fixed Gear,固定齿轮自行车)作为本体,并在CAD上建立了这辆自行车的3D模型,然后就是以这辆死飞的数字孪生为基础,设计一套改造方案。

为了让自行车能在静止和运动时保持平衡,稚晖君选择了使用角动量守恒的原理,在车座前方设置一个较大的无刷电机,控制动量轮的运作。同时他在后轮上方又设置了一个无刷电机,靠摩擦力来驱动后轮,让自行车实现前后移动,并在龙头上安装舵机控制转向。

在传感器方面,稚晖君为自行车安装了一个RGBD的深度相机、加速计、陀螺仪和激光雷达,用来探测周围环境和车辆自身的状况。而用来控制车辆自动驾驶的主控计算模块,则被他安置在了车座后方。

设计完成之后就是零件制作,那些对强度要求不高的零件,稚晖君使用了3D打印技术,而剩下的金属零件则是交给了“家里有厂”的朋友代为加工。

完成了硬件框架的搭建,下一步就是给自行车安上「脑子」,让它能够跑起来甚至自己认路。

相对而言,「大脑」的软件框架就要复杂得多,除了基于昇腾的整个AI栈之外,稚晖君还使用了ROS(机器人操作系统),来实现消息分发、业务串流、SLAM等功能。

「小脑」的框架是基于FreeRTOS,主要实现传感器的数据处理以及电机的控制算法,并通过一个小屏幕实时显示部分参数。

相对而言,「大脑」的软件框架就要复杂得多,除了基于昇腾的整个AI栈之外,稚晖君还使用了ROS(机器人操作系统),来实现消息分发、业务串流、SLAM等功能。

为了将这两个「脑子」整合到一起,稚晖君设计了一个四层的载版,通过总线把「大脑」和「小脑」连接起来。

“身体”和「脑子」已经就绪,接下来还差一个“心脏”,也就是驱动器。稚晖君使用了之前项目中设计的Ctrl-FOC矢量控制驱动器。这是一个超迷你双通道无刷电机驱动器,能够实现两路共100A的无刷电机FOC控制,同时还驱动了一个60KG舵机及一个散热风扇。

万事俱备,把上面所有的结构零件和电路整合起来,一辆自动驾驶自行车就诞生了。不过,目前阶段的自行车还远远没法上路,必须为它注入“灵魂”——调参。

稚晖君表示,这个车子的控制代码中有 50 多个重要参数,比如控制周期、反馈矩阵、PID 增益等。这些数字全部都要得到合理设置,才能使系统进入稳定且快速收敛的状态。电机功率、飞轮质量等物理参数的设置则需要有准确的数学模型来指导,否则一不小心就会“翻车”。

在历经九九八十一难得到模型以后,为了进一步验证模型的准确性,稚晖君又在游戏引擎Unity中进行了仿真,先让自行车能在仿真环境中自如行动,随后再迁移到现实环境当中。

现在,自行车已经能够维持自身静态和动态的平衡,也有了“自己行动”的能力,接下来就要引入自动驾驶技术了。

通过自行车搭载的RGBD深度相机,再结合AI算法,自行车就拥有了自动避障、自动跟随等功能。

再用上激光雷达,自行车就能像扫地机器人那样自动规划路线,探索未知环境了。

至此,这辆被稚晖君命名为“轩”的自动驾驶自行车终于算是初步完成了。

做一辆自动驾驶自行车,脑洞从何而来?

有类似想法的人,稚晖君并不是第一个。2016年,谷歌就拍摄了一段“自动驾驶自行车”的短片,虽然最后谷歌自曝那只是个愚人节玩笑,自行车的“自动驾驶”也是通过画面合成的,但还是让人们大开眼界。

2019年,清华大学发布了自主研发,同时也是世界首款异构融合类脑芯片。当时为了演示这款类脑芯片的性能,清华大学就制作了一款自动驾驶自行车,并因此登上《Nature》封面。稚晖君这次启动“轩”计划,就有致敬清华大学的因素在里面(虽然两者原理并不相同)。

除了本身的兴趣和致敬之外,稚晖君之所以会开启“轩”这个项目,也有自我提高,熟练新技能的目的——作为华为重金签约的天才少年,稚晖君之前接受过不少采访,他也透露过自己业余制作的各种项目是因为“比较喜欢在积累了一定程度的新知识和技能之后,构思一个项目把这些知识都用上并呈现出来。”

而对于稚晖君来说,加入华为天才少年计划,不仅是对自己能力的一种认可,同时也让个人爱好、公司价值、时代趋势达成了统一,而这对于稚晖君来说正是他最理想的工作状态

0 阅读:5