一个人,四个月!华为天才少年把自行车做成了自动驾驶!

EETOP 2021-06-14 10:57


来源:机器之心   编辑:张倩
一个人就是一个团队,野生钢铁侠稚晖君历时四个月打造了一辆自动驾驶自行车。


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

关注创芯人才网,搜索职位

关注创芯大讲堂,祝您IC技能更上一层楼!

EETOP EETOP半导体社区-国内知名的半导体行业媒体、半导体论坛、IC论坛、集成电路论坛、电子工程师博客、工程师BBS。
评论
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 141浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 90浏览
  • TOF多区传感器: ND06   ND06是一款微型多区高集成度ToF测距传感器,其支持24个区域(6 x 4)同步测距,测距范围远达5m,具有测距范围广、精度高、测距稳定等特点。适用于投影仪的无感自动对焦和梯形校正、AIoT、手势识别、智能面板和智能灯具等多种场景。                 如果用ND06进行手势识别,只需要经过三个步骤: 第一步&
    esad0 2024-12-04 11:20 103浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 138浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 170浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 143浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 114浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 109浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 92浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 126浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 107浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