当前位置: 首页 > 科技观察

天才少年造出一辆无人“自行车”,网友:特斯拉看到都哭了

时间:2023-03-20 16:11:22 科技观察

自行车能实现“自己走路”?自行车属于欠驱动系统,不加以控制就站不稳,自行车就成了“自行式”汽车!视频讲解的很详细,网友直呼:666666那么,智辉老师是如何打造出自动驾驶“自行车”的呢?第一步当然是让小车跑起来,这需要对硬件进行改造,增加自动控制系统。第二步是去掉司机工具,这就需要汽车配备传感器网络和具有足够计算能力的芯片,这也是整辆自行车的“大脑”。最后在前面硬件的基础上实现感知和控制算法,也就是给这台车“注入灵魂”。介绍完改装“FixedGear”的步骤,我们再详细看一下:改装对象是一台“FixedGear”(固定齿轮),结构简单,没有刹车,靠倒蹬减速。和钢铁侠造机器人一样,这种自动驾驶自行车也需要用计算机辅助工具CAD进行建模,得到虚拟自行车,或者称为自行车的数字孪生体。有了车身模型,所有的改装工作都可以在电脑上完成,只需加上“亿点”的细节,最终的改装方案就出来了:先在车上安装两台巨大的无刷电机。和一个舵机来控制水龙头。该传感器配备了RGBD深度摄像头、加速度计和陀螺仪以及激光雷达。电池采用6S航模动力锂电池,续航约2-3小时。主控计算模块置于座椅后方。驱动结构方面,控制水龙头的旋转舵机,前后方向的平衡取决于两个轮子的支撑和地面的摩擦力。左右平衡呢?骑行状态下,可左右调节龙头,获得转向加速度,抵消重力影响。休息时呢?这取决于角动量守恒。学过大学物理的同学都知道,角动量守恒定律是自然界最常见的守恒定律之一。当系统的动态角动量发生变化时,它会将力矩传递给其他物体。所以这辆自行车中间的无刷电机实际上是在驱动一个金属动量轮。其实这与卫星在太空中无摩擦调整姿态的原理是一样的。后面的无刷电机靠摩擦力驱动后轮,让车子整体前进后退。至于零件,有一些是可以3D打印出来的,但是因为这次需要的零件是比较硬的核心,3D打印塑料的硬度和刚度不适合做核心结构件,所以用来固定的零件电机是天真的。惠君依旧选择使用金属进行加工。在这里感叹一下,有一个家里有工厂,可以直接开模做零件的朋友也是很重要的!安装机器大脑所有部件安装完成后,就要安装动力系统,即主控模块和AI计算单元。与人类一样,计算单元分为小脑和大脑。小脑包括低计算能力、低延迟,并运行实时系统。大脑包括高计算能力、高延迟,并运行非实时操作系统进行感知、思考和决策。.本项目小脑采用HoloCubic中的MCU和ESP32,大脑采用升腾边缘计算芯片升腾310AI处理器,搭载达芬奇核心,可提供高达22TOPS的算力。然后,志辉先生设计了一块载板,将这两个计算单元集成在一起。电路板结构为四层设计。PCB打样后,再进行手工焊接,这也是传统的工艺流程。之后大脑和小脑通过总线连接起来,在软件上实现了一套RPC框架,方便了它们之间的通信。小脑的框架基于FreeRtos,主要实现了传感器的数据处理和电机的控制算法。简单分为三个任务:闭环控制线程、电机通讯线程、屏幕刷新线程。大脑的软件框架要复杂得多。除了整个基于Ascend的AI栈,系统还使用了机器人常用的框架——ROS,本质上是一个高性能的通信中间件。至此,电路已经有了大脑,还缺了一个很重要的模块,那就是心脏,也就是志辉老师设计的Ctrl-FOC驱动。?作为Ctrl的二代作品,它的表现还是很猛的。小体积下,实现了两颗总计100安培的无刷电机的FOC控制,还顺便带动了前置60Kg的舵机。和一个冷却风扇。至此,自动驾驶自行车的集成就完成了。志辉先生做了一个简单的总结:机器人是一个复杂的系统。设计时,科学的方法是从理论上分析机器人,即用运动学和动力学建模,通过数学模型知道什么是已知的。哪些比较容易,哪些比较复杂。例如,在这辆车的控制代码中,有50多个重要参数:控制周期、反馈矩阵、PID增益、滤波器截止频率等。所有这些神奇的数字都必须正确设置,才能使系统进入稳定且稳定的状态。快速收敛状态。还有一些物理参数的设置,比如应该选择多大的电机功率?飞轮的质量应该选择多少?重心的分布应该怎么设置才比较合理呢?他们还需要准确的数学模型作为指导。得到模型后,为了进一步验证理论的准确性,一般需要在计算机上进行仿真。这里志辉老师使用的是游戏引擎Unity——首先在游戏引擎中搭建一个虚拟的物理环境,给小车一个真实的质量和重力控制算法,然后进行可视化呈现。这一步验证完成后,还有一个sim2real的过程,就是将仿真结果迁移到真实环境中。其实这是一个非常复杂的过程,因为现实中的不确定因素比较多。很多时候,机器人往往在模拟中重拳出击,而在现实中,“伊诺诺诺诺诺”秒变弱智。这是DARPA条目的视频示例。?同样,这台车的调试过程也非常艰难。在本系统的姿态控制上,智慧君采用了LQR控制器,方向控制采用了经典的PID算法,传感器对加速度计和陀螺仪数据采用了二阶巴特沃斯滤波器。通过卡尔曼滤波进行数据融合,最终得到人体姿态。经过长时间的参数设置,我终于得到了一辆成熟的“自动驾驶”自行车。?那么,自动驾驶的效果如何呢?静态站立很稳!当你戳它时,它看起来像“我站着不动”。突然向一侧加重,仍能保持平衡?你甚至可以做一些前后移动的杂技,一如既往地稳定。下一步是引入AI,实现“一定程度”的自动驾驶。因为这款车配备了深度摄像头,可以在电脑上看到车内WIFI的实时RGB图传画面,结合一些AI算法,可以实现一些有趣的功能,比如自动避障和运动识别跟随。?此外,还有自动驾驶不可或缺的路径规划。这时候,车上配备的激光雷达就派上用场了。激光雷达通过测量激光发射到反射所需的时间,乘以光速,就可以得到目标的距离位置。从这个360°的成像结果中,可以获得更可靠的相机深度信息,这些数据可以用于SLAM地图和路径规划,最终实现自行车的自主探索。志辉表示,这只是一个“非常基础”的自动驾驶设计,还有很多地方需要改进。例如,传统的水龙头结构设计不合理。如果换成谐波减速伺服电机直驱,驱动稳定性将大大提高。另外受限于车辆的动力,这个系统目前还不能载人,所以只能是真正意义上的无人驾驶,但如果换成电动车可能就不一样了。志辉先生给这辆自动驾驶自行车取名为XUAN(极不自然的自动导航),也是“轩”的意思,因为“轩”在古代是汽车的意思。目前该项目已经在GitHub上开源,感兴趣的朋友可以去下载。https://github.com/peng-zhihui?tab=repositories并不是第一个被“意气风发”的自行车。如果你在晚上看到一辆自行车“偷偷摸摸”,不要惊慌,这只是一辆“程静”自行车。这不是第一辆被完善的自行车。2019年8月1日,《自然》的封面文章介绍了清华大学在通用人工智能方面的新尝试:一种名为“天机”的全新芯片架构,结合类脑计算和人工智能算法,展示了一款自动驾驶自行车由新的人工智能芯片提供动力。测试中,无人自行车不仅可以识别语音指令,自动控制平衡,还可以检测跟踪前方行人,自动避障。没错,它不仅能自动避障,还能追上目标,速度还挺快的。