Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

张倩编辑

自己不能跑的车凭什么叫自行车?B站硬核up主把自行车做成了自动驾驶

一个人就是一个团队,野生钢铁侠稚晖君历时四个月打造了一辆自动驾驶自行车。

2016 年的愚人节,谷歌跟全世界开了一个玩笑。

在一段视频中,他们展示了一个融合了自动驾驶技术的「真 · 自行车」。它不仅可以自己过马路,还能接你下班、让你坐在上面办公。




不过,在被疯传了两天之后,谷歌又跳出来亲自辟谣,说这个视频是他们 P 的,自行车旁边其实是有人的:


对此,有网友嘲讽道:「有这 PS 的工夫,做个真的不香吗?」

或许连谷歌都没想到,五年后的今天,真有人帮他们把坑填了。

而这个填坑的人,就是 B 站科技区大名鼎鼎的稚晖君。


在投稿这个视频之前,这位拥有 80 多万粉丝的 up 主已经鸽了好几个月了。当事人交代说,除了工作有亿点点忙之外,雨天骑车摔跤也是一个很重要的原因。

这次摔跤不仅让稚晖君领悟到了什么叫「水太深,你把握不住」,还让他下定决心设计一个自行车增稳装置,如下图:



啊,不好意思,放错图了,是这个:



这个改装后的车有多稳呢?上点难度试试:


原地不动看上去确实挺稳重的,那让它走两步看看:


路上有障碍物怎么办?上自动驾驶呗:



好家伙,自动驾驶都已经火到这种程度了吗?以后年轻人的第一辆自行车都得上自动驾驶了吗?

稚晖君介绍说,由于受限于整辆车的功率,目前这辆车还不能载人,不过换上电动车可能就不一样了。

这个项目看上去复杂,其实做起来更加复杂,心灵手巧如稚晖君都花了四个月的时间(虽然大部分是周末)。为了方便大家学习,稚晖君还开源了项目的硬件部分,有兴趣复现的同学可以去 GitHub 下载相关资料。(网友:我缺的是开源项目和兴趣吗?)


项目地址:https://github.com/peng-zhihui/XUAN-Bike

把自行车做成自动驾驶有多硬核?

在视频中,稚晖君向我们介绍了他将自行车改装成自动驾驶的大体思路。首先,为了让自行车平稳地跑起来,他设计了一套复杂的自动控制系统;其次,为了去掉车上的工具人,他给车装了一套传感器组成的感知网络以及算力足够强大的芯片;最后,他还在这些硬件基础上开发、实现了一套感知和控制算法,俗称「注入灵魂」。


要实现这套装置,首先需要设计。在这一阶段,稚晖君使用 CAD 进行建模,得到了一辆虚拟的「死飞」自行车,之后再慢慢往上添加细节,最终的改造方案如下:


如图所示:驱动结构方面,车子安装了两个较大的无刷电机以及一个控制龙头的舵机,用于驱动车子运动并保持静止和运动时的平衡。传感器方面,车子搭载了一个 RGBD 的深度相机、加速计、陀螺仪以及一个激光雷达,用于探测周围环境和车的状况;动力方面,电池使用的是 6S 的航模动力锂电池(续航 2~3 小时);控制方面,座椅的后方搭载了主控计算模块。



图纸设计完成,接下来就是软硬件的实现了。

为了获取硬件部分所需的零件,稚晖君选择了 3D 打印和机床加工相结合的方式(有个家里有厂的朋友),前者适合打印强度要求不高的塑料零件,后者用来加工金属零件。



车子的计算单元被分为低算力、低时延、运行实时系统的「小脑」和高算力、高时延、运行非实时系统的「大脑」。前者用于控制车身,用 ESP32 来实现;后者用于感知、思考和决策,用到了昇腾的边缘计算芯片昇腾 310。


为了将两部分整合到一起,稚晖君设计了一个四层的载板。PCB 打样之后,他手工将其焊了出来。「大脑」和「小脑」是通过总线相连的。此外,他还在软件上实现了一套 RPC 框架,让它们可以方便地进行通信。



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


「大脑」的软件框架则要复杂很多,除了基于昇腾的整个 AI 栈之外,稚晖君还在系统中使用了 ROS 框架(机器人领域常用框架,集成了大量的工具、库、协议,提供类似 OS 所提供的功能,简化对机器人的控制),后面的消息分发、业务串流、SLAM 等的实现都是基于 ROS 开发的。

「脑子」有了,电路还缺一个「心脏」,也就是驱动器。稚晖君曾经在去年 9 月份展示过他设计的一个超迷你 FOC 矢量控制驱动器,那个项目就是为今天的自动驾驶自行车所准备的。虽然个头还没有巴掌大,但这个驱动器可以实现两路共 100A 的无刷电机 FOC 控制,同时还驱动了前面的 60KG 舵机以及一个散热风扇。


