广告

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

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

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

awEednc

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

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

awEednc

骑车摔伤后的突发奇想

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

awEednc

 awEednc

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

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

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

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

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

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

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

awEednc

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

awEednc

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

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

awEednc

最终的改造方案如下:awEednc

awEednc

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

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

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

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

awEednc

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

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

awEednc

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

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

awEednc

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

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

awEednc

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

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

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

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

awEednc

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

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

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

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

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

awEednc

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

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

awEednc

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

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

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

awEednc

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

awEednc

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

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

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

awEednc

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

awEednc

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

awEednc

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

awEednc

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

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

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

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

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

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

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

责编:DemiawEednc

  • 加工中心做的,开啥模具?
  • 一个人?没有团队?
  • 华为说不造车,谁信啊?
  • 抢我自行车把
  • 膜拜
  • 配件哪买的?配件的模具花了好几万吧
EDN China
暂无简介...
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 将锂金属电池寿命提高750%,竟然只需要“水”? 随着新能源汽车、移动设备等领域的快速发展,高性能电池的需求日益旺盛,锂金属作为新一代阳极材料,因具有高能量密度、轻量化等优点,备受关注。然而,锂金属电池所存在的寿命短、易起火或爆炸等问题,限制了其广泛的商业应用···
  • 按下ON还是按住OFF,将这种开关电路升级到交流电 2024年10月14日,Nick Cornford发布了一个名为“按下去再按上来,这种开关有哪些门道?”的设计实例(DI)。对于直流电压来说,这是一个非常有趣的DI,但对于交流电压呢?
  • 协同创新,助汽车行业迈向电气化、自动化和互联化的未来 汽车行业正处在电动化和智能化的转型过程中,而半导体企业站在这一变革的最前沿。这一转型带来了重大发展机遇,也带来了诸多挑战,需要颠覆性的技术以及更短的开发周期。加强半导体制造商、一级供应商和汽车制造商之间的合作,对于应对这些复杂情况及推动行业迈向电气化、自动化和互联化的未来至关重要···
  • 将单电源单端输入改成伪A/B类差分输出放大器 该放大器采用Barrie Gilbert的微混频器拓扑结构可将单端输入转换为单电源A/B类电流输出···
  • 加强低功耗FPGA的领先地位 在快速发展的技术领域,从以云端为中心到以网络边缘为中心的创新转变正在重塑数据的处理和利用方式···
  • 打造下一代家用机器人:精心构建智能化、集成化和电源优 ​​​​​​​今天的家用机器人不仅仅是工具,它们已经成为人们的生活伙伴,为日常生活增添了便利性和互动性。设计这些结构紧凑、功能强大的机器需要克服连接性、电源和外形尺寸等方面的严峻挑战,每一次突破都使我们更接近全面集成的智能家居体验···
  • 用LM337改造,让PWM DAC获得1.5 A输出能力 DAC是一种低功耗设备,其功率和电流输出能力仅限于毫瓦和毫安范围。当然,从根本上讲,它们没有理由不与合适的功率输出级配合使用,这确实也是常见的实际做法。不过,为了好玩,这个设计实例采用了不同的供电方式···
  • 意法半导体:让可持续世界从概念变为现实 最近,意法半导体人力资源和企业社会责任总裁Rajita D’Souza分享了意法半导体的可持续发展战略和近期工作重点···
  • 如何制作双变频的航空波段接收机? 随着互联网的发展,中波和短波频段的接收机已成为过去式,更不用说长波了。不过也许在无线电领域中最有趣的活动之一就是收听服务发射机,对于我这个与航空相关的人来说,主要指的是飞机的发射机和空中交通管制塔···
  • 用4200A和矩阵开关搭建自动智能的可靠性评估平台 在现代ULSI电路中沟道热载流子(CHC)诱导的退化是一个重要的与可靠性相关的问题···
  • 新一代MCU向着边缘AI和实时控制发展 在工业和汽车领域,电机驱动和数字电源转换是典型的实时控制系统,要求处理器具有高实时性和强大的数学计算与处理能力。这些应用需要优质的ADC和PWM功能,并通过联动机制,形成高效、有机的实时控制系统。
  • 英特尔Ultra处理器,用普通内存也能超频到10000 MT/s+? 目前内存超频的世界记录是12666MT/s,而想要达成这样的频率不光需要降低CPU频率,还需要辅助液氮等特殊的冷却方案,对内存进行降温。但已有主板可以在没有特殊冷却方案的情况下,超频到10000 MT/s以上···
广告
热门推荐
广告
广告
广告
EE直播间
在线研讨会
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了