轩,自动驾驶自行车!

20|4评论|2116人气|10收藏|2021-06-12 13:07:51
高手在民间

谁能料到,一辆自行车最硬核的打开方式
竟然是自动驾驶


图片


单侧加个板砖?小场面:


图片


毕竟,它是连高难度“杂技姿势”
都能hold住的自行车


图片


没事走两步?
可以有,还是会自己拐弯的那种


图片


避障、上路
可以说是毫无压力


图片


甚至该设计师还给它配备了
特斯拉都没有的激光雷达
而这个就是B站UP主“野生钢铁侠”稚晖君
耗时4个月(周末)时间
打造出的全新项目XUAN (轩)


图片


短短几天,播放量就已超过150W
硬核、复杂程度之高
直接看呆一众网友
来感受一下这个画风

图片

连B站老板陈睿都被吸引而来:

图片

甚至业内人士也直呼
“任何一个部分拿出来都是一篇本科毕业论文。
还有实物,硕士毕业绰绰有余……”


图片

稚晖君到底是如何打造的
这么一台“赛博朋克”自行车?
接下来,让我们一起一探究竟
(你可能还很关心它的价格,别着急,文末揭晓~)


把自行车做成自动驾驶,共分几步?

稚晖君选择的自行车
是大家非常熟知的死飞 (Fixed Gear)
这种自行车的一大特点
便是结构简单、没有刹车
于是,稚晖君先对死飞
进行了一个CAD建模的工作

图片

建模工作完成之后
便得到了一辆虚拟自行车
此后的所有改造工
便可以在计算机上完成
整体来看,XUAN的诞生一共分为三大步


  • 硬件改造:因为自行车是一个欠驱动系统,所以先要做的就是让它站稳,然后跑起来。这一步将涉及一套复杂的自动控制系统。

  • 智能化:毕竟自动驾驶嘛,“工具人”就得被抹去。因此,这一步便是搭载一整套传感器组成的感知网络,以及一个算力足够强大的计算芯片作大脑。

  • 软件和算法:最后一步,便是在上述的硬件基础上,开发、实现一套感知和控制算法。稚晖君称之为“注入灵魂”。






图片

Step by Step
先来看下第一个大问题。

自行车怎么自己保持平衡?

在骑自行车的时候,前后方向的平衡
靠得是2个轮子的支撑和地面摩擦力
而左右方向上,运动过程中
靠的是龙头的左右调节
获取转向的加速度,以此抵消重力的影响
像这样:

图片


那么在静止状态下呢?
稚晖君给出的思路便是——角动量守恒
简单来说,当车子在重力作用下发生倾倒
就用动量轮来产生一个相反力矩
抵消掉重力力矩
具体而言,稚晖君在这辆死飞座位下方
安装了一个无刷电机
目的是驱动一个金属的动量轮

图片

而在座位后方,他也安装了一个无刷电机
这个目的则是靠摩擦力来驱动后轮
让自行车整体前后运动

图片

稚晖君本是想用3D打印
来完成这两个零件的加工
但碍于材料硬度和刚性不足
所以金属材料成为了此次的首选
(所幸,稚晖君朋友家里“有厂”,问题迎刃而解)
而后,便是快乐的组装环节:

图片

OK,自行车的平衡问题,就此解决

自行车的“机器大脑”

硬件框架有了,想让自行车能跑起来
甚至能认路,下一步就是上“脑子”
跟人类相似,机器人也分“大脑”和“小脑”
简单来说,小脑用来控制实时行动
大脑则负责耗费算力、高时延的感知和决策。
这一回,稚晖君给自行车上的“小脑”是ESP32
ESP32是一种低成本、低功耗的单片机控制器
集成Wi-Fi和双模蓝牙

图片

基于FreeRTOS(一个开源嵌入式实时操作系统)
稚晖君搭建了小脑的RPC通信框架
用来实现传感器的数据处理
以及电机的控制算法
“大脑”则是昇腾310
这是昇腾系列的边缘计算芯片
基于达芬奇架构
最高能够提供22TOPs的算力

图片

大脑的算法开发
主要基于昇腾AI栈和ROS
(机器人操作系统)实现
于是,在深度相机、激光雷达
传感器的帮助之下
这辆自行车能够检测出周围的物体
实现避障和跟随

图片

还能够机智地识别地形
给自己规划路径

图片

自行车的“机器心脏”

当然啦,“成精”的自行车
不仅要有头脑,还要有一颗强劲的“心脏”来驱动它工作
而XUAN的“心脏”来自稚晖君的另一个项目
Ctrl-FOC矢量控制驱动器
这是一个超迷你双通道无刷电机驱动器
单路最大驱动电流能超过100A

值得一提的是,稚晖君的这一FOC驱动
有两个版本的设计方案
其中一个版本,电路设计为上下叠板设计
将逻辑单元和功率单元分开
也就是说,只需要替换掉驱动电路
就可以匹配更大功率的电机
具体到XUAN这个项目
下图中这么大点的驱动器
最终实现了两路共100A的无刷电机FOC控制
还驱动了车头60kg扭力舵机和散热风扇

图片

最后,注入灵魂

万事俱备,但想要上路
至此还少了一点炼丹的灵魂——调参
稚晖君表示,这辆自动驾驶自行车的控制代码中
有超过50个重要参数
包括控制周期、反馈矩阵、PID增益
滤波器截止频率等等
此外,电机的功率、重心的分布等物理参数
也都会对最终的效果造成影响。
稍有不慎,那自行车就不是稳如老狗那画风了……

图片

在数学建模之后,稚晖君还采用了
游戏引擎Unity作为仿真环境
像正经自动驾驶研发那样
先在仿真环境里让自行车跑了个踏实

图片

总之,让一辆自行车成熟起来
自己上路,够不容易的
就有网友表示:
“人傻了,毕业设计题目是
自行车自平衡系统设计,做到调参就不会了”

图片

不过,受限于整车功率
目前这辆自行车还不能载人
另外,也有网友提出
用动量轮来控制平衡属于某种意义上的作弊
对此,稚晖君回应:现在的龙头传动结构设计不太合理
之后会尝试只用龙头控制平衡

图片

为什么要造XUAN?

有关“栈溢出工程师”、“野生钢铁侠”稚晖君
想来关注B站科技区的小伙伴们已经很熟悉了
稚晖君本名彭志辉
2018年毕业于电子科技大学
2020年通过“天才少年计划”加入华为
他的视频向来以硬核著称
比如从手画PCB到写C++代码
全部一人搞定的套娃小电视
辣么这次,稚晖君又是怎么萌发了
打造一辆自动驾驶自行车的念头的呢?
理由有些“暴力”……
“骑车不小心摔了,脸刹着地……”

图片

稚晖君表示,“这事不能就这么过去了”
于是乎

图片


当然,稚晖君本人也在视频中表示
其实很早就有设计这种自行车的想法。
最初是因为看到清华大学的那项自行车研究
可以跟随人类,敏捷避开障碍物
其背后的类脑芯片“天机”
也于2019年8月登上Nature封面

图片

好奇的小伙伴肯定会问了
二者有何区别?
首先,是原理不太一样
清华的自行车模仿的是人类行为
没有使用动量控制
而稚晖君的“轩”则涉及到了动量控制

此外,在龙头方面
稚晖君表示在改进过后
也可以实现清华的控制方式
(移动过程使用龙头平衡,静止状态使用动量平衡)。
但最核心的一个区别就是
清华打造的自行车背后,核心是类脑芯片
对此,稚晖君表示:
“他们的工作很厉害,我这个无法类比
只是受他们启发做了个类似的应用”
为了体现跟清华工作的区别
稚晖君本人还在项目名字上下点了功夫。
XUAN里的“U”
代表的意思是unNATURAL
“正经翻译”就是——没上过Nature……


赞赏

小小心意,大大鼓励

10收藏文章 20赞起来+1

品悟设计

其他 · 浙江省 金华市 婺城区

热门文章

新能源充电桩设计

2赞  2评论  535人气

极简产品设计

7赞  0评论  590人气

查看更多

留言板(4

添加表情
登录后评论 添加图片
    最新 最热
    孔乙己 2022-02-08
    举报 回复

    为未来的智能骑行体验提供了载体平台

    🆔傻仔👺🤏 2021-10-26
    举报 回复

    简随工业设计 2021-06-24
    举报 收起回复

    XUAN里的“U”
    代表的意思是unNATURAL
    “正经翻译”就是——没上过Nature……
    哈哈哈哈哈哈哈哈哈哈哈

    品悟设计 作者 2021-06-24
    举报 回复
    哈哈,是的
    我也说一句

    你可能还喜欢 换一换

    收藏
    创建收藏夹

    创建收藏夹

    收藏夹名称
    确定

    举报评论

    恶意辱骂,诋毁
    垃圾广告信息
    黄赌毒,诈骗信息
    政治敏感问题
    其他原因
    提交
    留言 点赞 收藏 分享

    品悟设计

    小小心意,大大鼓励

    赞赏金额

    ¥ 1
    ¥ 5
    ¥ 10
    ¥ 50
    ¥ 100
    其他

    赞赏金额

    微信
    支付宝
    确认支付

    最高赞赏200元

    支付宝支付

    使用支付宝扫描二维码完成支付

    微信支付

    使用微信扫描二维码完成支付

    余额支付

    当前余额:¥0.00

    支付操作会向你普象账户的注册手机号发送验证码
    请注意查收

    发送验证码
    确认支付
    支付成功
    关闭