互联网资讯 / 人工智能 · 2023年12月11日 0

少年发明无人驾驶自行车,引发网友感动

自行车何时能够实现“自动行驶”呢?

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

由于自行车属于欠驱动系统,若不加以控制,就无法保持稳定的站立。

最近,B站的野生技术协会成员、被称为“华为天才少年”的AI算法工程师稚晖君展示了一个“自动驾驶”自行车项目,让普通自行车变身为“自动行走”的交通工具!

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

视频中的讲解非常详尽,网友们纷纷赞叹:“666666”。

那么,稚晖君是如何实现这项自动驾驶“自行车”的呢?

首先,最基础的就是让自行车能够移动,这需要进行硬件改造,加入自动控制系统。

接下来,要去掉驾驶员的角色,这需要为自行车配备一整套传感器网络,并安装一颗功能强大的芯片,这颗芯片就像是自行车的“大脑”。

最后,在硬件的基础上实现感知与控制算法,为这辆车“注入灵魂”。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪
改造“死飞”

说完步骤,接下来我们具体看看:

此次改造的对象是一辆“死飞”(Fixed Gear),其结构简单,没有刹车,减速依靠反向蹬车。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

像钢铁侠制作机器人那样,这台自动驾驶自行车同样需要利用计算机辅助工具CAD进行建模,创建出一辆虚拟的自行车模型,或称为自行车的数字孪生。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

有了车体模型后,所有的改造工作均可在计算机上完成,只需添加一些细节,最终的改造方案便完成了:

首先为自行车安装两个巨大的无刷电机。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

并添加一个控制车把的舵机。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

在传感器方面,搭载了一个RGBD深度相机、加速度计、陀螺仪及激光雷达。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

电池则选用了6S的航模动力锂电池,续航时间约为2-3小时。

主控制模块被放置在座椅后方。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

在驱动结构方面,控制车把旋转的舵机、前后方向的平衡则依靠两个轮子的支撑和地面摩擦力来实现。

至于左右平衡,可以通过调整车把的方向来获得转向加速度,从而抵消重力的影响。

而在静止状态下,则依靠角动量守恒原理,学过大学物理的人都知道,角动量守恒定律是自然界中最普遍的守恒定律之一。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

当系统的动力角动量发生变化时,会将力矩传递给其他物体。因此,这辆自行车中间的无刷电机其实是用来驱动一个金属动量轮。

这与太空中卫星在没有摩擦力的情况下调整自身姿态的原理相同。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

后面的无刷电机则通过摩擦力驱动后轮,使自行车整体前后移动。

关于零件,一部分可以通过3D打印制作,但由于所需零件的硬度和刚性要求较高,稚晖君选择用金属加工来制作固定电机的部件。

安装机器大脑

所有零件安装完成后,就需要建立电力系统,也就是主控制模块与AI计算单元。

与人类相似,计算单元分为小脑和大脑,小脑负责低算力、低时延的实时系统,大脑则负责高算力、高时延的非实时操作系统,用于感知、思考和决策。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

随后,稚晖君设计了一个载板,将这两个计算单元整合在一起,结构为四层设计。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

PCB打样后手工焊接,这也是传统的技艺环节。

通过总线将大脑与小脑连接,并在软件上实现一套RPC框架,以便于它们之间的通信。

小脑的框架基于freeRTOS,主要用于传感器数据处理和电机控制算法。

任务简单分为三个:闭环控制线程、电机通信线程、屏幕刷新线程。

大脑的软件框架则复杂得多。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

到此为止,电路部分已具备“大脑”,但还有一个重要模块缺失,那就是“心脏”,即之前稚晖君设计的CtRl-FOC驱动器。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

作为CtRl的第二代作品,其表现相当出色,在小巧的体积内实现了两路共100安的无刷电机FOC控制,同时顺便驱动前方60Kg的舵机和散热风扇。

至此,自动驾驶自行车的整合工作完成。

稚晖君对整个过程进行了简单总结:

机器人是一个复杂的系统,设计时需采用科学方法对其进行理论分析,利用运动学和动力学建模,通过数学模型了解哪些问题相对简单,哪些则较为复杂。

例如,这辆车的控制代码中有超过50个重要参数,包括控制周期、反馈矩阵、PID增益、滤波器截止频率等。

所有这些关键数字需要合理设置,才能使系统进入稳定且快速收敛的状态。

而一些物理参数的设定,如电机功率、飞轮质量、重心分布等,同样需要准确的数学模型进行指导。

在得到模型后,为进一步验证理论的准确性,通常需要在计算机中进行仿真,稚晖君使用了游戏引擎Unity——在其中构建虚拟的物理环境,赋予小车真实的质量和重力,并将控制算法的计算结果可视化。

这一验证完成后,还需经历siM2Real的过程,将仿真结果迁移至现实环境。

这实际上是一个复杂的过程,因为现实中存在更多的不确定因素,很多时候机器人在仿真中表现优异,而在现实中却变得迟钝。视频中举了一个DARPA参赛作品的例子。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

同样,这台车在调试过程中也经历了许多艰辛。

在这套系统的姿态控制中,稚晖君采用了LQR控制器,方向控制则使用了经典的PID算法,传感器对加速度计和陀螺仪数据使用二阶巴特沃斯滤波器,然后通过卡尔曼滤波器进行数据融合,最终得到车身姿态。

经过漫长的参数调整,终于成功打造出一台成熟的“自动驾驶”自行车。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

那么,这辆自动驾驶自行车的效果究竟如何呢?

在静态状态下,表现非常稳固!

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

即使被戳也依旧“岿然不动”。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

即便在一侧增加重物,仍能保持平衡。

天才少年打造无人驾驶「自行车」,网友:特斯拉看了都流泪

甚至可以进行一些杂技动作。