23138| 12
|
[入门教程] 格斗机器人 运动系统设计概述 |
DF的朋友们大家好啊, 我是饶厂长, 销声匿迹了一段时间, 又冒出来了。 之前参加的铁甲雄心节目大家还记得么, 我们的战队疾风在电视上露面了1分钟, 我们的机器人烈焰双星, 一台是滚筒武器, 一台是喷火铲车。 优点是: 全向移动, 操控简单。 弱点是: 武器太小, 底盘太高, 结构太松散, 抓地太差。 什么? 这几项都是致命伤? 0. 愿景: 应王大师的邀请, 咱做了机器就该把知识, 技巧沉淀下来, 总不能让这些经验都藏在做过人的脑子里吧。 玩过格斗机器人的都知道国外有一部非常全面的格斗机器人制造指南: 《riobotz》, 写的非常详尽, 包含了工程实现, 硬件选型, 理论分析, 结构设计等等一系列经验、知识的东西。 当然, 这是英文的, 咱们英文不太好的爱好者们可就苦了。 为了把经验和知识分享出来, 王大师邀请了很多造机高手来写格斗机器人相关的教程, 会从各个角度出发, 涵盖各个方面的知识, 大家尽情期待啦。 1. 概述 论坛里熟悉我饶厂长的朋友们应该都知道, 我是控制算法工程师, 不搞点相关的东西就难过。 相比其他几位大佬, 我造机这方面知识实在是乏善可陈啊。 尽管如此, 我还是有自己的一些长处的, 那就是我的运动控制基础还是很扎实的。 所以我这篇帖子就会来简单介绍一下如何设计格斗机器人的运动系统。 本文主要介绍两轮式机器人和全向移动机器人, 履带和腿式、仿生等机器人不会cover。 2.两轮行走系统设计 这部分的内容riobotz的教程其实讲述的非常详细, 我翻译一部分: 两轮驱动的好处是: 转身异常迅速, 转向时摩擦做功很少, 且不需要更多的电机、轴承等占重量的零件。 对于2轮驱动, 机器人在设计时可能需要两个从动轮, 类似牛眼轮或全向从动轮这种。 2主2从结构的机器人的主动轮应该尽量放在离重心很近的地方, 从动轮垂直排布, 四个轮子呈十字形, 就像上面那幅图片。 这样的安排能够尽量的增大主动轮上的摩擦力, 这在比赛的角力中是极其重要的。 如果摩擦力太小, 会导致打滑, 不受控, 易受冲击等我们不愿意看到的后果。 这台ciclone的作者自己表示, 这台ciclone的轮子离重心太远, 导致主动轮上受到的压力只有重力的四分之一, 当然摩擦力也只有理论最大摩擦力的四分之一, 这让他们的机器没有获得理想的成绩。 当然, 机器设计成十字排布时有一些注意事项: 一定要确保从动轮别太高, 把主动轮担起来了。 要是这样可就搞笑啦。 设计时可以留几毫米余量, 保证在凹凸不平的地面也不要担起主动轮。当然, 如果是大牛的话也可以做成悬挂结构, 有点弹性, 也可以达到一样的效果。 牛眼轮和万向从动轮在大重量级的比赛里可能会有些问题, 在受到强烈冲击的时候会瞬间损坏。 在这种重量级下, 使用螺丝的圆头做从动接触点, 也是常见的方案。 使用非金属的材料, teflon 车成半球体也是个不错的选择。 综上所述,对于两个轮的机器人, 放在重心看起来很理想, 但是想象一下机器加速的时候, 就会因加速度而做抬头的动作。 虽然很帅, 却把地盘暴露给了对手, 这不是我们想要的。 我们要如何解决这个问题呢? 下面就来做一些计算: C1是整个机器的重心, C是轮子的中心。 C和C1的距离a = μh。 h是重心离地高度, μ是轮胎与地面摩擦因数。 这个摩擦因数是可以通过实验测量的。 假如电机超强, 且机器的重量都压在轮子上, 那么最大的推力就是Fμ(F是整机重量)。 h等于轮子半径, 旋转力矩估算为 Fμh。 当a≥μh时, 机器是不会抬头的。 但是两轮系统有一个致命缺点: 操控的时候很难走直线! 尤其是装备横转武器后, 更是难以操控, 。 饶厂长有办法, 最后一部分会讲到。 3. 全向移动系统设计 全向移动的机器有几个很有名的机器, 一个是这次参赛的蓝调(好好期待哦), 一个是国外的alchoholic stepfather, 可能拼错了别介意。 这个stepfather可是曾经战胜过墓碑的机器, 很荣耀的一战。 常用的全向移动的方式有三种: 1, 三个万向轮, 120度角排布。 我的烈焰双星就是这样排布的。 2. 四个万向轮, 十字排布, 老船长就是这么设计的。 3. 四个麦克纳姆轮, 蓝调和stepfather都是这种。 斜对角的从动滚轮必须要平行, 否则会降低效率。 优略来说的话, 万向轮的移动更平滑, 更顺,但是容易被推动。 比如我的机器, 即便通上了电, 蹬一脚, 就和滑板一样窜出去了。 相比万向轮, 麦克纳姆轮就不会这样, 与对手角力时不会太吃亏。 承重来说的话, 万向轮同等承重的轮子比麦克纳姆轮要贵些, 这在大重量级里面就会很吃亏了。 要是再给我一次机会, 我应该会选麦轮。 除了这个优点之外, 麦轮的结构相对更好设计, 可以设计的更加紧凑, 框架化。 对于很多玩模型的朋友, 如何控制这种轮子呢? 这就成了个难题, 像三个轮子的更是别说, 单一个遥控器想调混控达到控制效果真是很困难的。 我的做法是, 在接收机和电机信号之间加一层解算, 就能够达到想要的效果。 如何解算呢? 对于三轮的万向轮, 有: 右边变量为纵向速度, 横向速度, 自转速度, 左边为对应三个轮子分别速度。 利用这个公式, 就能解算出来了。 对于四轮的万向轮, 其实调整混控即可。 对于麦克纳姆轮也一样, 混控即可完成控制要求。 和2轮式的一样, 万向轮也很难走直线! 和2轮式的一样, 万向轮也很难走直线! 和2轮式的一样, 万向轮也很难走直线! 所以千万别以为装了万向轮就很溜, 其实不是的, 要面临和2轮一样的问题。 那么怎么解决呢? 4. 陀螺仪偏航修正 陀螺仪是什么, gyroscope? 这里面的门道可就多了, 说也说不完, 简单来说, 就是能够监测角速度的传感器。 角速度是什么概念, 转动起来了才有速度, 有速度就能监测出来, 不动的时候当然是没有速度的了。 陀螺仪偏航矫正的实现方式有两个, 1. 买个这种模块。 但是问题在于: 反过来以后就会疯狂旋转, 以及如果打偏了, 也会疯狂旋转。 2. 自己加装传感器编程实现, 避免已上问题 那么具体是怎么做的呢? 尽请期待下期教程, 我会分享如何使用Arduino做一个稳定可靠的格斗机器人中控。 感谢大家 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed