因为向RCJ比赛的组委会成员了解了一下搜救的历年情况,发现2楼的搜救人质任务是一个非常难解决的问题……
所以今天这节课,让两个人都进行编程任务,来解决找到罐子的任务。
今天的任务:机器人的顶端在罐子前面停下(下一次就可以用机械手将罐子夹住了)
因为机器人只有一辆。。为了让两个学生进度能均衡一些。。我在课前搭了一个轮式的机器人(不过这个机器人肯定不会用于正式比赛中的,毕竟还是学生搭的履带效果好一些)
在发图片之前。。有一些前言。。
上节课俞沐开编写了一个很复杂的程序,因为我也没办法一下子看懂。。。所以没找出其中问题出在哪里。
这节课汪运洲想了一个很简单的办法来找到罐子
上图所示,机器人一直往前(箭头方向)行走,右边一直发射超声波。如果测到了罐子,机器人就右转,去找罐子。
这确实比俞沐开的程序简单多了~
不过俞沐开的程序之所以复杂,是有原因的……这个先不讲是为啥。。
在调试自己想法的汪运洲
还在找程序错在哪里的俞沐开
今天的第一个任务,是把近处的罐子找到(在黑线上)
汪运洲测试中……诶?!好像机器人测错东西了?怎么提前转弯了?有可能是超声波的数值不稳定的缘故……把测量范围减小一点试试看~
再次测试(-w-怕出错,想先不让我拍。。。)结果确实出错了。。。
俞沐开好像找到问题原因了!原来是有地方没有跳出循环!!
跳出循环要用“标志位”的方式(-w-..编程名词。。)
汪运洲调试成功啦!
不过俞沐开提出新问题了~如果罐子在机器人前面怎么办?那么超声波不是测不到了?
这个问题提得好~其实这也就是俞沐开的程序为什么那么复杂的原因。因为他考虑的情况比较多。
汪运洲在编写了一阵子之后发现。。。确实有些不容易啊~超声波读取的数值很不稳定,所以很难检测到前方有没有罐子。
俞沐开的程序也调好了!先试试近的罐子
不过远处的罐子有些问题喔~
俞沐开的机器人好像还是没办法很好找到远处的罐子,汪运洲调试成功了~能测到前方的罐子了,但是稳定性很低= =|||
他迫不及待到正式场地试试看了~
不过。。因为是我随手搭的机器人。。。忘记考虑重心了,轮子打滑严重……看来不能在正式场地上试验,太滑了。。
啊!俞沐开成功了!!不过他觉得还不够完美,再改改
额。。好像还是歪掉了~
俞沐开调试的很不错了~他还希望再修改一下下~汪运洲用水清洗了轮子,希望能增大摩擦力,第一次确实很有效(视频没拍到),但是第二次又打滑了。。。
俞沐开终于成功了!!而且很稳定~好兴奋啊!
今天的课,让很久没编程的汪运洲熟了熟手~发现他的逻辑能力还是很强的~一下子就能编出想要的程序(只不过有些小细节要多多注意。。。端口号搞错的问题= =||)。并且重要的是,汪运洲终于知道为什么俞沐开要写那么复杂的程序了~稳定性和智能性就是导致程序复杂的原因~
并且俞沐开也自己找出了自己程序的bug~终于成功了!
PS:下周因为本人需要去南京,故停课一次。