5241| 7
|
[动态] 流浪地球 球形方向盘 |
本帖最后由 虚怀若谷 于 2024-3-4 16:27 编辑 流浪地球 球形方向盘简介:在赛车游戏中模拟流浪地球的球形方向盘操控体验。该设备采用先进的正交三飞轮驱动系统,同时配备自主研发的高性能FOC大电流驱动板技术,以确保实现精准的三维空间姿态实时控制。 描述流浪地球 球形方向盘 ——by sytnocui 2023/10/18 v1.10. 悲催往事如果你打过2021年的电赛,你一定知道元器件清单里有一项是亚克力球,当时所有人都猜题目是球型机器人,一时间B站遍地都是球形机器人的视频,我们也为此屯了一堆的亚克力球,为了买球少说就花了200块钱。但可能因为疫情推迟比赛等原因,最后控制题却是一个和亚克力球毫无关系的医院物流小车。在我们破大防的同时,那一堆亚克力球怎么处理就成了问题。 亚克力球滞销,救救我们!!! 1. 项目说明本项目旨在做出球形版的平衡立方体。在总体架构上,使用三个无刷电机带动三个正交安装的飞轮,并将整个球至于由三个全向轮构成的底盘上。全向轮允许前进方向和轴向的运动,则三个全向轮构成的底盘即可允许平衡球在上面做三自由度全姿态自由机动。球在全向轮底盘上,利用角动量守恒的原理实现球在底盘上的全姿态自由机动。另外,项目做出的平衡立方体还能链接电脑,作为方向盘游玩各种赛车游戏,其操作与流浪地球中的方向盘类似。 2. 开源协议本项目使用 CC-BY-NC 3.0,转载请标明出处,不可用于商用 CC:知识共享许可协议 BY:署名,您必须给出适当的署名,提供指向本许可协议的链接,同时标明是否(对原始作品)作了修改。 NC:非商业使用,您不得将本作品用于商业目的。 3. 项目属性本项目为首次公开,为本人原创项目。项目未曾在别的比赛中获奖。 另外,本项目同时也是我大四的大创项目,目前还未结题,之后会不会传给学弟去报竞赛还待商榷。 4. 项目相关功能及实物展示平衡球全姿态自由转动 平衡球三轴角速度闭环控制与助力模式 平衡球三轴姿态跟踪随动,需搭配终端完成 平衡球实时发布自身三轴姿态,可模仿流浪地球方向盘,用于游玩各种赛车游戏 5. 设计原理项目总体可分为结构设计,硬件设计,软件设计三部分 5.1 结构设计项目的结构设计理念很大程度上参考了苏黎世的经典平衡立方体: 依照上图,平衡立方体有六个面,按照离地面的远近关系,咱们可以分成上三面和下三面。可以很明显得看到,平衡立方体的三个正交飞轮安装在下三面,而电池、电路板等均安装在上三面。 根据立体几何原理,可以很顺理成章地想到正方体是有外接球的。取平衡立方体的外接球,将其六个面全部向外投影到其外接球上,就是咱们的平衡球。 依据此建立的3D模型如下: 5.2 硬件设计本项目设计有主控板,FOC驱动板,编码器板与陀螺仪板。项目硬件拓扑图如下: 其中:
5.2.1 主控板主控板为四层板,可嘉立创免费打印。主要完成WIFI无线通信,读取陀螺仪姿态,姿态解算,控制模式管理,控制算法运行等。
配套编码器板可为:ICM20602,MPU6050,ICM42688P(暂有问题,发热严重,请用icm20602模块代替) 注意:编码器板使用热熔胶固定在球的内部最顶点,与地面平行。 5.2.2 驱动板驱动板为四层板,可嘉立创免费打印。驱动板主要完成FOC速度闭环驱动。 驱动板设计参考了柠檬FOC开源板,基于GD32进行设计。 参考地址: 【新春快乐】柠檬FOC开源板 驱动板硬件部分自主设计,软件部分直接烧录柠檬FOC的代码使用。原开源项目可以通过putty串口助手设置电流闭环,速度和位置闭环模式,由于项目需要这里采用了速度阶跃变化模式。 使用原固件时注意在串口调试助手中修改电源欠压保护和速度保护参数,防止速度突变过快导致的电机停转。 驱动板参数如下:
某宝上均可以买到,估测成本价一套下来大致60rmb左右(电子元件价格可能会有变化)。 5.3.3 BIG手持终端BIG手持终端是两层板,可嘉立创免费打印。BIG手持终端主要完成远程改变控制模式,安全管理,实时状态显示,发布目标位姿等功能。 该模块对标稚晖君的PICO小终端设计,主要完成一些人机交互的功能。因为面向初学者,所有看起来比较粗野。因为PICO是微小的意思,稚晖君的PICO确实很小,但我这个手持终端却很大,所以起名叫BIG。 手持终端参数如下:
5.3 软件设计5.3.1 全姿态阻力效果在主控板上进行,利用Mahony姿态解算方法,解出实时roll pitch yaw三轴角度,并分别建立PID反馈控制。每当有某个轴上有角速度,通过PID算法在该轴上产生相反方向的控制输出。最终将三轴的PID控制输出叠加后,左乘转速分配矩阵,将其解算成三个正交安装的飞轮的转速,输出给FOC驱动板,即可在球的三自由度全姿态运动中产生阻力效果。 5.3.2 三轴姿态跟踪随动在5.3.1节的基础上,添加姿态角反馈,由BIG手持终端收集自身姿态,作为平衡球姿态的目标值,与平衡球姿态的实际值做差,构成PID控制器。最终实现三轴姿态跟踪随动。 因为全向轮底盘会给系统引入非常大的摩擦力,所以目前这个功能需要将球直接放在地面上,而不能放在全向轮底盘上进行。 考虑到纯PID效果有限,本项目之后会使用LQR等控制算法部署上做进一步对比测试。 5.3.3 作为方向盘游玩赛车游戏我们偶然发现,我们的球和流浪地球的球形方向盘非常类似,于是,使用wifi模块连接电脑,接收球形仿真器实时姿态信息,并将其使用python的vgamepad库,映射成虚拟的xbox游戏手柄的摇杆值(方向盘,油门,刹车等)。这样就可以在尘埃拉力赛2.0等赛车游戏中识别虚拟游戏摇杆,进而获得控制数据了。 因为是将控制数据封装成xbox手柄的形式,所以不管游玩任何赛车游戏,都不会有兼容性的问题。 5.4 概念设计(整活)球可以通过添加外围装饰变成很多有趣的东西,比如:
6. 注意事项6.1 软件说明本项目提供主控板与BIG手持终端的固件代码,驱动板的固件与柠檬FOC完全一致,烧录与使用也请完全参考柠檬FOC的工程: 参考链接:【新春快乐】柠檬FOC开源板 本项目所有单片机固件均使用Clion开发,如果你对Clion工程配置比较生疏,建议观看稚晖君的Clion+Stm32环境配置指南: 参考链接:配置CLion用于STM32开发【优雅の嵌入式开发】 - 知乎 (zhihu.com) 6.2 电机选型飞轮与无刷电机的选型是十分重要的,由于整个系统摩擦力很大,开源社区常见的莱洛三角形和平衡方块使用的低kv云台电机很难满足力矩需求。我在淘宝二手电机无意中发现了这款电机: 经过测试,该电机负载能力用到本项目非常合适,成本低廉(仅16元),且比较节省空间。考虑到这种二手电机经常卖完就没了,如果之后该电机售罄,可以考虑使用 大疆2312精灵电机 替代。 另外,若铝合金飞轮可以提供的反作用力矩不足,可模仿这个开源工程的方案,自制飞轮并在外边缘钻孔安装螺栓来增加飞轮转动惯量。 6.3 陀螺仪选型本项目涉及的陀螺仪板使用的是icm42688p,但是从某宝买的不同批次的icm42688p均出现虽然能读出正确的数据,但有发热严重(约60度),带来的温漂严重等问题。确认不是焊接问题,暂时不知道是不是物料问题或者硬件设计有问题。建议谨慎考虑从淘宝购买icm42688p。本项目暂时使用逐飞科技的icm20602模块充当陀螺仪板。 本项目目前使用的是从社团嫖的icm20602模块,同时球主控板也支持mpu6050接插件。三款陀螺仪的驱动代码均在工程中,但接口代码需自行更改。 7. 项目进度2023/8/30首次开源项目已完成的部分:
项目的后续计划:
8. 物资说明结构件物料清单:
整套下来价格800~1000元左右,某些零部件价格变化较大,请以实际情况为准。 视频演示设计图(欲在编辑器中打开,详见原文)Ctrl-Board-v2原理图PCBDriver-Board-v2原理图PCBEncoder-Board原理图PCBICM42688原理图PCBTerminal原理图PCBBOM(表格下载,详见原文)工程视频/附件工程成员原作者:sytnocui原文链接:https://oshwhub.com/sytnocui/ping-heng-li-fang-ti-qiu-xing-ba |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed