广告

华为AI算法工程师把自行车做成了自动驾驶 ,一个人完成一个团队的项目

2021-06-09 EDN China 阅读:
近日,EDN小编关注的一位B站up主在鸽了好几个月之后,终于更新了,而这次更新的确实一个硬核项目:把自行车做成自动驾驶!并且一个人完成了一个团队的项目……

近日,EDN小编关注的一位B站up主在鸽了好几个月之后,终于更新了,而这次更新的确实一个硬核项目:把自行车做成自动驾驶!uq5ednc

uq5ednc

截止至EDN发文前,该视频播放量高达158.5万。up主表示这个项目应该他最近做的最硬核的一个了,研发过程断断续续花了四个月(虽然基本只有周末有空),期间遇到非常多的坑,视频时长原因有些内容并没有放到视频里,看了下素材已经拍了将近200G了...uq5ednc

流量够用的朋友,可以直接点开视频看细节:uq5ednc

uq5ednc

骑车摔伤后的突发奇想

稚晖君表示,他前阵子骑车由于下雨水太深,不小心摔倒受伤了。作为一个掌握了技术密码并且永远头铁的野生钢铁侠,是时候着手设计一个自行车增稳装置了。uq5ednc

uq5ednc

 uq5ednc

此外,正值自动驾驶爆发时期,而稚晖君正好本职工作又是做AI的,所以一个很有意思的想法就出来了:不如就做一辆自动驾驶自行车吧!uq5ednc

毕竟如果自己不能跑,那凭什么叫它自行车呢?uq5ednc

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

在视频中,稚晖君向我们介绍了他将自行车改装成自动驾驶的大体思路。uq5ednc

首先,得让自行车跑起来,与四个轮子的汽车不同,自行车是个欠驱动系统,不进行控制的话,连站稳都难。为了让自行车平稳地跑起来,他设计了一套复杂的自动控制系统;uq5ednc

其次,为了去掉车上的工具人,他给车装了一套传感器组成的感知网络以及算力足够强大的芯片作为大脑;uq5ednc

最后,他还在这些硬件基础上开发,实现一套感知和控制算法,俗称“注入灵魂”。uq5ednc

uq5ednc

他将用之前买的一部“死飞”进行改造。uq5ednc

uq5ednc

要实现这套装置,首先需要设计。uq5ednc

在这一阶段,稚晖君使用 CAD 进行建模,得到了一辆虚拟的“死飞”自行车,之后再慢慢往上添加细节。uq5ednc

uq5ednc

最终的改造方案如下:uq5ednc

uq5ednc

驱动结构方面,车子安装了两个巨大的无刷电机以及一个控制龙头的舵机,用于驱动车子运动并保持静止和运动时的平衡;uq5ednc

传感器方面,车子搭载了一个 RGBD 的深度相机、加速度计和陀螺仪以及一个激光雷达,用于探测周围环境和车的状况;uq5ednc

动力方面,电池使用的是 6S 的航模动力锂电池,续航 2~3 小时;uq5ednc

控制方面,座椅的后方搭载了主控计算模块。uq5ednc

uq5ednc

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

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

uq5ednc

接下来到了第二个部分,车子的机器大脑——计算单元。uq5ednc

车子的计算单元被分为低算力、低时延、运行实时系统的“小脑”和高算力、高时延、运行非实时系统的“大脑”。uq5ednc

uq5ednc

前者用于控制车身,用 ESP32 来实现;后者用于感知、思考和决策,用到了昇腾的边缘计算芯片昇腾 310。uq5ednc

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

uq5ednc

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

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

“脑子”有了,电路还缺一个“心脏”,也就是驱动器。uq5ednc

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

uq5ednc

把以上结构零件和电路全部整合起来,一辆自动驾驶自行车就诞生了。uq5ednc

不过,这个自行车目前还没有“灵魂”,需要通过运动学、动力学建模等步骤来注入灵魂。uq5ednc

稚晖君表示,这个车子的控制代码中有 50 多个重要参数,比如控制周期、反馈矩阵、PID 增益等。uq5ednc

这些数字全部都要得到合理设置,才能使系统进入稳定且快速收敛的状态。电机功率、飞轮质量等物理参数的设置则需要有准确的数学模型来指导。uq5ednc

在得到模型之后,为了进一步验证模型的准确性,稚晖君使用了游戏引擎 Unity 构建一个真实的物理环境进行仿真,给小车赋予真实的质量及重力,然后将控制算法的计算结果可视化显示出来。uq5ednc

uq5ednc

然后把仿真的结果迁移到现实环境。uq5ednc

稚晖君在姿态系统中使用的是LQR控制器,方向控制使用了经典地PID,传感器则是对加速度计和陀螺仪数据使用了二阶的巴特沃斯滤波器之后,再通过卡尔曼滤波进行数据融合。uq5ednc

uq5ednc

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

至此,“能动”的目标就完成了,接下来就要引入AI实现自动驾驶了。uq5ednc

前面提到,这个自行车搭载了深度相机,再结合一些 AI 算法,车子就可以实现自动避障、自动跟随等功能。uq5ednc

uq5ednc

此外,车子搭载的激光雷达还可以用来完成路径规划,激光雷达通过测量激光发射到反射回来所消耗的时间,乘以光速,就可以获得目标的距离位置,由此360度成像就能获得比摄像头更可靠的深度信息,将这些数据用于SLAM图与路径规划,最后就可以实现让车子自主探索环境。uq5ednc

uq5ednc

就这样,稚晖君一个人完成了一个团队的项目。uq5ednc

不过,稚晖君表示由于开发时间有限,这次项目的改造只是实现了非常基础的自动驾驶功能。uq5ednc

稚晖君表示还有很多可以改进的地方,如龙头的传统结构设计得不够合理,如果换成谐波减速伺服电机驱动,那么行驶的稳定性可以大幅提升;又比如受限于整车的功率,这套系统还不能载人,但如果换成电动车就不一样了。uq5ednc

uq5ednc

稚晖君表示,设计这个项目的想法很早就有了,起因是看到清华大学当时设计出一款自行车,还登上了《Nature》杂志的封面,因此想能不能复现一个类似的项目。uq5ednc

uq5ednc

因此稚晖君给这个项目起名为XUAN。uq5ednc

uq5ednc

对比,评论区有网友留言表示:作为清华那个自行车项目的参与者说明一下。。那篇 Nature 文章并不是因为这个自行车本身而上的 Nature ,而是因为自行车上的那款芯片。那个自行车实验更多只是作为一个展示的 Demo 用来证明该芯片可以跑各种适用于不同场景下的算法。选取自行车一是因为“智能自行车”本身就是一个比较适合搭载多种不同小算法来实现多种功能的项目,本身这个概念也比较吸引眼球,再就是当时自动化系之前就有一辆改装过的助力自行车,能省去不少前期工作。所以侧重点还是和 UP 有区别的。但也正因为亲历过推着这个车在操场上跑实验的经历才知道 up 的工程能力有多强,这真的是一个非常考验软硬件开发能力的事,佩服。uq5ednc

uq5ednc

最后,稚晖君表示,为了方便大家学习,稚晖君还开源了项目的硬件部分,有兴趣复现的同学可以去 GitHub 下载相关资料。uq5ednc

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

up主简介:稚晖君(AI算法工程师/野生钢铁侠/Arduino版主/脑洞载体)

他是华为天天才少年项目中的一员,他的个人称号为“野生钢铁侠”,希望跟钢铁侠一样在山洞中打造出钢铁战衣,由于在B站发布了一条自制硬币大小的AI电脑爆红网络,他给这台电脑也取名贾维斯。uq5ednc

他叫彭志辉,2018 年研究生毕业于电子科技大学,曾就职于 OPPO 研究院 AI 实验室,后通过“天才少年计划”加入华为,职位是 AI 算法工程师,目前正致力于自研深度学习推理框架与移动计算平台的异构加速相关技术。uq5ednc

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

稚晖君 B 站主页链接:https://space.bilibili.com/20259914/videouq5ednc

责编:Demiuq5ednc

  • 加工中心做的,开啥模具?
  • 一个人?没有团队?
  • 华为说不造车,谁信啊?
  • 抢我自行车把
  • 膜拜
  • 配件哪买的?配件的模具花了好几万吧
本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
EDN China
暂无简介...
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 让微波炉逸出杂散辐射最小化的神奇设计——扼流法兰(c 为了让可能从微波炉中逸出的杂散辐射最小化,措施之一是在设计时增加「扼流法兰」(choke flange)...
  • LED灯泡竟有“保存期限”?放多久会“过期”? 传统的白炽灯泡只要小心地收好,就可以存放多年;LED灯泡可不一样,买来后不能直接搁置在某处的架子上,然后把它遗忘多年...
  • 如何确保复杂系统运作的可靠度?在芯片内装个“小眼睛” 一家以色列新创公司proteanTecs提出了一种全新解决方案,也就是在芯片电路内投放一个个有如小眼睛的IP,扮演像是感测器的角色,从芯片的设计、制造阶段,到被组装至电路板、系统之后,都能持续监测其内部状况...
  • 高考用小猿搜题作弊,招考办甩锅5G,5G该不该背锅? 日前,高考考生用手机拍数学试题上传小猿搜题作弊的新闻引发了各界关注及议论,从拍照作弊工具,到手机如何带进考场,再到如何躲过信号屏蔽。而在此过程中,5G也被推上了议论的中心。
  • EDaaS:EDA芯片设计行业的创新,芯片设计即服务 在软件领域,从传统的CS/BS,到SaaS和PaaS的创新,使全球的软件业得到了进一步的发展,也迎来了软件业的一波高峰。在EDA芯片设计领域,同样将迎来这样的升级与创新:芯华章于今天(6月10日)正式发布EDaaS(Electronic Design as a Service):芯片设计即服务平台,这可能将EDA的发展也推向一个新的高度。
  • 把CPU三级缓存堆到192MB,AMD与台积电的合谋 前不久的 Computex 2021 大会上,AMD 又抛出了几枚足以对 Intel 造成威慑力的炸弹,其中有一个与制造工艺又有很大的关系,即处理器上的 3D V-Cache,让处理器的 L3 cache 能比较容易地堆到 192MB 大小,并且演示借此在游戏上获得 15% 的性能提升。这项技术本质上是 2.5D/3D 封装技术,借此机会也恰好聊聊台积电的 3DFabric 技术,或者说真正用人话来谈谈台积电的 2.5D 和 3D 封装技术……
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了