操控的时候格斗机器人很难走直线?饶厂长有办法!

*本文特约作者:DF创客社区—饶厂长

* 欢迎转发朋友圈,如需转载,请联系授权

DF的朋友们大家好啊, 我是饶厂长, 销声匿迹了一段时间, 又冒出来了。 之前参加的《铁甲雄心》节目第三期大家还记得么?我们的战队叫疾风,机器人取名烈焰双星, 一台是滚筒武器, 一台是喷火铲车。

玩过格斗机器人的都知道国外有一部非常全面的格斗机器人制造指南: 《Riobotz》, 写的非常详尽, 包含了工程实现, 硬件选型, 理论分析, 结构设计等等一系列经验、知识的东西。 不过这是英文版的,所以对于不擅长英语阅读的朋友们来说可能会有一些些困难。

论坛里熟悉我的朋友们应该都知道, 我是控制算法工程师, 不搞点相关的东西就难过。 相比其他几位大佬, 我在造机方面的知识乏善可陈。 但我还是有自己的一些长处的,比如我的运动控制基础很扎实。 所以这篇帖子会简单介绍一下如何设计格斗机器人的运动系统。 本文将主要介绍两轮式机器人和全向移动机器人, 履带和腿式、仿生等机器人不会cover。

两轮行走系统设计

这部分的内容《Riobotz》的教程其实讲述的非常详细。 两轮驱动的好处是转身异常迅速, 转向时摩擦做功很少, 且不需要更多的电机、轴承等占重量的零件。对于两轮驱动, 机器人在设计时可能需要两个从动轮, 类似牛眼轮或全向从动轮这种。

对于两主两从结构的机器人,主动轮应该尽量放在离重心很近的地方, 从动轮垂直排布, 四个轮子呈十字形, 就像上面那幅图片。 这样的安排能够尽量的增大主动轮上的摩擦力, 这在比赛的角力中是极其重要的。 如果摩擦力太小, 会导致打滑, 不受控, 易受冲击等我们不愿意看到的后果。

这台Ciclone的作者表示:Ciclone的轮子离重心太远, 导致主动轮上受到的压力只有重力的四分之一, 当然摩擦力也只有理论最大摩擦力的四分之一, 这让他们的机器没有获得理想的成绩。

机器设计成十字排布时有一些注意事项: 一定要确保从动轮别太高, 要是把主动轮担起来, 这样可就搞笑啦。 设计时可以留几毫米余量, 保证在凹凸不平的地面也不要担起主动轮。当然, 如果是大牛的话也可以做成悬挂结构, 有点弹性, 也可以达到一样的效果。

牛眼轮和万向从动轮在大重量级的比赛里可能会有些问题, 在受到强烈冲击的时候会瞬间损坏。 在这种重量级下, 使用螺丝的圆头做从动接触点, 也是常见的方案。 使用非金属的材料, teflon 车成半球体也是个不错的选择。

综上所述,对于两个轮的机器人, 放在重心看起来很理想, 但是想象一下机器加速的时候, 就会因加速度而做抬头的动作。 虽然很帅, 却把底盘暴露给了对手, 这不是我们想要的。 我们要如何解决这个问题呢? 下面就来做一些计算:

C1是整个机器的重心, C是轮子的中心。 C和C1的距离a = μh。 h是重心离地高度, μ是轮胎与地面摩擦因数。 这个摩擦因数是可以通过实验测量的。 假如电机超强, 且机器的重量都压在轮子上, 那么最大的推力就是Fμ(F是整机重量)。 h等于轮子半径, 旋转力矩估算为 Fμh。 当a≥μh时, 机器是不会抬头的。

但是两轮系统有一个致命缺点: 操控的时候很难走直线! 尤其是装备横转武器后, 更是难以操控 。 关于这个问题,饶厂长有办法, 最后一部分会讲到。

全向移动系统设计

全向移动的机器有几个很有名, 一个是这次参赛的蓝调, 一个是国外的Alchoholic Stepfather, 这个Stepfather可是曾经战胜过墓碑的机器, 非常荣耀的一战。

常用的全向移动的方式有三种:

1, 三个万向轮, 120度角排布。 我的烈焰双星就是这样排布的。

2. 四个万向轮, 十字排布, 老船长就是这么设计的。

3. 四个麦克纳姆轮, 蓝调和stepfather都是这种。

斜对角的从动滚轮必须要平行, 否则会降低效率。

从优劣来说, 万向轮的移动更平滑, 更顺,但是容易被推动。 比如我的机器, 即便通上了电, 蹬一脚, 就和滑板一样窜出去了。 相比万向轮, 麦克纳姆轮就不会这样, 与对手角力时不会太吃亏。

从承重来说, 万向轮同等承重的轮子比麦克纳姆轮要贵些, 这在大重量级里面就会很吃亏了。 要是再给我一次机会, 我应该会选麦轮。 除了这个优点之外, 麦轮的结构相对更好设计, 可以设计的更加紧凑, 框架化。

对于很多玩模型的朋友, 如何控制这种轮子呢? 这就成了个难题, 像三个轮子的更是别说, 单一个遥控器想调混控达到控制效果真是很困难的。 我的做法是, 在接收机和电机信号之间加一层解算, 就能够达到想要的效果。 如何解算呢? 对于三轮的万向轮, 有:

右边变量为纵向速度, 横向速度, 自转速度, 左边为对应三个轮子分别速度。 利用这个公式, 就能解算出来了。

对于四轮的万向轮, 其实调整混控即可。

对于麦克纳姆轮也一样, 混控即可完成控制要求。

和2轮式的一样, 万向轮也很难走直线!

和2轮式的一样, 万向轮也很难走直线!

和2轮式的一样, 万向轮也很难走直线!

所以千万别以为装了万向轮就很溜, 其实不是的, 要面临和2轮一样的问题。 那么怎么解决呢?

陀螺仪偏航修正

陀螺仪是什么, gyroscope? 这里面的门道可就多了,简单来说, 就是能够监测角速度的传感器。 角速度是什么概念, 转动起来了才有速度, 有速度就能监测出来, 不动的时候当然是没有速度的了。

陀螺仪偏航矫正的实现方式有两个:

1. 购买这种模块。 但是问题在于: 反过来以后就会疯狂旋转。 如果打偏了, 也会疯狂旋转。

2. 自己加装传感器编程实现。

自己编程要如何实现呢?

Arduino格斗机器人中控系统详细制作教程!

说了这么多,就是觉得既然咱做了机器,就该把知识和技巧沉淀下来, 总不能让这些经验都只是藏在做过人的脑子里。为了把经验和知识分享出来, 王大师也邀请了很多造机高手来DF社区写格斗机器人相关的教程, 会从多个角度出发, 涵盖各个方面的知识。也欢迎伙伴们前来多多交流,共同进步!

感谢大家!

——正文完——

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180226A1G11X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券