找回密码
 立即注册
搜索

华为天赋少年打造"无人驾驶"自行车!网友:又一辆自行车成精了

自行车什么时分能完成「本人行走」呢?




自行车属于前驱动系统,假如不停止控制就无法完成波动站立



最近,B站野生技术协会野生钢铁侠、「华为天赋少年计划」当选者、AI算法工程师稚晖君发布了一个「自动驾驶」自行车项目,自行车化身「自动行走」的车!






视频讲解详细,网友直呼:666666


那么,稚晖君是如何打造自动驾驶「自行车」的呢?


第一步当然是最基本的让车子跑起来,这就需求硬件改造,加入自动控制系统。


第二步要去掉驾驶员工具人,这就需求给车子搭载一整套传感器组成的网络,还需求一个算力足够的芯片,而这个芯片也是整个自行车的「大脑」。


最后,在后面的硬件基础上完成感知和控制算法,也就是给这台车「注入灵魂」。






改造「死飞」



引见完步骤,我们详细来看:


改造的对象是一辆「死飞」(Fixed Gear),结构简单,没有刹车,靠反向蹬车减速。






像钢铁侠造机器人那样,这台自动驾驶的自行车也需求用计算机辅助工具CAD来建模,得到一辆虚拟自行车,或者叫做自行车的数字孪生。










有了车体模型,一切的改造工作都可以在计算机上完成,只需加上「一点点」的细节,最终的改造方案就出来了:


先给车子安装两个宏大的无刷电机。






以及一个控制龙头的舵机。






传感器方面搭载了一个RGBD的深度相机,加速度计和陀螺仪,以及一个激光雷达。






而电池运用的是6S的航模动力锂电池,续航大约有2-3小时。


主控计算模块被安置在了座椅的后方。






驱动结构方面,控制龙头的旋转舵机,前后方向的平衡靠两个轮子的支撑和地面摩擦力。


那么左右平衡呢?当在骑行形状下,可以靠着左右调理龙头来获得转向加速度以此来抵消重力的影响。


那么运动形状下呢?


这就要靠角动量守恒,学过大学物理的同窗都知道角动量守恒定律是自然界中最普遍的守恒定律之一。






当系统一个动力角动量发生变化的时分,就会将力矩传递给其他物体。所以这辆自行车中间的无刷电机,其实就是驱动一个金属的动量轮。


实践上这也是在太空中卫星在没有摩擦力的状况下调整本身姿态的一样的原理。






而后面的无刷电机就是靠摩擦力驱动后轮,让车子全体前后运动。


关于零件,其中一部分零件可以用3D打印来制造,不过由于这次所需零件比较硬核,3D打印塑料的硬度和刚性都不太合适作为核心的结构件,因此用于固定电机的零件,稚晖君还是选择用金属来加工。


此处就要感叹一下,有一个家里有厂,可以直接开模做零件的冤家也很重要!


安装机器大脑


在一切的零件安装完成后,就需求安装电力系统了 ,也就是主控模块和AI计算单元。


和人类一样,将计算单元分为小脑和大脑,小脑包括低算力、低时延、运转实时系统,大脑包括高算力、高时延、运转非实时操作系统,用于感知、思索和决策。


而在这个项目中,小脑用的是HoloCubic外面的MCU,ESP32,大脑则运用了昇腾边缘计算机芯片昇腾310 AI处理器,搭载的达芬奇core可以提供高达22TOPS的算力。






然后,稚晖君设计一个载板,将这两个计算单元整合到一同,板子的结构为四层设计。






PCB打样之后再手工焊接一下,这也是传统艺能环节。


之后经过总线把大脑和小脑相连,在软件上完成一套RPC框架,让它们可以方便地通讯。


其中小脑的框架基于FreeRtos,次要是完成传感器的数据处理,以及电机的控制算法。


简单分为三个义务:闭环控制线程、电机通讯线程、以及屏幕刷新线程。


大脑的软件框架要复杂很多。


除了基于昇腾的整个AI栈之外,还在系统中运用了一个做机器人常用的框架—— ROS,本质上是一个高功能的通讯中间件。


到这里,电路方面曾经有了脑子,还缺一个很重要的模块,那就是心脏,也就是此前稚晖君设计的Ctrl-FOC驱动器。







作为Ctrl的二代作品,它的表现还是非常的猛的,在很小的体积之下, 完成了两路共100安 的无刷电机FOC控制,同时还特地 驱动了后面60Kg的舵机,以及一个散热风扇。


到这里自动驾驶自行车就整合完成了。


稚晖君简单做了一个总结:


