机器人实训论述.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京信息科技大学 机器人实训实验报告 姓名:刘新菊 班级:研1206 学号:2012020176 专业:模式识别与智能系统 指导教师:张奇志 2012年—2013年第二学期 VOYAGER控制程序开发教程 一、实训目的与任务: 1.该节实验主要面向初次接触Visual C++的学生,帮助了解和熟悉Visual C++的编程环境。 2.学会用Visual C++的编译环境编写一些简单的窗体程序,为后续实验确定界面。 3.利用现有的框架代码,学习基本的机器人控制。 4.能从机器人底层获取传感器信息并显示在软件界面上,为机器人决策提供依据。 5.学习在现有框架下实现一些简单的机器人自主行为,为复杂决策奠定基础。 6.学习使用控制类读取机器人上电子罗盘的数据信息,为机器人决策提供依据。 二、实训的基本要求: 培养学生综合运用所学的理论知识和基本技能的能力,尤其是培养学生把理论和实际结合起来分析和解决问题的能力。适应实际生产的需要。培养出一批既有理论又有动手能力的人才。 三、实训的地点: 北京信息科技大学南苑实验室。 四、实训的题目: 1.熟悉VC编程环境 2.建立基本界面 3.串口通讯控制机器人 五、实训的内容: 第一部分:基于机器人的串口操作,控制,传感器数据读取 步骤: 1 首先建立串口操作,以便机器人和PC连接起来串口建立的界面。 2 建立能够控制机器人进行基本的移动的界面操作 3 建立控制机器人传感器数据读取的基本界面 4 在各个界面上添加响应函数。 程序: 打开串口的程序是: void CVoyTestDlg::OnBnClickedOpen() { // TODO: 在¨2此??添?¨a加¨?控?件t通a?§知a处?|理¤¨a程¨?序¨°代?¨2码? UpdateData(); CString str; str.Format(_T(您打得开的串口号是:“%d),m_nPort); AfxMessageBox(str); m_Com.SetCmd(m_Cmd); m_Com.Create(m_nPort); } 控制机器人移动的程序是: void CVoyTestDlg::OnBnClickedBackword() { // TODO: 在此添加控件通知处理程序代码 m_Cmd.SetBothMotorsSpeed(-300,-300);//后退 } void CVoyTestDlg::OnBnClickedTurnleft() { // TODO: 在此添加控件通知处理程序代码 m_Cmd.SetBothMotorsSpeed(-300,300); //左转 } void CVoyTestDlg::OnBnClickedTurnright() { // TODO: 在此添加控件通知处理程序代码 m_Cmd.SetBothMotorsSpeed(300,-300); //右转 } void CVoyTestDlg::OnBnClickedBrake() { // TODO: 在此添加控件通知处理程序代码 m_Cmd.Brake(1); //刹车 } 超声红外查询模块: m_Cmd.AutoQueryInfraRed(m_nInfraRedTime); //自动查询红外信息 m_Cmd.AutoQueryUSonic(m_nUSonicTime); //自动查询超声信息 处理函数: void CVoyTestDlg::OnBnClickedButton7() { // TODO: 在此添加控件通知处理程序代码 UpdateData(); m_Cmd.AutoQueryUSonic(m_nUSonicTime); SetTimer(0,m_nUSonicTime,NULL); } void CVoyTestDlg::OnBnClickedButton9() { // TODO: 在此添加控件通知处理程序代码 UpdateData(); m_Cmd.AutoQueryInfraRed(m_nInfraRedTime); SetTimer(1,m_nInfraRedTime,NULL); } 显示程序: void CVoyTestDlg::OnTimer(UINT_PTR nIDEvent) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CString strTemp; switch(nIDEvent) { case 0:

文档评论(0)

知识宝库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档