好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

电脑鼠使用说明.doc

17页
  • 卖家[上传人]:壹****1
  • 文档编号:547302996
  • 上传时间:2023-01-15
  • 文档格式:DOC
  • 文档大小:794.51KB
  • / 17 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 电脑鼠使用说明1界面简介:2传感和运动控制模块说明:功能:初始化电脑鼠硬件,以及清零电脑鼠的记忆内存参数:双击设置四个参数,分别为初始X坐标、初始Y坐标、初始方向、迷宫大小相应地一般设置为0、0、MazeUP、8功能:电脑鼠待机,静止不动参数:时间(毫秒),默认值是100功能:电脑鼠搜索前进、不断检测周围迷宫信息参数:前进格数、速度、显示数据、遇到岔路是否停止,前进格数一般设置为迷宫边长的一半、速度值一般设置为100步/秒、显示数据就是现实墙壁的信息、一般情况下设置遇到岔路停止功能:电脑鼠转弯参数:转向、速度,转向分为四个方向,也可以设置为变量,速度一般设置为50功能:获取电脑鼠当下在迷宫中的位置信息及运行方向参数:自动获取功能:获取单元地图的墙壁信息选择地图获取方式:单元地图的存储值,单元的某一方向是否存在墙壁,单元是否已被搜索过 需要输入的量为单元X和Y坐标,墙壁方向参数:X、Y坐标、墙壁方向值,X、Y坐标都是根据相应的函数GetMouseCoorX()和GetMouseCoorY()自动获取的,墙壁方向值就是想要获取的墙壁方向功能:获取输入的按键ID参数:按键从1到4功能:提供三种数据显示方式:显示电脑鼠和迷宫的信息(坐标,方向,单元地图);显示红外传感器和电压数据(调试用);在1~4位上显示自定义的信息(十六进制00~FF)。

      参数:基本上是测试、调试、研究、创新的时候才用功能:选择相对方向和绝对方向之间的转换方式,需要输入要转换的方向和电脑鼠当前的运动方向参数:输入要转换的方向,可以选择变量,然后通过函数GetMouseDir()自动获取当前运行方向,最后赋值到相应的变量里面功能:通过对传感器数据进行标定来调整电脑鼠在迷宫中的运动控制每一个标定组所对应的参数调整请参照说明书的详细介绍参数:四个选项对应相应的标定项目3迷宫简介:迷宫是由18cm×18cm的方格组成,其行列各有8个方格最左下角的一格我们规定为原点(0,0),坐标依次从左从右、从下至上如图3-1所示增长在程序中,我们规定:以电脑鼠放到起点时的方向为参照,此时电脑鼠的正前方为Y轴正方向,正后方为Y轴负方向,右方为X轴正方向,左方为X轴负方向,这种状态称为MazeUP,如图3-1所示:(2, 0)(1, 0)(0, 0)(0, 1)(0, 2)(7, 0)图3-1 迷宫简化图4初级教程:电机控制,电脑鼠基本运动下列程序控制电脑鼠先待机1000ms(1s)再以速度50搜索前进4格,然后以50的转速向右转,最后以100的速度继续搜索前进3格如图4-1所示:图4-1 初级程序流程图具体操作步骤:1) 新建项目,命名项目名称,确定,一个新项目建成了;2) 在出现的界面里会有一个main函数,图形化就是Begin,在其下面首先拖入模块“初始化”,双击该模块,并输入初始化数值,如图4-2所示:图4-2 初始化3) 拖入“悬空等待”模块,让电脑鼠等待1000ms,双击该模块,将默认的100改成1000,如图4-3所示:图4-3 悬空等待4) 拖入“搜索前进”模块,双击并输入参数,上下连接,如图4-4所示:图4-4 搜索前进5) 拖入“直角转弯”模块,双击该模块并且输入参数,然后连接到上一模块,如图4-5所示:图4-5 直角转弯6) 拖入“搜索前进”模块,双击并输入参数,如图4-6所示:图4-6 继续搜索前进7) 连接所有模块,将光标移动到模块下边缘,按住鼠标左键,光标出现十字叉,往下拖到另一模块上边缘,同样等光标变成十字叉,松开鼠标左键,就连接成功。

      接下来通过USB线将电脑鼠与电脑相连,并且按下下载键,然后在上位机界面中点击菜单栏中的“生成”,在下拉栏中点击“编译并下载”,就会弹出下载界面并检查端口自动下载,如图4-7所示:图4-7 下载界面下载完毕后,拔掉USB线,就可以把电脑鼠放到迷宫中运行了5中级教程:下列程序控制如图5-1所示:电脑鼠先初始化,接着待机300ms(0.3s),然后进入while循环检测按键4,如果按键没有按下,则等待100ms,如果按键4被按下,则再以速度50向前运行4格,但是遇到岔路就会停止,向右转,继续前进3格,遇岔路停止流程图看不清楚可以放大)5-1 进阶教程程序1) 新建项目,设定项目名称,然后初始化、悬空等待(参照初级教程),接下来定义随机变量,可以在两处定义,菜单栏中“配置”下拉列表选择“全局变量”,或者双击Begin模块,都会弹出如图5-2所示的窗口,在“变量类型”选择“unsigned char”,变量名称自定义,如a1、a2、a3等图5-2 定义全局变量2) 拖入while循环模块,while循环是指如果条件为真则一直循环,直到条件不成立,我们定义为1就代表永远为真,循环是从while模块的右边边缘开始引线,如图5-3所示设定while。

      图5-3 设定while参数3) 拖入“获取按键”模块,将获取的按键(从1到4)赋值到变量a1中,如图5-4所示:图5-4 获取按键4) 拖入if模块,if模块是判断作用的,如果是1,就执行右边,如果不是就执行下面等待100ms,如图5-5所示:图5-5 if参数设定5) 参照初级教程,拖入“搜索前进”和“直角转弯”并输入相应的参数,连接起来,并且下载到电脑鼠,接下来放入迷宫中,点击按键,电脑鼠就会运行6高级教程:上0左3鼠右1下21)迷宫的方向值定义:2)相对方向和绝对方向的转换:在迷宫中运行,电脑鼠的墙壁检测返回的是其相对方向上所对应的墙壁信息,而这一值需要转换成迷宫绝对方向上的信息值,这样才能方便存储和读取迷宫信息示例如下图所示:上0左3鼠右1下2绝对方向:右1前0鼠后2左3相对方向:相对方向向绝对方向的转换表格(Dir表示电脑鼠当前运行的绝对方向)相对方向绝对方向前0Dir右1(Dir + 1)% 4 后2(Dir + 2)% 4 左3(Dir +3)% 4 3)坐标更新:既电脑鼠从一格进入另外一格之后坐标的更新:当前运动方向(绝对)坐标上(X, Y+1)右(X+1, Y)下(X, Y-1)左(X-1, Y)了解了上述基础知识后,对于进入高级编程有更大的意义,下面介绍较复杂的编程,给它取名为相对左转,具体操作如下:4)“相对左转”示例转弯策略:电脑鼠遇到岔路口时,检测墙壁信息,如果电脑鼠左侧墙壁信息显示有路,则转向它的左侧,简称相对左转;如果电脑鼠左侧墙壁信息显示无路,下一步检测电脑鼠前面墙壁的信息,结果显示有路就直行;如果电脑鼠的左侧、前方均无路,接下来检测右侧是否有路,有路就执行右转程序;最后,如果电脑鼠的左、前、右均无路,则电脑鼠向后转。

      用流程图图6-1来表示为:YN搜索前进遇到岔路口,检测墙壁信息左侧是否有路?左转开 始前方是否有路?直行Y右侧是否有路?右转YN向后转N图6-1 搜索策略流程图操作步骤:1) 打开BDS2.0图形化编程软件平台,进入操作界面,新建项目“相对左转”如图6-2所示;图6-2 相对左转项目2) 在菜单栏中点击“配置”-“全局变量”,然后定义全局变量,一般我们选择“unsigned char”,大约定义10个左右的全局变量,如果是复杂的算法,那要定义更多的变量定义变量界面如图6-3所示;图6-3 全局变量定义界面3) 在新建的项目里面会出现图形化编程界面,从左边的函数组件中拖取相应的模块放在“Begin”这个main函数下,main函数里面也可以设置变量,接下来初始化,包括迷宫大小(10*10)、电脑鼠位置(起始位置是X=0,Y=0)、电脑鼠初始朝向(朝上MazeUP)等初始信息,如图6-4所示:图6-4 初始化参数设置4) 然后设置悬空等待,时间不宜太短,也不能太长,根据具体算法决定,本次“相对左转”设置为1000ms;5) 接下来进入while循环,为了简化程序直接将while的条件是设定为1,永远为真,不停的循环,接下来就是一个按键中断程序,叫做“获取按键”,四个按键可以任意设定,从左到右依次为按键1、按键2、按键3、按键4,点击按键就可以启动电脑鼠搜索前进了;本次策略获取的是按键4,如图6-5所示;图6-5 获取按键46) 接下来就是当电脑鼠遇到岔路口停下来之后的转向策略了,根据第5步,获取按键之后,如果按键被按下,输出为1,则开始启动电脑鼠“搜索前进”,遇到岔路口就会停下来,停下来之后,电脑鼠要获取墙壁信息,判断它的前后左右是否有路,最先判断、然后判断、最后判断这就是灵活的,根据跟人喜好和想法去设计相应的先后顺序,我们称之为算法,也叫转向策略。

      这个示例所设计的叫做“相对左转”策略,就是说每遇到一个岔路,电脑鼠总是先判断它的左侧是否有路,如果有就左转,继续搜索前进,如果没有就判断前方是否有路,没有的话接下来判断右侧是否有路,如果还是没有就只有后面一条路了如何通过程序实现这一策略?首先通过“方向转换”这一模块,将目前电脑鼠的左侧转化为绝对坐标,如图6-6所示,然后通过“获取地图”这一模块判断绝对坐标左侧墙壁是否有路,如图6-7所示,图6-6 方向转换图6-7 获取地图7) 接下来将获取的数据放到变量temp3里面,通过if模块对temp3进行判断,产生的结果为有路,则往右执行,进入“直角转弯”模块,并设定参数,转向是MouseLEFT,如图6-8所示,此时在程序结尾要添加一个continu模块,目的是为了让程序回到循环的开始图6-8 直角转弯左转8) 如果没有路,则往if下面执行,接下来参照6)和7)步来添加模块,对应的只需改成检测电脑鼠前方、右侧、后面的墙壁以及更改全局变量了方法同前几步类似7传感器标定电脑鼠在迷宫环境中需要保持直线运行,它在前进的过程中会不断调整姿势,以免碰到迷宫墙壁 电脑鼠在迷宫中理想的方位和姿势是处于迷宫格的中央,且前进方向平行于墙壁,如图7-1所示。

      图7-1 电脑鼠在迷宫中的理想位置1)两侧都有墙壁时的姿态纠正策略当两侧都有挡板时,且当电脑鼠处在如图7-2、图7-3所示位置时需要对电脑鼠姿态进行纠正其中,图7-2(a)和图7-3(a)分别表示电脑鼠的位置偏离了迷宫中心(向左)和其姿态偏离了平行于墙壁的方向(向左),可以发现,这时左边传感器信号强,右边的弱电脑鼠应当向右转以回到理想的方位和姿态同样,图7-2(b)和图7-3(b)分别表示电脑鼠的位置偏离了迷宫中心(向右)和其姿态偏离了平行于墙壁的方向(向右),这时右边传感器信号强,左边的弱电脑鼠应当向左转以回到理想的方位和姿态X42X21。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.