机器人是一个复杂的系统,设计的时分,迷信的方法是将机器人停止实际上的分析,也就是运用运动学和动力学的建模,经过数学模型知道哪些事情是相对 容易的哪些是复杂的。


例如,这辆车子的控制代码中,有超过50个重要参数:控制周期、反馈矩阵、PID增益、滤波器截止频率等。


这些魔法数字要全部得到合理的设置,才能使系统进入波动且疾速收敛的形状。


而一些物理参数的设置,如电机功率应该选多大的?飞轮质量应该选多少?


重心的分布应该怎样设置才比较合理?也都需求准确的数学模型停止指点才行。


在得到模型之后, 为了进一步验证实际的准确性,普通要在计算机中停止仿真,这里稚晖君运用的是游戏引擎Unity——先在游戏引擎中构建一个虚拟的物理环境,赋给小车真实的的质量和重力,接着将控制算法的计算结果可视化呈现出来。


这一步验证完成之后 ,还有一个sim2real的过程,也就是把仿真结果迁移到理想环境中。


其实这是一个很复杂的过程,由于理想中有更多的不确定性要素,很多状况下机器人往往在仿真中重拳出击,而在理想中「唯唯诺诺」秒变智障,这里视频中举了一个DARPA参赛作品的例子。





同理,这台车在调试的过程中也是非常艰苦的。


在这套系统中在姿态控制中,稚晖君运用的LQR控制器,方向控制运用了经典的PID算法,传感器则是对加速度计和陀螺仪数据运用了二阶的巴特沃斯滤波器之后再经过卡尔曼滤波器停止数据交融,最终得到车身姿态。


经过漫长的参数整定,终于得到了一台成熟的「自动驾驶」自行车。







那么,自动驾驶效果到底如何呢?


静态站立非常稳!






戳它也一副「我自纹丝不动」的样子





忽然在一侧添加重物照旧能保持平衡





甚至可以来点杂技动作






行进、倒退也是自始自终的稳





完成自动驾驶功能


至此,能动的基本目的曾经达成。


接上去就是引入AI,完成「一定程度」的自动驾驶。


由于这个车子搭载了深度相机,在电脑上就可以看到车子WIFI实时的RGB图传画面,再结合一些AI算法即可完成一些风趣的功能,比如说自动避障、运动辨认跟随。





另外,还有自动驾驶少不了的途径规划,此时车子搭载的激光雷达就派上了用场。


激光雷达经过测量激光发射到反射所需工夫,再乘以光速就可以获得目的的间隔地位。






由此360°成像的结果可获取摄像头愈加牢靠的深度信息,将这些数据用于SLAM图与途径规划,最后就可以完成让自行车自主探求了。






稚晖君表示这只是「非常基础」的自动驾驶设计,还有很多地方需求改进。


比如龙头的传统结构设计不太合理,假如换成谐波减速伺服电机直驱,那么行驶的波动性将大幅度提升。


另外受限于整车功率,这套系统目前还无法载人,就只能真·无人驾驶了,但是假如换成电动车能够就不一样了。


稚晖君给这辆自动驾驶自行车取名XUAN(eXtremely Unnatural Auto-Navigation),同时也是「轩」的意思,由于「轩」在古代是车子的意思。


目前该项目曾经在GitHub上开源,感兴味的冤家可以前往下载。




并非第一辆「成精」的自行车



当前假如你在早晨看到一辆自行车「鬼鬼祟祟」,不要惊慌,那只不过是一辆「成精」的自行车。


而这其实并不是第一辆成精的自行车。






2019年8月1日,《自然》封面文章引见了清华大学在通用人工智能上的新尝试:一款名为「天机」的全新芯片架构,结合类脑计算和人工智能算法,展现了一辆由新型人工智能芯片驱动的自动驾驶自行车。


实验中,无人自行车不只可以辨认语音指令、自动控制平衡,还能对后方行人停止探测和跟踪,并自动避开妨碍。






没错,不只能自动避障,还在追逐目的,这速度也是相当快了。




「野生钢铁侠」稚晖君


最后来重点引见一下稚晖君本人。






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


在微信搜索公众号,带你一同进入黑科技的世界…

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评5

牛了![赞]
回复

使用道具 举报

Lee靓妹 2021-6-11 09:22:44 显示全部楼层
niu
回复

使用道具 举报

1v1飘过
回复

使用道具 举报

正气存内 2021-6-13 10:56:45 来自手机 显示全部楼层
传说中的沙发???哇卡卡
回复

使用道具 举报

@Xizi_MZoDWffA 2021-6-14 07:11:39 显示全部楼层
唉?楼主写完了?不打算多写点么?
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies