找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 20855|回复: 12

[交流] 如何提高FLL比赛机器人的稳定性

  [复制链接]
发表于 2018-4-20 16:57:09 | 显示全部楼层 |阅读模式
   
       参加FLL竞赛项目的人,都会体会到乐高器材工作的稳定性是个大问题。在赛场上常常会听到有人很郁闷的说:“在家里调的好好的,到这里就不行了。”
      乐高器材是塑料件,并且采用拼装的连接方式。这就注定了结构件的强度,精度,稳定度不会太好。再加上目前常用的主控器EV3端口仅仅四个输入,马达内部齿轮间隙很大,计数器内部反馈,种种因素,使得机器人工作稳定性不高。在家里调试得很好,往往比赛中就出问题了。尤其在科协全国赛上,五、六场比赛中只要一次有较多的失误,就很难取得好名次了。
      所以,在FLL比赛方案设计中,如何提高机器人的稳定性,是一个很重要的方面。
      那么,怎么样提高机器人的稳定性呢?这里介绍一下我的几条经验。
      首先,设计制作机器人结构件时要尽量做得牢固,前后左右上下多处连接紧固,多采用带拐角的零件,多用些插销。使结构不易松散变形。形状稳定了,性能才可能稳定。
      其次,在设计完成任务的方案时,充分认识到机器人的行走和动作具有较大的误差,尽可能让设计方案具有较大的容差范围。这样当机器人行动出现误差时,还能够完成预定的任务。比如,我们要机器人到某处放一个物品,机器人行走到该处会有1-2厘米的误差,那么设计方案就要考虑机器人在2厘米变化的范围内都能放准的办法。
      第三,也是重点,就是要想方设法消除误差,尤其是积累误差。
      前面两点是基本原则,要努力去做到,但不是能完全实现的。塑料件拼装,再牢固也比不上金属件的强度和稳定性。容差范围有许多客观限制,不可能随心所欲的放宽。所以我们只能在第三点上多花功夫,多采取一些措施。
      机器人独立行走时必然会有一定的误差。尽管EV3主控器能通过马达计数器的反馈来控制马达的旋转角度,但是轮胎与地面的相对运动无法控制和矫正。一个简单有效的方法就是让机器人沿着边框行走,这样误差会小很多。有人寄希望于陀螺仪。且不考虑乐高陀螺仪常常漂移的毛病,就精度而言,就不够要求。乐高陀螺仪的分辨率是百分之一。在偏差正负1度内是没有读数变化的。也就是说,当机器人直走一米时,左右偏差在正负1厘米范围内。这样的精度在要求高的场合是不能容忍的。所以还是靠边框行走最可靠。
      问题是机器人不是到处都有边框可以依靠。在无法利用边框时,要不断的想办法来消除误差的积累。利用固定的场地模型,一小段边框,黑线,场地图案等等,让机器人重新定位。这样,前面的行走误差就消除了。不断的刷新,机器人就不会产生较大的误差,再配合前面的措施,比赛的稳定性就大大的提高了。
     下面举个例子说明一下。参考视频。(这是一个稳定方案中最不稳定的一步)
     机器人依靠边框和基地图案确定好出发位置,可以大致保证误差不是太大。但是实际上还是存在误差的。我把它分解为纵向的误差Y和横向的误差X。在机器人经过中间的黑线时,光感反馈让马达计数器重置,消除了大部分的误差Y。接下来机器人转弯,采取了减少误差的子程序,使转弯误差较小,同时转弯后行进距离不大,能保证误差在较小的程度。在机器人转弯后走向井盖时,利用光感检测灰色的“河流”,消除了横向误差X。这样机器人来到井盖前的位置基本不变,保证了翻井盖的成功率。
      后面,同样利用“靠边框走”,“检测黑线”,“转弯子程序”,等措施,保证机器人行走的误差不大,并且不断的消除。
      虽然FLL的方案是五花八门的,但是按照上面三条思路去努力,一定会大大的提高稳定性。希望以后在FLL的赛场上常常听到有人开心的说“家里调好了,到处都很好。”
      愿这篇小文章对参加FLL活动的朋友有所帮助。本人是个“70后”,参加过多次FLL比赛,现在退休了,也乐意与FLL同行们交流,请站内信留下联系方式。


如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-4-20 21:35:40 | 显示全部楼层
学习了,谢谢楼主分享
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-4-20 21:40:38 | 显示全部楼层
非常好的帖子!我今年fll也出现了误差太大的问题!多谢楼主提供思路!另外希望楼主能共享下转弯子程序,我自己编写的转弯模块还是会出现很大的误差、
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-4-21 12:06:03 | 显示全部楼层
感谢前辈的总结,参加了本次的FLL比赛,也是遇到稳定性的问题,一直在研究尽量减小积累误差的办法,刚开始用陀螺仪,从出发开始用P控制,再加上角速度积分,但是由于陀螺仪分辨率的问题以失败告终。后来想用侧面超声波的办法进行定位直线移动,因为超声波的精确度是毫米,前后各装了一个,但是由于超声波反馈时间较长,还是达不到预期的精准,但是我觉得这个沿着这个思路可以继续做下去,希望可以和您共同探讨这方面的问题。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-4-22 11:04:44 | 显示全部楼层
感谢分享经验
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2018-4-22 11:05:17 | 显示全部楼层
超声波传感器的精度其实并不高,因为在实际使用中不能保证传感器始终垂直反射面。
举例:机器人侧面装超声波传感器面对墙壁,让机器人保持一定距离平行墙壁前进。当机器人走得很直,超声波始终垂直墙壁,走得很好。一旦机器人有些偏向墙壁,传感器不再垂直墙壁,读数就会偏大,主控器会误判机器人远离墙壁了,会发出指令让机器人转向墙壁,几个循环下来,机器人就撞墙了。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-4-22 12:53:53 | 显示全部楼层
感谢分享,有空方便加联系,交流
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-4-26 17:37:39 | 显示全部楼层
多谢您的分享,很有帮助
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2018-4-29 10:41:06 | 显示全部楼层
不用谢,互相学习交流。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-5-9 20:14:08 | 显示全部楼层
今年也是第一次参加比赛,主要的想法是从程序上突破,所以车体结构做的非常简单,EV3官方的小车改了改,做出来一个“铲斗”,需要经常转弯。
程序方面主要用的方法有:
1.大段直行的时候使用陀螺仪修正偏差,虽然会修正角度,效果不是特别好,会有横向的偏移。
2.定位使用光感在黑线处进行垂直矫正,这个程序写的不是很好,效果一般,只能做到不是偏斜的很多。
3.转弯使用陀螺仪转弯,也是会有误差,只能通过降低速度,来提高精准度。
4.定位使用了靠墙定位,让车后退顶边墙,起到一种矫正作用,但是因为直行积累的误差,导致位置还是会有变化。
谢谢您的分享,也希望和您交流交流。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2018-5-10 06:45:07 | 显示全部楼层
鲸屿。 发表于 2018-5-9 20:14
今年也是第一次参加比赛,主要的想法是从程序上突破,所以车体结构做的非常简单,EV3官方的小车改了改,做 ...

你已经考虑了一些细节,很好。陀螺仪本身精度有限,出现误差是正常现象,要靠其他方面来补救。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2020-4-26 16:59:29 | 显示全部楼层
可以加好友交流一下吗 qq1065459522
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2020-5-29 17:22:16 | 显示全部楼层
学习了 感谢前辈分享 可否加个微信进一步请教?15051803634
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-12-22 11:24 , Processed in 0.483085 second(s), 19 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表