电脑鼠

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、应用相关环境下完整源代码

二、软件程序流程图

三、基于周立功源代码创新点

1、搜索时算法进行了优化,提高迷宫搜索效率;

2、搜索时速度加快并且实现了连续转弯;

3、搜索到终点后返回起点时进行搜索,进一步填充迷宫信息;

4、冲刺时速度加快并实现连续转弯,可以快速冲到终点。

四、底层驱动创新点

底层驱动的创新点主要分为两个部分,一部分是针对搜索阶段的,另一部分针对冲刺阶段。

搜索阶段:

电脑鼠搜索驱动的部分采用了分时分段分弯的三段即时驱动实现,由于随电脑鼠购买时附赠的标准程序(以下简称标准程序)的搜索驱动在直线上是以73的最大加速实现,而在入弯和出弯时都会进入每一格的中心以便实现转弯的准确,这样就导致搜索的整体速度无法提高,且对一些比较复杂的弯道无法准确通过。本程序在对标准程序作了较大的改动后很好的解决了上述问题,且在整体搜索的速度、准确度和可靠度上有了很大的提高。以下是对一些改动和创新的的分析:

一、搜索驱动方法上的改进和创新。

1、搜索驱动更有针对性。标准程序的搜索只有一套驱动mazeserch,由于本电脑鼠算法的改进创新,标准程序中的一套搜索驱动已经不能完成当前的搜索任务。本驱动部分给出了两种搜索方式,第一种用于冲刺前的第一次搜索,采用最大速度为90的快速搜索,由于速度的提升,以及配合算法的调用,搜索驱动是重新编写的三段即时驱动,即在较快速度下直线、单弯、连弯连贯即时完成的较为节省时间的一种驱动方式。而在第一次冲刺完成后搜索算法有所变化要搜索全迷宫,所以第二次搜索利用的是在标准程序中搜索驱动基础上改进的常速快速转弯的搜索驱动,通过对弯道、后转的改进能更好的完成最后的搜索。两种算法更好的针对电脑鼠算法的变化,在性能上得到了很大的提升。

2、整体搜索更快、更准。标准程序中的程序整体搜索速度最大是73,比较慢。本驱动最大搜索速度能达到90,在保证搜索准确可靠的前提下,速度得到了很大的提升。此外,由于在直线、弯道、后转处的改进使得整体驱动对坐标以及车身位置的检测调整,更可靠更稳定。

二、弯道处理做出的改动和创新。

1、转弯速度更快。标准程序的转弯方式是入弯后整个电脑鼠把转弯前需要补足的步数走完,然后速度减为零停到单元格中心位置进行原地转弯,之后加速出弯。这样使得每每遇到弯口时电脑鼠都会有个明显的停顿现象,导致速度很慢并且不能在转弯之后不能更好更快的提速。而本驱动采用了一检测到弯口补很少的步数后马上给外轮赋一个很大的速度使得电脑鼠瞬间转弯,由于整个过程是在速度还没有减为零的时候完成的,就使得转弯实现了连贯、快速。

2、转弯更准确。标准程序的转弯方式在处理前方有墙或者比较简单的转弯时由于速度很慢可以说还是比较稳定的,但是遇到十字路口或者是连弯时会出现转弯不准的现象。而本驱动采用的转弯方式类似于以内轮为轴作45度圆周运动,只要控制好步数和转弯的速度就可以实现比较准确的定点转弯。此外,本驱动在此有所创新,为了解决在转弯之前不同直线加速引起的转弯前位置不准,以及最

大程度改善通过连十字路口的准确性,此处采用了变量控制转弯之前的速度和位置,运用了3个标志控制入弯前的状态,包括入弯前是大于2步的长直道、1步直道、出弯。经过不断调试可以确保转弯的准确性。

三、直道处理做出的改动和创新。

1、直道调整更稳。标准程序的直道调整是借用定时程序每隔一定步数通过传感器信息调整车的位置,由于之前的整体速度慢所以定时调整也很慢,偶尔会出现直线车位不正影响到之后的转弯。本驱动在提高了直线速度的基础上通过对定时器的改动使得调整步数更小,调整的更及时,另外,由于提升了红外传感器检测的频率,在走直线时调整动作完成的更快,使得整体更稳。

2、直线速度更快。标准程序的直线搜索最大是73,本驱动对直线速度的控制比较有针对性,首次搜索采用了直线最大90的快速搜索,第二次搜索采用了最大速度最大为75和180结合的变速搜索,即搜索时为75,返回节点时为180,即满足了稳定也达到了在时间上的最大节省。

冲刺阶段:

为了能够使电脑鼠搜索稳定,获得正确的墙壁资料,随电脑鼠购买时附赠的标准程序(以下简称标准程序)中将速度限制在一定的范围内,在冲刺阶段由于已经存储了迷宫的墙壁资料,通过制作等高图就可以使电脑鼠回到目标点,所以我们将搜索阶段与冲刺阶段分开,提高冲刺阶段的速度,摆脱搜索阶段造成的速度限制。主要有以下创新点:

一、加速方式的调整

标准程序中搜索阶段与冲刺阶段共用一个定时器,共用一个速度调节函数,在速度调节__speedContrR与__speedContrL中将两者的速度控制区分开,开始阶段我们希望在电机允许的范围内速度能够加到最大,考虑到电机的稳定性,通过试验我们发现电机在速度达到230的时候稳定性会下降,最终确定电脑鼠能够稳定运行的最高速度为230但是根据电脑鼠开发指南中高级实验中队步进电机控制的说明发现速度达到120之后两个相邻速度之间的间隔很小,所以我们将冲刺阶段的速度调节改为在速度达到120之后,电脑鼠以加速两次的方式提速,考虑到转弯的稳定,我们最终把冲刺阶段的速度范围确定在65到230,再次经过试验时发现这样直接通过速度调节函数进行提速,电脑鼠需要姿态校正的次数明显增加,并且车体出现了很大幅度的摆动,我们在这种提速的基础上进行了改进,在直道的单元格格数达到4之后,前两个单元格采用65到120的区间内每次加速一次,在120-180之间每次提速两次,相应的倒数第二个单元格开始减速,在第三个单元格与倒数第三个单元格之间以一个电机能够稳定运行的最大速度230匀速运行,所以我们整个冲刺阶段的速度调节流程如下:

加速方式一:65到120的区间内每次加速一次,在120-180之间每次提速两次;

加速方式二:前两个单元格采用65到120的区间内每次加速一次,在120-180之间每次提速两次,相应的倒数第二个单元格开始减速,在第三个单元格与倒数第三个单元格之间以230匀速运行;

当直道所要走的单元格<4的时候,采用加速方式一,当单元格>=4的时候采用加速方式二。

二、转弯方式的创新

1、把两个阶段区分开之后,发现标准程序中开始转弯要求的速度为0,所以

相关文档
最新文档