自己不能跑的车凭什么叫自行车?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
自己不能跑的车凭什么叫自行车?B站硬核up主把自行车做成了自动驾驶相关推荐
- 特斯拉车主「作死」成真:炫耀「主驾无人」,自动驾驶导致车毁人亡
贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 两人死亡! 刚刚,特斯拉在美国得克萨斯州又发生一起致命车祸. 而且,这次完全可以肯定,是特斯拉自动驾驶的失误导致事故. 理由呢? 尽管听上 ...
- 华为天才少年造出自动驾驶单车!图纸已开源,硬件成本一万,B 站老板:重新定义「自行」车...
文章转载自量子位,上图为b站up主华为天才少年稚晖君 果然高手在民间. 谁能料到,一辆自行车的硬核打开方式,竟是大火的自动驾驶. 踢开脚撑,金鸡独立.稳如泰山: 单侧加个板砖?小场面: 毕竟,它是连高 ...
- 华为天才少年造出自动驾驶单车!图纸已开源,硬件成本一万,B站老板:重新定义「自行」车
鱼羊 金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 果然高手在民间. 谁能料到,一辆自行车的硬核打开方式,竟是大火的自动驾驶. 踢开脚撑,金鸡独立.稳如泰山: 单侧加个板砖?小场面: 毕 ...
- 华为天才少年造出自动驾驶单车!图纸已开源,硬件成本一万,B站老板:重新定义「自行」车...
鱼羊 金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 果然高手在民间. 谁能料到,一辆自行车的硬核打开方式,竟是大火的自动驾驶. 踢开脚撑,金鸡独立.稳如泰山: 单侧加个板砖?小场面: 毕 ...
- 中国率先发布全球首份车路协同技术白皮书!清华百度联手,突破自动驾驶规模落地瓶颈...
鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 如果抛出这样一个问题:在自动驾驶领域,中国有啥与众不同? 不少业内人士都会给出这样一个答案:车路协同. 你若尚不了解这是怎样的技术,现在,一 ...
- 自动驾驶步入运营阶段,腾讯给出“车图云”的新解法
/ 导读 / 截至9月,全国已有北京.重庆.武汉.深圳.广州.长沙等多个城市允许自动驾驶汽车在特定区域.特定时段商业化试运营.自动驾驶正在从研发走向量产,逐步步入服务运营阶段,对云端算力的需求也在不断 ...
- 自动驾驶蓄势待发,车企如何拥抱智能化
本文概述:8月1日,中国首部智能网联汽车管理法规在深圳正式生效,深圳由此成为第一个允许全无人自动驾驶汽车上路的城市.这一政策使行业人士感到振奋,L3自动驾驶落地的曙光开始显现. 新规的落地昭示着,中国 ...
- 一年半跻身网约车业务前二,现发起首个自动驾驶联盟,T3出行是一家怎样的公司?...
杨净 发自 上海 量子位 报道 | 公众号 QbitAI T3出行很忙,T3出行很火,但T3出行究竟是怎样的"新物种"? 就在最近,这家公司有一连串新动作.先是在苏州联合30余家车 ...
- 华为鸿蒙系统自动驾驶,华为高阶自动驾驶 + 华为鸿蒙 OS 车机系统体验
IT之家 4 月 25 日消息 北汽纯电汽车品牌 ARCFOX 极狐上周发布了智能豪华纯电轿车阿尔法 S,并提供华为 HI 版,虽然价格不便宜但绝对给用户留下深刻的印象,在目前国内城区自动驾驶.代客泊 ...
- 苹果加入造车潮,自动驾驶离我们还远吗?
近日,有消息称苹果可能提前两年推出电动车产品,预计时间将是2021年的第三季度,也就是大概9个月之后.消息热度居高不下,引发了广泛的关注和讨论. 早在2013年的开发者大会(WWDC)上,苹果就正式推 ...
最新文章
- 李飞飞、颜宁等8位华人学者入选美国艺术与科学院院士,其中7位女性
- FirewallD 详解
- PowerShell字体颜色修改
- 【javascript高级教程】JavaScript Array(数组) 对象
- 微信提交表单到服务器,微信小程序页面表单如何跟图片一起上传服务器
- elasticjob 分片策略
- e.preventdefault() 别滥用
- TCP/IP Model: Layers Protocol | What is TCP IP Stack?
- Kylin设置JDBC配置greenplum数据源
- linux的uapi文件夹,【linux】Linux kernel uapi header file(用户态头文件)
- 用html做mfc的界面,课程设计(MFC)“界面”“使用”“心得”
- 计算机应用专业毕业感言,大学毕业感言一句话
- ca42a_demo_c++_new_delete表达式
- 宾果消消乐和宾果消消消_《宾果消消消》攻略之关卡障碍介绍
- macbook卡在进度条开不了机_苹果电脑开机一直停留在加载进度条当中是怎么回事...
- unable to access ‘https://code.srdcloud.cn/a/ifst/ifst-fe/‘: Failed to connect to code.srdcloud.c
- VPP DPDK,不是翻墙!!
- 数据库中索引的填充因子
- 计算机里没有四款小游戏,电脑里一些隐藏在程序里有趣的小游戏
- linux 服务器被植入ddgs、qW3xT.2挖矿病毒处理记录
热门文章
- MathorCup数模竞赛,为你的保研之路添砖加瓦~
- sql删除重复数据只保留一条的操作方法
- matlab是一门什么语言,为什么有些程序员认为MATLAB不是一门语言?
- 使用QT5 PrintSupport打印和预览标签
- 集装箱装柜计算机器在线,装箱大师在线计算教程
- STM32F407——蓝牙模块CC2541
- PROSOFT模块MVI56E-MNETC、MVI56-PDPMV1、PTQ-PDPMV1、AN-X2-AB-DHRIO、MVI56-MBP、MVI56-MNETR、MVI56-MNET
- 基于.net的学校图书管理系统
- 计算机博弈的代码java,Java 速成
- How fast is a C++ extension by the PHP-CPP liberary?