网站大量收购闲置独家精品文档,联系QQ:2885784924

“未来之星”实验指导书(第二版)课案.docx

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“未来之星”实验指导书(第二版)课案

实验三串口通讯控制机器人[实验目的]在前一实验基础上,利用现有的框架代码,学习基本的机器人控制。[实验配置]1、装有windows系统的PC一台2、安装 Visual C++ 6.0 3、安装与机器人控制方式相对应的无线通讯设备4、机器人处于可运行状态[实验步骤]1、按实验二建立基本的对话框界面。2、引入控制类将 IPhy.h SerialCom.h SerialCom.cpp FstarCmd.h FstarCmd.cpp IBehavior.h, NetSend.h,NetSend.cpp拷贝到工程文件夹内(FstarTest)。由于CFstarCmd类中包含 有CNetSend 类的对象,所以一并加入。另外,CFstarCmd类中用到了PlaySound 函 数,要正常编译,必须在工程中连接 winmm.lib 库,并在 stdafx.h 头文件中包含 mmsystem.h,如图所示。图 3.1连接库文件图 3.2包含头文件向工程中引入串口类、协议类,行为类和网络发送类,即刚才拷贝的几个文件,这些类即可构成一个完整的机器人控制系统。 要使用这些类,我们还需要将其实例化,即在主窗体内创建他们的对象。首先在主窗体头文件引入控制类的头文件,然后在主窗体类的声明里生成三个类的对象。图 3.3向工程中添加文件图3.4 选取添加的文件图 3.5包含头文件图 3.6实例化控制类3、硬件层与协议层对接硬件通讯层和协议层的类已经实例化,要使他们工作起来还得进行对接。对接工作很简单,通过CSerialCom的SetCmd函数接口将协议类地址指针传递进去即可。图 3.7 硬件通讯层与协议层对接4、建立控制按钮下面我们需要界面上的一些按钮来控制机器人的具体行动。在主窗体上建立5个按钮控件,分别对应前进、后退、左转、右转和刹车。图 3.8绘出按钮图 3.9前进按钮控件属性图 3.10后退按钮控件属性图 3.11左转按钮控件属性图 3.12右转按钮控件属性图 3.13刹车按钮控件属性图 3.14修改后的界面图3.15添加映射函数相应的可以添加其他四个按钮的响应函数,如下图:[小结]图3.16函数体我们已经能够控制机器人进行基本的移动了,要实现自主功能还需要借助传感器。实验四基于避碰开关的漫游行为设计[实验目的]能从机器人底层获取传感器信息并显示在软件界面上,为机器人决策提供依据。[实验配置]1、装有windows系统的PC一台2、安装 Visual C++ 6.0 3、安装与机器人控制方式相对应的无线通讯设备4、机器人处于可运行状态5、配置了避碰开关且工作正常[实验步骤]1、按实验三建立已包含串口类、协议类和行为类的对话框界面。2、绘制窗体显示控件,添加相关变量。为了直观的显示返回数据,我们需要在界面上设置四个图标。这里我们使用 Picture 控件。为了形象的显示避碰开关的状态。我们首先给程序新建两个图标,红 色的表示避碰开关按下,绿色表示避碰开关未比按下。图 4.1避碰开关未按下的图标图 4.2避碰开关按下时的图标图 4.3 避碰开关未启用时的图标添加完图标后,为了便于使用。我们在主对话框类 CFstarTestDlg中添加三个变量保存图标。如图4.4。其中类CFstarCmd中应经添加,仅需要初始化,如图4.5。图 4.4添加图标变量图 4.5 图标变量的赋值添加完图标变量后,在界面上按下面步骤添加控件。首先删除“确定”和“取消”按钮。图 4.6添加控件其中“避碰开关”“障碍方位”为静态文本控件,只需修改属性-〉标题即可。图中的4 个灰色方框即为Picture控件。属性设置如下:图 4.7 左前方避碰开关对应的Picture 控件属性图4.8右前方避碰开关对应的Picture控件属性图4.9左后方避碰开关对应的Picture控件属性图 4.10 右后方避碰开关对应的Picture 控件属性图4.11 漫游行为开始按钮属性图4.12 障碍方位静态文本控件属性设置添加完控件后,为四个Picture 控件和静态文本控件添加相关变量。图 4.13给控件添加相关变量3、自动显示功能的实现给“漫游开始”按钮添加消息响应函数。这里只用一个按钮同时实现行为开始和终止功能,具体实现见下图。图 4.14添加按钮消息响应函数图 4.15按钮消息响应函数的实现4、编译运行程序。打开对应的端口后。点击“漫游开始”后,机器人即可开始漫游行为,同时按钮文 本变为“终止漫游”。机器人行进中,如果避碰开关触到障碍,机器人就会后退并改变前进方向。再次点击按钮,即可终止漫游行为。如果想要了解漫游执行的具体策略,可以在 CFstarCmd 类中,m_AwayObstacle函数中查看源代码。因为只有4个避碰开关,总共只有16种状态,在函数m_AwayObstacle中,分别对 16

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档