把以上结构零件和电路全部整合起来,一辆自动驾驶自行车就诞生了。不过,这个自行车目前还没有「灵魂」,需要通过运动学、动力学建模等步骤来注入灵魂。稚晖君表示,这个车子的控制代码中有 50 多个重要参数,比如控制周期、反馈矩阵、PID 增益等。这些数字全部都要得到合理设置,才能使系统进入稳定且快速收敛的状态。电机功率、飞轮质量等物理参数的设置则需要有准确的数学模型来指导。

在得到模型之后,为了进一步验证模型的准确性,稚晖君使用了游戏引擎 Unity 进行仿真,然后把仿真的结果迁移到现实环境。



经过漫长的参数调整之后,控制算法终于收敛到了完美的效果。

至此,「能动」的目标就完成了,接下来就要引入自动驾驶了。

前面提到,这个自行车搭载了深度相机,再结合一些 AI 算法,车子就可以实现自动避障、自动跟随等功能。此外,车子搭载的激光雷达还可以用来完成路径规划,让车子自主探索环境。


就这样,稚晖君一个人完成了一个团队的项目。不过,由于开发时间有限,这次项目的改造只是实现了非常基础的自动驾驶功能。


稚晖君表示,这个项目其实是受到了清华类脑芯片项目的启发。2019 年 8 月,清华的「天机」芯片登上了《Nature》杂志的封面,搭载该芯片的自动驾驶自行车作为一个展示的 demo 出现在论文中。



如果你想了解更多的细节,可以参见稚晖君的完整视频:


「野生钢铁侠」稚晖君

最后来重点介绍一下稚晖君本人。


稚晖君,2018 年研究生毕业于电子科技大学,曾就职于 OPPO 研究院 AI 实验室,后通过「天才少年计划」加入华为,职位是 AI 算法工程师,目前正致力于自研深度学习推理框架与移动计算平台的异构加速相关技术。他的个人称号为「野生钢铁侠」,喜欢干脆面和可乐,且保持着浓密的发量。

在自行车项目之前,稚晖君还设计、制作过「B 站最强小电视」、「电子墨水屏 NFC 智能门禁卡」等大家耳熟能详的创意作品,有兴趣的同学可以进入稚晖君主页查看。


稚晖君 B 站主页链接:https://space.bilibili.com/20259914/video
工程自动驾驶技术
相关数据
华为机构

华为创立于1987年,是全球领先的ICT(信息与通信)基础设施和智能终端提供商,我们致力于把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界:让无处不在的联接,成为人人平等的权利;为世界提供最强算力,让云无处不在,让智能无所不及;所有的行业和组织,因强大的数字平台而变得敏捷、高效、生机勃勃;通过AI重新定义体验,让消费者在家居、办公、出行等全场景获得极致的个性化体验。目前华为约有19.4万员工,业务遍及170多个国家和地区,服务30多亿人口。

https://www.huawei.com/cn/
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自动驾驶技术技术

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

激光雷达技术

自动驾驶车辆传感器的一种,采用激光扫描和测距来建立车辆周围环境的详细三维模型。Lidar 图像具有高度准确性,这使得它可以与摄像头、超声波探测器和雷达等常规传感器相提并论。然而激光传感器面临体积过大的问题,同时,它的机械结构非常复杂。

感知技术

知觉或感知是外界刺激作用于感官时,脑对外界的整体的看法和理解,为我们对外界的感官信息进行组织和解释。在认知科学中,也可看作一组程序,包括获取信息、理解信息、筛选信息、组织信息。与感觉不同,知觉反映的是由对象的各样属性及关系构成的整体。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

边缘计算技术

边缘运算(英语:Edge computing),又译为边缘计算,是一种分散式运算的架构,将应用程序、数据资料与服务的运算,由网络中心节点,移往网络逻辑上的边缘节点来处理。边缘运算将原本完全由中心节点处理大型服务加以分解,切割成更小与更容易管理的部分,分散到边缘节点去处理。边缘节点更接近于用户终端装置,可以加快资料的处理与传送速度,减少延迟。在这种架构下,资料的分析与知识的产生,更接近于数据资料的来源,因此更适合处理大数据。

路径规划技术

路径规划是运动规划的主要研究内容之一。运动规划由路径规划和轨迹规划组成,连接起点位置和终点位置的序列点或曲线被称为路径,构成路径的策略则被称为路径规划。路径规划在很多领域都具有广泛的应用,如机器人的自主无碰行动;无人机的避障突防飞行等。

类脑芯片技术

类脑芯片是一种结构独特,可以仿照人类大脑的信息处理方式进行感知、思考、产生行为。人脑中的突触是神经元之间的连接,具有可塑性,能够随所传递的神经元信号强弱和极性调整传递效率,并在信号消失后保持传递效率。而模仿此类运作模式的类脑芯片便可实现数据并行传送,分布式处理,并能够以低功耗实时处理海量数据。

OPPO机构

OPPO,成立于2004年,是一家全球性的智能终端和移动互联网公司,致力于为客户提供最先进和最精致的智能手机、高端影音设备和移动互联网产品与服务,业务覆盖中国、美国、欧洲、东南亚等市场。

www.oppo.cn
推荐文章
暂无评论
暂无评论~